义。(二)实验目的:通过设计递归下降分析器的设计与实现实验,使同学们掌握自上而下的递归分析法的语法分析原理和程序设计方法。实验原理:(一)语法分析的定义和功能语法分析是根据语法规则,将单词符号构成各类语法单位,并进行语法检查。在本实验中,对源程序经过词法分析后转换成的单词流按方法规则进行判断,对能构成正确句子的单词流,给出相应的语法树;对不能构成正确句子的单词流判断其语法错误并做出相应处理。(二)语法分析的方法语法分析方法有自上而下和自下而上的分析方法。(1)自上而下语法分析法:或从开始符号出发,找最左推导;或从根开始,构造推导树。(2)自下而上语法分析法:从输入串开始,归约,直至文法开始符。本实验中,我们采用自上而下的递归下降分析法,在不含左递归的文法G中,如果对每一个非终结符的所有候选式的第一个终结符都是两两不相交的(即无公共左因子),则可能构造出一个不带回溯的自上而下的分析程序,这个分析程序由一组递归过程组成,每个过程对应文法的一个非终结符。这样的分析程序称为递归下降分析程序。(三)数据结构1.*.dys同*.dyd2.变量名表·变量名vname:char(16)·所属过程vproc:char(16)·分类vkind:0..1(0—变量、1—形参)·变量类型vtype:types·变量层次vlev:int·变量在变量表中的位置vadr:int(相对第一个变量而言)?3.过程名表·过程名pname:char(16)·过程类型ptype:types·过程层次plev:int·第一个变量在变量表中的位置fadr:int·最后一个变量在变量表中的位置ladr:int?4.四元式表(oprd,op1,op2,result)·oprd——整数码·op1——第一操作数·op2——第二操作数·result——结果·op1、op2、result可用“值/地址”表示?5.目标代码——P码