我正在使用一个名为 Polyglot 的编译器,它是一个高度可扩展的 Java 编译器。
我在尝试编译一些测试代码时似乎遇到了这个异常:
"Invalid action number found in internal parse table."
如何为解析表创建有效的操作编号?
编辑:
我通过稍微修正一下语法就解决了这个问题...我在调用没有类型的方法时遇到了问题。 (来晚了抱歉) 现在我更好奇上面的异常是什么时候抛出的? 什么是 Action 编号?
最佳答案
解析表是描述当给定输入处于给定状态时其解析器应该采取什么操作的表。在每个步骤中,都会查阅解析表来决定采取什么操作。 解析表由两部分组成,action表和goto表。操作表获取堆栈顶部的状态和输入缓冲区中的下一个符号(称为“先行”符号),并返回要执行的操作以及要压入堆栈的下一个状态。 Parsing table
所以我假设操作编号是一个代表解析表可以采取的特定操作的数字。
关于java - 异常: "Invalid action number found in internal parse table." Polyglot Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735458/