ANTLR词法分析器错误:字符'\ n'没有可行的选择

时间:2012-12-03 05:59:20

标签: antlr lexer

我正在编写一个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'。

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

1 个答案:

答案 0 :(得分:2)

看起来这个问题在你的语法的其他地方:它仍然是一个尚未结束的不同元素,并且在它仍然期望完成当前元素时意外地遇到了行尾。