2010-04-29 46 views
1

我正在使用一个名为Polyglot的编译器,它是一个高度可扩展的Java编译器。异常:“在内部分析表中找到无效的操作号。” Polyglot异常

我似乎已经运行到这个异常,而试图编译一些测试代码:

"Invalid action number found in internal parse table." 

我怎么能做出解析表中的有效作用多少?

编辑:

我刚好固定我的语法有点解决了这个问题。我曾与调用方法没有类型的问题。 (对不起,我迟到了) 现在我更加好奇上面的异常抛出了吗? 什么是行动号码?

回答

0

解析表是一个表,它描述了解析器处于给定状态时给定输入何时应该采取的操作。在每一步中,都会查阅解析表来确定要采取的操作。 解析表由两部分组成,即动作表和goto表。行为表采用堆栈顶部的状态和输入缓冲区中的下一个符号(称为“lookahead”符号),并返回要采取的操作,以及下一个将推入堆栈的状态。 Parsing table

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

+0

如果您觉得自己有更好的答案,请回答。 – PJT 2010-05-04 02:49:45