天天看点

编译原理——第四章第四章  语法分析    自上而下分析

第四章  语法分析    自上而下分析

知识总结:

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集构造出来,但是当自己真正做题时那些构造技巧很容易就混淆,而且这两者有紧密结合关系,一有不仔细,全都错了。总的来时还是对知识点理解的不透彻,缺少练习,不能合理运用知识点。这个就只能通过多加练习来解决了。