【编译原理】递归下降的预测分析(真の能看懂~!)

1 递归下降分析法

递归下降分析法是确定的自上而下分析法,这种分析法要求文法是LL(1)文法。

为每个非终结符编制一个递归下降分析函数,每个函数名是相应的非终结符,函数体则是根据规则右部符号串的结构和顺序编写。
子程序相互递归调用。

2 过程

首先执行的是开始符号所对应的过程,然后根据产生式的右部出现的非终结符,依次调用相应的过程(递归),逐步下降。
先要构造预测分析表,需要SELECT集。
在这里插入图片描述

3 示例

3.1 主函数

在这里插入图片描述

3.2 PROGRAM

在这里插入图片描述

3.3 DECLIST

在这里插入图片描述

3.4 DECLISTN

因为SELECT(4)={:} 所以若TOKEN(下一个输入字符不是“,”),则随后肯定紧跟“:”,不是则ERROR。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章