Antlr4 (java) 尝试将所有输入匹配到第一个标记
Antlr4 (java) tries to match all input to first token
我的 antlr(我正在使用 IntelliJ 插件)将我所有的输入匹配到我的解析器规则中的第一个表达式,这显然会导致错误。
简单示例:
grammar test;
rule : WORD '+' WORD;
WORD : [a-z]+;
正在测试:
输入 = 'faefae' 让我:
line 1:6 mismatched input '' expecting '+'
(到目前为止是有道理的)
输入='faefae+':
line 1:0 mismatched input 'faefae+' expecting WORD.
输入='faefae+faefae':
line 1:0 mismatched input 'faefae+faefae' expecting WORD.
上次输入应该有效,为什么无效?
非常感谢您的帮助,
祝大家有个愉快的一天!
faefae+faefae
将解析得很好。
您可能还没有重新生成 lexer/parser 类。
使用 IntelliJ 和 ANTLR4 插件,我得到了这个:
我的 antlr(我正在使用 IntelliJ 插件)将我所有的输入匹配到我的解析器规则中的第一个表达式,这显然会导致错误。
简单示例:
grammar test;
rule : WORD '+' WORD;
WORD : [a-z]+;
正在测试:
输入 = 'faefae' 让我:
line 1:6 mismatched input '' expecting '+'
(到目前为止是有道理的)
输入='faefae+':
line 1:0 mismatched input 'faefae+' expecting WORD.
输入='faefae+faefae':
line 1:0 mismatched input 'faefae+faefae' expecting WORD.
上次输入应该有效,为什么无效?
非常感谢您的帮助, 祝大家有个愉快的一天!
faefae+faefae
将解析得很好。
您可能还没有重新生成 lexer/parser 类。
使用 IntelliJ 和 ANTLR4 插件,我得到了这个: