【已解决】Eclipse中用Interpreter去运行Antlr代码出错:An internal error occurred during: "ANTLR Event Listener". For input string: "false"

【问题】

Eclipse中安装好了Antlr插件。

已经配置好了。

也可以编译antlr代码了。

但是结果在去调试期间:

【记录】使用Eclipse开发Antlr:如何调试antlr项目

在Interpreter中,使用Run(Java)时:

change to run java for debug_thumb

结果出错了:

An internal error occurred during: "ANTLR Event Listener".
For input string: "false"

antlr event listener has encountered a problem_thumb

 

【解决过程】

1.参考:

ANTLR parser hanging at proxy.handshake call

去把-debug选上:

enable the debug option for antlr_thumb

然后再去试试debug(Java),结果还是没有任何输出。

2. 重新去Build Project一下之后,再去Debug(Java)和Run(Java),都是错误依旧。

3.突然有点明白了,好像对于

For input string: "false"

说明是输入内容为空,无法进行测试,

所以,在调试的时候,再次在console中输入内容后,再去Debug(Java):

after input test data in console then debug_thumb

结果还是错误。

Run,也还是错误依旧。

4.参考:

ANTLR Interpreter running error

结果去找3.2的,却发现:

http://www.antlr3.org/download/

中,已经没有了。

只有3.4或更高的版本的:

antlr-3.3-complete.jar

antlr-3.4-complete.jar

antlr-3.5-complete.jar

先换成3.3的antlr-3.3-complete.jar试试:

change antlr complete lib to 3.3 version

再去Build Project一下,再去debug试试,结果还是无任何输出。

然后再去Run(Java),结果却可以正常工作了,可以生成正常的树了:

run ok can generate the ast tree

 

【总结】

Eclipse中使用Antlr时,把原先使用的antlr-3.5-complete.jar,换成antlr-3.3-complete.jar,就可以消除此处的:

An internal error occurred during: "ANTLR Event Listener". For input string: "false"

就可以通过Run(Java)去生成对应的树的图形了。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量