我最近开始使用ANTLR 4.经过大量测试后,我想知道是否ANTLR 4可以解析非前缀无上下文语言。那是因为它的解析器似乎只是从输入字符串的最长起始有效子字符串中生成解析树。
例如,在该语法的解析阶段
grammar Hello;
r : 'hello' ID ;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
和此输入字符串
hello sir hello sir
,解析器似乎只解析一个 hello先生。因此,输入字符串似乎在语法中有效,但实际上并非如此。
意识到我可能已经足够了解ANTLR的事实,我已经搜索了很多关于这个问题但没有得到任何结果的信息。虽然我可能没有以正确的方式搜索它,但现在我认为最好只询问专业人士。
提前致谢。