第四章语法分析自上而下分析
知识总结:
1、语法分析器功能
在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。
文章图片
(1)从文法的起始符出发进行句子的推导,即自上而下的分析
(2)从句子本身出发,进行归约,看能否把句子规约为到起始符,即自下而上的规约
2、自上而下(推导)面临的问题
文章图片
3、LL(1)分析法
LL(1):L:left->right扫描输入串;L:最左推导;1:分析每一步只向前查看一个符号
(1)消除左递归 直接左递归:
文章图片
间接左递归:
文章图片
文章图片
(2)消除回溯 提左因子 ---条件
文章图片
---改造文法
文章图片
(3)分析条件
文章图片
---条件
文章图片
4、递归下降分析程序构造
文章图片
5、预测分析程序
---基础
预测分析表:指导分析过程中候选式的选取
***重点
对于给定文法构造每个非终结符的FIRST和FOLLOW集合
(1)FIRST
文章图片
(2)FOLLOW
文章图片
6、LL(1)分析中的错误处理
【编译原理——第四章】
文章图片
知识应用
文章图片
文章图片
文章图片
文章图片
总结 这一章学起来遇到不少困难,在前几章的基础上接触到了更加晦涩难懂的新内容,有的知识点甚至连定义概念都搞不懂。我个人认为的难点也是重点就是在于预测分析表的构造中的FIRST和FOLLOW集合问题,自己通过例题能够将FIRST和FOLLOW集构造出来,但是当自己真正做题时那些构造技巧很容易就混淆,而且这两者有紧密结合关系,一有不仔细,全都错了。总的来时还是对知识点理解的不透彻,缺少练习,不能合理运用知识点。这个就只能通过多加练习来解决了。