이 오류하게 내 문법의 일부입니다ANTLR3 NoViableAltException
expr : func_name '(' constant (',' constant)* ')' ;
constant
: '"' (~'"')* '"';
WS : (' '|'\t')+ {skip();} ;
그리고 오류가 텍스트의이 부분에 관한 것입니다 : ANTLRWorks의 인터프리터가 나에게 다음 잎을 줄
"w9ygS99Qp_", "vuPfq6YcbX"
, 부모 노드 상수가있는 노드 :
"
w9ygS99Qp_",
"
그런 다음 NoViableAltException 오류입니다.
일반적으로, 그것은이 잎이 있어야합니다
"
w9ygS99Qp_
"
분명히, 문제는 _이 앞에있는 "나는 억제하려하기 때문에 _하지만 테 파서는 다음을 만날 때 같은 오류가 나타납니다 _ "
ANTLRWorks 1.x 인터프리터는 신뢰할 만합니다. 동일한 문법에 대해 ANTLR 3이 수행하는 것과 동일한 결과를 생성하지 않으므로 성공 또는 오류 경우에 사용할 수있는 출력을 고려하지 않아야합니다. –
좋아요, 따라서 Java에서 문법을 컴파일하고 Java에서 테스트해야합니다. 잘 이해한다면? – Pico
ANTLRWorks를 올바르게 사용하려면 ANTLR4를 사용해야합니까? – Pico