2

この質問ParseTreeでは、ANTLR4の Java クラスに相当する C# について誰かが尋ねました。その答えは私には明らかですが、関連する以前の質問がありparser.prog()ます。

この時点から を呼び出して処理全体が開始されるようです。クラスでメソッドがparser.prog()見つからないため、非常に間違ったことをしているに違いありません。基本クラスのgithubソースを検索しましたが、ここにもメソッドはありません。prog()myGrammarParserParserprog()

メソッドの名前が異なる場合に備えて、いくつかの推測を行いましたが、うまくいきませんでした。

C# を対象とする ANTLR3 の実例をいくつか見つけたので、ANTLR3 に戻ると思います。これを機能させるのがとても難しいのは残念です。

前もって感謝します。

4

1 に答える 1

9

prog()文法にルールが含まれているため、メソッドが作成されましたprog。開始ルールに別の名前が付けられている場合 (例: )、メソッドをcompilationUnit呼び出しcompilationUnit()て入力を解析します。

ANTLR のこの特定の側面は、ANTLR 3 と ANTLR 4 の間で変わりませんでした。

于 2013-08-25T15:31:40.893 に答える