2012-03-03 2 views
1

ANTLR에서 다음과 같이 특정 문제를 해결하기 위해 syntactic predicates을 사용할 수 있습니다. 이것은 단지 간단한 예일뿐입니다.JAVACC 용 ANTLR 구문 술어

a : (L K)=> b 
    | c 
    ; 

b : L K 
    ; 

c : L M 
    ; 

JAVACC에서 동일한 것을 달성하는 방법을 알고 싶습니다. 감사.

답변

2

javacc에는 SYNTACTIC LOOKAHEAD라는 개념이 있습니다. 이를 사용하여 동일한 동작을 얻을 수 있습니다.

예를 들어 문법 규칙이 다음과 같다고 가정합니다. void Expr() : {} { 호출() | 바르() }

당신이

void Expr(): 
{} 
{ 
LOOKAHEAD(Call()) 
Call() | Var() 
} 

같은 뭔가 자세한 내용은

+0

http://javacc.java.net/doc/lookahead.html 감사합니다 참고하시기 바랍니다 수 있습니다 후 알 수없는 시대의 내다을해야합니다. 문제 해결됨. – Bee