1

私は、Java用の高度に拡張可能なコンパイラであるPolyglotと呼ばれるコンパイラを使用しています。

いくつかのテストコードをコンパイルしようとしたときに、この例外が発生したようです。

 "Invalid action number found in internal parse table." 

解析テーブルの有効なアクション番号を作成するにはどうすればよいですか?

編集:

文法を少し修正するだけで問題を解決しました...型なしでメソッドを呼び出す際に問題が発生しました。(遅くなってすみません)上記の例外がいつスローされるのか、もっと気になりますか?そして、アクション番号とは何ですか?

4

1 に答える 1

0

解析テーブルは、特定の状態にあるときに特定の入力が来たときにパーサーが実行する必要のあるアクションを説明するテーブルです。各ステップでは、解析テーブルを参照して、実行するアクションを決定します。解析テーブルは、アクションテーブルとgotoテーブルの2つの部分で構成されています。アクションテーブルは、スタックの最上位の状態と入力バッファ内の次のシンボル(「先読み」シンボルと呼ばれる)を取得し、実行するアクションと、スタックにプッシュする次の状態を返します。テーブルの解析

したがって、アクション番号は、解析テーブルが実行できる特定のアクションを表す番号であると想定します。

于 2010-05-01T19:18:10.643 に答える