2010-06-10 1 views

답변

4

IIRC; 일부 언어는 ll (k) 문법을 갖지만 ll (1) 문법을 갖지 않기 때문에 일반적으로 아니오입니다. 그래서 내가 틀리지 않는다면, 모든 ll (k)가 012l (1)로 변환 될 수있는 이 될 수 없습니다. 그러나, 그것은 할 수있는 경우를 작동시킬 수있는 도구의 가능성에 대해서는 아무 것도 말하지 않습니다.


왼쪽 인수에 대한 규칙은 다음과 같습니다

A := A B | 
    A C | 
    D | 
    E ; 

가로 바뀝니다 :

A := (D | E) (B | C)* 

또는 허용하지 않는 경우 () 그룹과 * :

A := D A' 
    E A' 

A' := B A' | 
     C A' | 
     nul ; 

트릭 비꼬 행동 규칙의 번역을 다루는 방법; 귀하의 언어가 그것을 지원한다면, 람다는 거기서 약간 편리 할 수 ​​있습니다.

+0

실제로 왼쪽 재귀 및 Left-Factoring.i에 대한 처리기를 구현하는 코드 조각은 매우 간단한 문법에 대한 간단한 예제를 원합니다. – Mahdi