LALR构造来自递归语法

时间:2018-01-12 08:55:43

标签: c algorithm parsing recursion lalr

假设我要解析一个唯一的终端令牌x的列表。

我可能错了,但我有两种方式:

  • 以这种方式声明递归非终端:A - > XA
  • 另一个通过这种方式声明递归非终端:A - >斧

这应该让我留下这两个项目集的DFA(如果我再没有错):

DFA

这表明我只有第一种方式才能产生递归。

此时我肯定在我的方法中从语法构造DFA是错误的。 你能解释一下我做错了什么吗? 如果你的动力足够强大,你能给出并解释用两种语法实现LALR表构造的方法吗? (包括First()和Follow()发现)。

如果你想用一些伪代码回答,我可以轻松阅读一些C代码。 我来自this网站,试图了解LALR表的构建。 先谢谢。

0 个答案:

没有答案