Мне любопытно, потому что это помечено как рекурсивный спуск, что заставляет меня думать LL.
При создании грамматики для анализатора LL запомните эти правила.
Повторение используется для левой ассоциативности:
Foo -> Bar (op Bar)*
Хвостовая рекурсия используется для правильной ассоциативности:
Foo -> Bar (op Foo)?
Теперь у вас нет LL-дружественной грамматики, потому что вы оставили рекурсию:
E -> E+T
С другой стороны, если бы это был LL, ваше возведение в степень использует хвостовую рекурсию, чтобы это работало.
Я предлагаю статьи Википедии, направленные сверху вниз и Левая рекурсия статей (их легче читать, чем статью LL ) И обратите внимание, парсеры LR работают по-разному и приводят к различным грамматикам для левой и правой ассоциативности.
Да, и ваш порядок правил правильный для того, что LL-парсерам нужно для приоритета. Правила оператора с более низким приоритетом стоят первыми в цепочке производственных правил.