こんにちは私は再帰を使用しているいくつかの式の文法を作成しています。式ははるかに複雑ですが、今のところ私はその一部だけをテストします。解析メソッドを呼び出した後、allMatchesForメソッドでクラッシュします。スタックトレースはallMatchesFor呼び出しでいっぱいなので、無限ループにあるように見えます。問題はどこにありますか。それは私の文法構築ロジックにあるのでしょうか、それともそうではありませんか?このクラッシュを回避するには、どうすれば同様のことを実行できますか
私の文法は次のようなものです。
@start = formula;
formula = valueTypeResult;
valueTypeResult = (value | concept | arithmeticStatement);
arithmeticStatement = valueTypeResult (arithmeticOperator valueTypeResult)+;
value = 'V';
concept = 'C';
arithmeticOperator = 'A';
再帰を利用した文法の作り方を教えてください。
ありがとう