1

我正在使用一个名为 Polyglot 的编译器,它是一个高度可扩展的 Java 编译器。

我似乎在尝试编译一些测试代码时遇到了这个异常:

 "Invalid action number found in internal parse table." 

如何为解析表创建有效的操作编号?

编辑:

我通过稍微修正我的语法解决了这个问题......我在调用没有类型的方法时遇到了问题。(对不起,来晚了)现在我更好奇什么时候抛出上面的异常?什么是行动号?

4

1 回答 1

0

解析表是一个表,它描述了当给定输入在给定状态下时解析器应该采取什么动作。在每一步中,都会参考解析表来决定采取什么行动。解析表由两部分组成,动作表和转到表。动作表获取堆栈顶部的状态和输入缓冲区中的下一个符号(称为“前瞻”符号)并返回要采取的动作,以及要压入堆栈的下一个状态。解析表

所以我假设动作编号是一个代表解析表可以采取的特定动作的数字。

于 2010-05-01T19:18:10.643 回答