递归下降分析法

这篇博客详细介绍了递归下降分析法,包括基本原理、文法要求、实现原理和程序流程。实验旨在帮助读者掌握递归下降分析法,理解预测符集的求法,消除左递归和公共前缀的文法变换,并通过程序流程图展示分析过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

递归下降分析法

1.             实验题目:  递归下降分析法

2.             实验目的:

                  1 掌握递归下降分析法的基本原理

       2 掌握预测符集的求法

       3 掌握递归下降分析程序的构造方法

3.             实验要求:

                  1 理解递归下降语法分析方法的主要原理

                           2 理解递归下降分析法对文法的要求

                           3 熟练掌握Predict集合的求法

                           4 熟练掌握文法变换算法(消除左递归和消除公共前缀)

4.             设计思想:

41 基本原理

递归下降法是语法分析中最易懂的一种方法。它的主要原理是,对每个非终极符按其产生式结构构造相应语法分析子程序,其中终极符产生匹配命令,而非终极符则产生过程调用命令。因为文法递归相应子程序也递归,所以称这种方法为递归子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。

42文法要求

递归下降法要满足的条件:假设A的全部产生式为Aàα1|α2|……|αn ,则必须满足如下条件才能保证可以唯一的选择合适的产生式

predict(Aàαi)∩predict(Aàαj)=Φ,i≠j.

       43实现原理

假设文法中有如下的产生式Aàb1 | b2 | … | bn,则应按如下方法编写语法分析子程序

procedure A()

   begin        if tokenÎPredict(Aàb1) then  θ(b1) else

        if tokenÎPredict(Aàb2) then  θ(b2) else

               ……

               if tokenÎPredict(Aàbn) then

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值