嗨,我正在为一些使用递归的公式创建语法。这个公式要复杂得多,但现在我只测试它的一部分。调用 parse 方法后,它在 allMatchesFor 方法上崩溃。堆栈跟踪充满了 allMatchesFor 调用,因此看起来它处于无限循环中,问题出在哪里。是在我的语法构造逻辑中还是在其他方面?我怎样才能完成类似的事情以避免这种崩溃
我的语法是这样的:
@start = formula;
formula = valueTypeResult;
valueTypeResult = (value | concept | arithmeticStatement);
arithmeticStatement = valueTypeResult (arithmeticOperator valueTypeResult)+;
value = 'V';
concept = 'C';
arithmeticOperator = 'A';
你能告诉我如何创建使用递归的语法吗?
谢谢