我有非常简单的语法:
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
当我尝试更新解析表时,真正的问题出现了:
所以问题是我应该如何编辑这个表来提供一元操作支持(基于描述的语法)?
PS无论如何,我将非常感谢使用LR(k)(或LALR)解析器解析Java(或任何其他OO语言)中的ariphmetic表达式的任何帮助^_^
PS2。解析器生成器不适合这种情况。