2013-12-13 4 views
0

antlr3을 처음 사용하고 '+'와 '-'를 특별한 기호로 받아들이는 렉서를 작성하려고하지만 '++'연산자를 볼 때 그것은 오류로 취급해야하지만 그것을 구현하는 방법을 모르겠다. 이제 아래의 스펙을 토큰 '++'를 토큰 '+'와 '+'로 토큰 화한다.antlr lexer에서 '++'단항 연산자를 제거합니다.

SPECIALSYMBOL: ('+'|'-'); 

답변

1

유지하여 SPECIALSYMBOL 그것이 파서 규칙의 경우를 처리로 : 당신이 당신의 규칙에 SPECIALSYMBOL 반복 허용하지 않는 경우 ++이 오류가 발생합니다.