四大LR分析表

即 LR(1)文法范围最大,而 LR(0)文法范围最小。同时也说明了四种文法分析过程的强弱,即 LR(1)文法分析最强,而 LR(0)文法分析最弱。

四种文法分析过程基本有三大步:写出自动机(即 LR(0)或 LR(1)项集族,后面都称作自动机) -> 构造文法分析表-> 进行文法分析过程。其中后两步都是类似或者说几乎完全一样的,第一步中的自动机有两种: LR(0)自动机和 LR(1)自动机。LR(0) 和 SLR文法分析用的是 LR(0)自动机,LR(1)和 LALR文法分析用的是 LR(1)自动机。而LR(1)自动机构造方法和LR(0)自动机的构造方法相同,只是多增加了向前搜索符号。

原文链接:https://blog.csdn.net/zuzhiang/article/details/79047743

1.LR(0)分析表

gBcjKETm-1651506778784)(D:/学习/Java/Java笔记/图片/LR(0)分析表.png)]

2.SLR(1)分析表在这里插入图片描述

在这里插入图片描述

四个问题:

  1. 写出活前缀的DFA
  2. 是不是LR(0)文法
  3. 如果不是LR(0)文法,是不是SLR(1)文法
  4. 如果是SLR(1)文法,构造出SLR(1)文法分析表

3.LR(1)分析表

在这里插入图片描述
在这里插入图片描述

4.LALR(1)分析表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐