【发布时间】:2011-12-25 17:04:44
【问题描述】:
我的语法很简单:
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)解析器 ^_^
P.S.2.解析器生成器不适合这种情况。
【问题讨论】:
-
是的,这是作业(有点)。 “帮助什么?” -> 在这种情况下,我需要帮助将语法规则转换为解析表。我创建了一些不同的语法,但我很难将它们转换为解析表(对于 LR(k))。