编译原理与技术(三)——语法分析(四)自底向上-移进归约

一、语法分析的主要方法

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第1张图片

二、归约 

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第2张图片

三、句柄(可归约串)

归约涉及到一个问题。

对于输入串,我们怎么知道哪一部分可以被归约?

我们定义,可以被归约的子串称为句柄

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第3张图片

显然,句柄可能不是唯一的。

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第4张图片

四、移进-归约分析技术 

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第5张图片

举个例子。

对于文法。

用移进-归约技术分析下面输入串。

分析开始。

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第6张图片

 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第7张图片

 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第8张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第9张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第10张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第11张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第12张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第13张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第14张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第15张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第16张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第17张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第18张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第19张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第20张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第21张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第22张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第23张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第24张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第25张图片

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第26张图片 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第27张图片

五、冲突

(一)移进-归约冲突 

编译原理与技术(三)——语法分析(四)自底向上-移进归约_第28张图片

(二)归约-归约冲突

 编译原理与技术(三)——语法分析(四)自底向上-移进归约_第29张图片

参考资料:

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

你可能感兴趣的:(算法)