本次笔记内容:
4-12 SLR
4-13 LR1分析
4-14 LALR分析法
4-15 二义性文法的LR分析
4-16 LR分析中的错误处理
本节课幻灯片,见于我的 GitHub 仓库:第7讲 语法分析_4.pdf
上节课的内容中,LR(0)存在冲突。这节课首先提出SLR进行解决。SLR的改进很简单,但还存在冲突。因此又引出LR(1)。
但是,LR(1)的状态过多,于是引出LALR化简、合并其状态。
最后,介绍了二义性与错误处理。
SLR分析
上节课的例子中,我们认识到:LR(0)分析过程中存在冲突。而规定 FOLLOW 集,可以帮我们判断,在那些情况下,不进行归约
。这也正是 SLR的基本思想。
基本思想
这里的 S 代表simple
,因为其只需要一个 FOLLOW 集就可以化解冲突。但是对于某些冲突,需要更复杂的方法化解(后文