なぜこの単純な文法
grammar Test;
expr
: Int | expr '+' expr;
Int
: [0-9]+;
入力と一致しません1+1
か? 「ルール式のメソッドがないか、引数があります」と表示されますが、私の意見では一致するはずです。
なぜこの単純な文法
grammar Test;
expr
: Int | expr '+' expr;
Int
: [0-9]+;
入力と一致しません1+1
か? 「ルール式のメソッドがないか、引数があります」と表示されますが、私の意見では一致するはずです。
コマンドが次のようになっている場合:
grun MYGRAMMAR xxx -tokens
そして、この例外がスローされます:
No method for rule xxx or it has arguments
次に、この例外は、上記のコマンドで指定したルールでスローされます。これは、ルールがおそらく存在しないことを意味します。
System.err.println("No method for rule "+startRuleName+" or it has arguments");
したがってstartRuleName
、ここではxxx
、文法の最初の (開始) ルールでない場合に出力する必要があります。xxx
これを防ぐために、文法の最初のルールとして入れてください。