编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析

一、SLR(1)文法的局限性

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第1张图片

可见,SLR(1)文法不能描述全部的非二义性文法。

因此,我们希望获得更多信息来确定操作,这就引出了规范的LR分析LR(1))。

二、规范的LR分析

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第2张图片

(一)LR(1)项目

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第3张图片

(二)构造识别活前缀的DFA

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第4张图片

LR(1)项目对活前缀仍然有效。

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第5张图片

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第6张图片 

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第7张图片 

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第8张图片 编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第9张图片

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第10张图片

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第11张图片 编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第12张图片

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第13张图片 编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第14张图片

(三)从DFA构造LR(1)分析表

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第15张图片

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第16张图片

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第17张图片 

三、总结 

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第18张图片

每一个SLR(1)文法都是LR(1)的。 

编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第19张图片 编译原理与技术(三)——语法分析(七)自底向上-LR(1)分析_第20张图片

参考资料:

 [1]USTC 编译原理和技术 2023 (ustc-compiler-principles.github.io) 

 

你可能感兴趣的:(编译原理与技术,语法分析,文法,LR)