ANTLR 词法分析器错误:字符'n'没有可行的替代方案



我正在编写一个ANTLR解析器,试图识别来自给定输入字符串的GDB回溯输出。

我忽略了具有以下词法分析器语法的新行:

RETURN : ('r' | 'n' | 'rn') { skip(); };

但是,当我针对某些输入运行解析器时,ANTLR 会给出以下词法分析器错误:

line 20:21 no viable alternative at character 'n'
line 23:14 no viable alternative at character 'n'
line 30:21 no viable alternative at character 'n'
line 33:31 no viable alternative at character 'n'

我不确定为什么会发生这种情况,因为我已经在词法分析器中指定了""。

有人有什么想法吗?谢谢。

看起来问题出在您的语法中的其他地方:它仍在对尚未结束的不同元素进行词法,并且在它仍然期望完成当前元素时意外地遇到了行尾。

最新更新