1.知识点概括
第四章主要讲了编译程序典型的语法分析方法-自上而下分析法。主要包括这几部分内容:自上而下语法分析出现的问题以及解决的方法、LL(1)分析法、递归下降分析器和预测分析表的构造。语法分析是编译过程的核心部分,而语法分析的工作是判断一个输入串是否符合语法规则,那么如何去判断呢?两种方法,一种是从文法的起始符出发进行句子的推导,即自上而下的分析,第二种是从句子本身出发,进行规约,看能否把句子规约到起始符,即自下而上的规约。这里主要分析自上而下分析。
简单的自上而下分析面临很多问题:左递归问题、回溯问题、虚假匹配、出错位置位置等。为了解决这些问题,我们学习了左递归的消除算法、消除回溯提取左因子等,进而引出了FIRST()集FOLLOW()集的定义和LL(1)分析法的使用条件和算法,在明白基本原理之后,就开始构造递归下降分析程序。原