编译原理第四章学习总结
通过第三章对于正规式及有限自动机等知识内容的学习,我们初步了解了词法分析器。从而进入第四章——语法分析的学习。在第四章中我们可以了解到语法分析是编译过程的核心部分,它的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。地位极高。
一 学习内容
对于语法分析器而言,它的主要工作在本质上就是按文法的产生式识别输入符号串是否为一个句子,若按语法分析树的建立方法来分类的话,我们便可将语法分析办法粗略的分为两类,分别是“自上而下分析法”与“自下而上分析法”。
Ⅰ在自上而下分析法中,它的主旨其实是为输入串寻找一个最左推导。面临的主要问题如下所示:文法的左递归问题 / 回溯的不确定性 / 虚假匹配问题 / 未能准确确定输入串中出错位置,同时效率低下。
在此我们简单引入消除直接左递归例题
由于回溯的不确定性,消除回溯的条件中需定义FIRST集
(消除回溯的条件为定义FIRST集合与FOLLOW集合 二者分开讲述)
Ⅱ 定义FOLLOW集
对文法G的任何非终结符A,定义它的后继符号集合