递归下降语法分析器实验报告.doc
递归下降语法分析器实验报告.doc一、 实验目的 使用递归子程序法设计一个语法分析程序,理解自顶向下分析方法的原理,掌握手工编写语法分析程序的方法。 二、 实验原理 1. 基本原理 递归下降法是语法分
递归下降语法分析器实验报告.doc 一、实验目的 使用递归子程序法设计一个语法分析程序,理解自顶向下分析方法的原理,掌 握手工编写语法分析程序的方法。 二、实验原理 1.基本原理 递归下降法是语法分析中最易懂的一种方法。它的主要原理是,对每个非终极 符按其产生式结构构造相应语法分析子程序,其中终极符产生匹配命令,而非终极 符则产生过程调用命令。因为文法递归相应子程序也递归,所以称这种方法为递归 子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。 2.文法要求 递归下降法要满足的条件:假设A的全部产生式为A,α1|α2|……|αn,则必 须满足如下条件才能保证可以唯一的选择合适的产生式 predict(A,α)?predict(A,α)=Φ,当i?j.ij 3.实现原理 假设文法中有如下的产生式A,,|,|…|,,则应按如下方12n 法编写语法分析子程序 procedureA() beginiftoken,Predict(A,,)thenθ(,)else11 iftoken,Predict(A,,)thenθ(,)else22 …… iftoken,Predict(A,,)thenθ(,)elsenn error()

