본문 바로가기

B1:기초 Basement

모호성 (Ambiguity), 모호한 문법 (Ambiguous Grammer)

반응형

모호한 문법(Ambiguous Grammer)
동일한 문자열에 대하여 상이한 분석나무가 나타날 수 있는 문법
모호한 문법은 모호하지 않은 동등한 문법으로 바꿀 수 있으나, 모든 경우에 그러하지는 않다.

모호성 제거
연산에 우선순위를 부여하거나 모호성 제거규칙을 만든다.
연산우선순위만으로는 모호하지 않은 문법을 만들 수 없고, 결합법칙(associativity)을 사용함

결합법칙(associativity)
연산자의 우선순위가 같은 경우에 왼쪽에서 오른쪽으로 계산할지(좌측결합,left associative), 오른쪽에서 왼쪽으로 계산(우측결합,right associative)할지를 결정하는 규칙.

하나의 context-free언어를 생성하는 모든 문법이 모호하다면, 이 언어를 본질적으로 모호하다(inherently ambiguous)고 표현한다.

반응형