那里有这么多的信息,但这不是真的有助于像我这样的noob。我阅读了许多关于上下文无关语言和下推自动化的文章。现在我试图了解代码中可能会看到某些东西。 让我们假设我们定义的语言,如: L = {am bn | m >= n}
给我们以下的生产规则: S -> B |^
B -> aBb | A
A -> aA | a
正是这将如何看起来像伪代码?我假定所有的生产规则都是1状态定义为S1或者
我正在构建语法分析器。单反(1)很好,但我相信有一些减少/移位冲突或某种冲突会使解析器过早拒绝字符串。这里是语法: 注意:我确实留下了语法因素来看看这是否是问题,但这并没有消除歧义。然而,这是没有左保 P'' -> P'$
P' -> P
P -> C | C;D
D -> R | RD
R -> pu{P}
C -> I | I;C
I -> h | O | A | R