编译原理构造LR分析表

cdsn09 2009-06-27 04:48:47
给一个文法,如何求它的LR分析表?
表中的状态、action(动作)、goto(转换)分别怎么填??就是那些r1,r2…,s1,s2等等。请高手给详细解答。有解决问题的追加100分。
...全文
178 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyzdz1988 2009-06-27
  • 打赏
  • 举报
回复
这个看教材啊,教材说得够详细的了。。。
说下r1,r2...和s1,s2...

ri 表示按文法的第i个产生式进行归约
si 表示移进并转至第i个状态

具体做的流程是先将文法进行扩展,构造识别活前缀的DFA,然后就可以进行填表了,

先填goto表吧,那可以根据DFA来,一行一行的填,就是看从此状态经非终结符所转向的状态

然后再填si,同上类似,不过这是看从此状态经终结符转向的状态

最后比较麻烦的一点是填rk,这就要先看DFA的所有项目集,看那此项目集中有可归约的项目,比如是A->a. 是文法的第k个产生式,

则对每个FOLLOW(A)如a, action[i,a] = rk。

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧