0

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

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

RETURN : ('\r' | '\n' | '\r\n') { 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'

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

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

4

1 回答 1

2

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

于 2012-12-03T09:30:23.683 回答