У меня очень простая грамматика:
E->E+T|T
T->T*F|F
F->(E)|id
И я хочу расширить его для поддержки операций unar (ИМХО, это правильная грамматика, но она может быть неправильной, потому что я настоящий n00b в грамматиках, парсерах, лексерах и т. Д.):
E->E+T|T
T->T*F|F
F->+F|(E)|id
Настоящая проблема возникает, когда я пытаюсь обновить таблицу разбора:
![enter image description here](https://i.stack.imgur.com/rMVHB.png)
Итак, вопрос : как мне отредактировать эту таблицу, чтобы обеспечить поддержку унарных операций (на основе описанной грамматики)?
P.S. В любом случае, я буду очень признателен за любую помощь в разборе арифметического выражения в Java (или любом другом языке OO) с использованием синтаксического анализатора LR (k) (или LALR) ^ _ ^
P.S.2. Генераторы парсеров в этом случае не подходят.