编译原理——第四章

第四章语法分析自上而下分析 知识总结: 1、语法分析器功能
在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。

编译原理——第四章
文章图片


(1)从文法的起始符出发进行句子的推导,即自上而下的分析

(2)从句子本身出发,进行归约,看能否把句子规约为到起始符,即自下而上的规约

2、自上而下(推导)面临的问题
编译原理——第四章
文章图片


3、LL(1)分析法
LL(1):L:left->right扫描输入串;L:最左推导;1:分析每一步只向前查看一个符号

(1)消除左递归 直接左递归:
编译原理——第四章
文章图片

间接左递归:
编译原理——第四章
文章图片
编译原理——第四章
文章图片

(2)消除回溯 提左因子 ---条件
编译原理——第四章
文章图片


---改造文法
编译原理——第四章
文章图片

(3)分析条件 编译原理——第四章
文章图片


---条件
编译原理——第四章
文章图片


4、递归下降分析程序构造
编译原理——第四章
文章图片


5、预测分析程序
---基础
预测分析表:指导分析过程中候选式的选取
***重点
对于给定文法构造每个非终结符的FIRSTFOLLOW集合
(1)FIRST 编译原理——第四章
文章图片


(2)FOLLOW 编译原理——第四章
文章图片


6、LL(1)分析中的错误处理
【编译原理——第四章】编译原理——第四章
文章图片


知识应用 编译原理——第四章
文章图片
编译原理——第四章
文章图片

编译原理——第四章
文章图片




编译原理——第四章
文章图片


总结 这一章学起来遇到不少困难,在前几章的基础上接触到了更加晦涩难懂的新内容,有的知识点甚至连定义概念都搞不懂。我个人认为的难点也是重点就是在于预测分析表的构造中的FIRST和FOLLOW集合问题,自己通过例题能够将FIRST和FOLLOW集构造出来,但是当自己真正做题时那些构造技巧很容易就混淆,而且这两者有紧密结合关系,一有不仔细,全都错了。总的来时还是对知识点理解的不透彻,缺少练习,不能合理运用知识点。这个就只能通过多加练习来解决了。

    推荐阅读