Nome correto para um analisador de descida recursiva que usa loops para manipular a recursão esquerda?
Essa gramática é deixada recursiva: Expression ::= AdditionExpression AdditionExpression ::= MultiplicationExpression | AdditionExpression '+' MultiplicationExpression | AdditionExpression '-' MultiplicationExpression MultiplicationExpression ::= Term | MultiplicationExpression '*' Term | MultiplicationExpression '/' Term Term ::= Number | '(' AdditionExpression ')' Number ::= [+-]?[0-9]+(\.[0-9]+)? Portanto, em teoria, a descida recursiva não funcionará. Mas, explorando …