小编Chi*_*ara的帖子

ANTLR 4.5 - 不匹配的输入'x'期待'x'

我已经开始使用ANTLR,并注意到它的词法分析规则相当变幻无常.一个非常令人沮丧的例子如下:

grammar output;

test: FILEPATH NEWLINE TITLE ;

FILEPATH: ('A'..'Z'|'a'..'z'|'0'..'9'|':'|'\\'|'/'|' '|'-'|'_'|'.')+ ;
NEWLINE: '\r'? '\n' ;
TITLE: ('A'..'Z'|'a'..'z'|' ')+ ;
Run Code Online (Sandbox Code Playgroud)

这个语法不匹配:

c:\ test.txt
x

奇怪的是,如果我改变TITLETITLE: 'x' ;它仍然失败,这次给出一个错误消息说"不匹配的输入'x'期待'x'"这是非常混乱.更奇怪的是,如果我替换的使用TITLEtestFILEPATH整个事情的作品(虽然FILEPATH将匹配多于我期待相符所以总的来说这是对我并没有有效的解决方案).

我非常困惑为什么ANTLR会给出如此极其奇怪的错误,然后突然出现问题时,没有明显的原因.

antlr antlr4

31
推荐指数
2
解决办法
1万
查看次数

标签 统计

antlr ×1

antlr4 ×1