2017-10-09 1 views
0

내 antlr (IntelliJ 플러그인을 사용하고 있습니다)은 내 파서 규칙의 첫 번째 표현식에 대한 모든 입력을 일치시킵니다.Antlr4 (java)가 모든 입력을 첫 번째 토큰과 일치 시키려고 시도합니다.

간단한 예 :

grammar test; 
rule : WORD '+' WORD; 
WORD : [a-z]+; 

것은 이제 테스트 :

라인 1 : 6 일치하지 않는 입력 ''기대 '+'

입력 = 'faefae은'저를 얻는다

(지금까지는 의미가 있음)

입력 = 'faefae +'0 불일치 입력 'faefae +'기대 WORD : 1

라인.

입력 = '+ faefae faefae'

라인 1 : 0 불일치 입력 'faefae + faefae'WORD 기대.

마지막 입력이 작동해야합니다. 왜 그렇지 않습니까?

도움을 많이 받으신다면, 좋은 하루 되세요.

+1

이상해 그 : IntelliJ를하고 ANTLR4 플러그인으로

는,이 얻을. 세 번째 예에서는 문제가 있었고 두 번째 예에서는 다른 오류 메시지가 발생했습니다. 질문에 코드를 추가하십시오. –

답변

0

faefae+faefae은 정상적으로 해석됩니다.

아마도 렉서/파서 클래스를 다시 생성하지 않았을 것입니다.

enter image description here

관련 문제