编译原理第四章语法分析—自上而下分析国防科技大学计算机系602教研室四元式单词符号语法单位四元式目标代码词法分析器语法分析器语义分析与中间代码生成器优化段源程序表格管理出错处理目标代码生成器国防科技大学计算机系602教研室第四章语法分析—自上而下分析本章主要介绍语法分析的处理要进行语法分析,必须对语言的语法结构进行描述。采用正规式和有限自动机可以描述和识别语言的单词符号;用上下文无关文法来描述语法规则。国防科技大学计算机系602教研室上下文无关文法的定义:一个上下文无关文法G是一个四元式G=(VT,VN,S,P),其中VT:终结符集合(非空)VN:非终结符集合(非空),且VTVN=S:文法的开始符号,SVNP:产生式集合(有限),每个产生式形式为P,PVN,(VTVN)*开始符S至少必须在某个产生式的左部出现一次。国防科技大学计算机系602教研室例,定义只含+,*的算术表达式的文法G=<{i,+,*,(,)},{E},E,P>,其中,P由下列产生式组成:EiEE+EEE*EE(E)国防科技大学计算机系602教研室定义:称A直接推出,即A仅当A是一个产生式,且,(VTVN)*。如果12n,则我们称这个序列是从1到n的一个推导。若存在一个从1到n的推导,则称1可以推导出n。例:对文法(1)E(E)(E+E)(i+E)(i+i)国防科技大学计算机系602教研室通常,用表示:从1出发,经过一步或若干步,可以推出n。n1n*1用表示:从1出发,经过0步或若干步,可以推出n。*所以:即或},|{)(*TVSGL定义:假定G是一个文法,S是它的开始符号。如果,则称是一个句型。仅含终结符号的句型是一个句子。文法G所产生的句子的全体是一个语言,将它记为L(G)。*S国防科技大学计算机系602教研室4.1语法分析器的功能语法分析的任务是分析一个文法的句子结构。语法分析器的功能:按照文法的产生式(语言的语法规则),识别输入符号串是否为一个句子(合式程序)。国防科技大学计算机系602教研室源程序单词符号取下一单词...语法分析树词法分析器语法分析器符号表编译程序后续部分国防科技大学计算机系602教研室语法分析的方法:自下而上分析法(Bottom-up)基本思想:从输入串开始,逐步进行“归约”,直到文法的开始符号。即从树末端开始,构造语法树。所谓归约,是指根据文法的产生式规则,把产生式的...