根据某一文法编制调试递归下降汾析程序以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解
1、递归下降分析法的功能
词法分析器的功能是利用函数之间的递归调用模拟语法树自上而下的构造过程。
2、递归下降分析法的前提
改造文法:消除二义性、消除左递归、提取左因子判断是否为LL(1)文法,
3、递归下降分析法实验设计思想及算法
为G的每个非终结符号U构造一个递归过程,不妨命名为U
U的产生式的祐边指出这个过程的代码结构:
(1)若是终结符号,则和向前看符号对照
若匹配则向前进一个符号;否则出错。
(2)若是非终结符号则调用与此非终结符对应的过程。当A的右部有多个产生式时,可用选择结构实现
(1)对于每个非终结符号U→X1| X2|…| Xn处理的方法如下:
(2)对于每个右部X1→Y1 Y 2…Y n的处理架构如下:
(3)如果右部为空,则不处理
(4)对于右部中的每个符号Yi
① 如果Yi为终结符号:
② 如果Yi为非终结符号,直接调用相應的子过程Yi()