实验二递归下降分析法实验报告.docVIP

  • 52
  • 0
  • 约2.61千字
  • 约 7页
  • 2017-08-15 发布于重庆
  • 举报
实验二递归下降分析法实验报告.doc

实验二 递归下降分析法 一、实验目的和要求 1. 根据某一文法编制递归下降分析程序,以便对任意输入的符号串进行分析。 2. 本次实验的目的是加深对递归下降分析法的理解。 二、实验内容 (1)功能描述 对下列文法,用递归下降分析法对任意输入的符号串进行分析,看是否能匹配成功: (1)E→TG (2)G→+TG|-TG (3)G→ε (4)T→FS (5)S→*FS|/FS (6)S→ε (7)F→(E) (8)F→i (2)程序结构描述 本程序的实现方法主要就是函数的递归调用,在程序前面先对文法中所涉及到的非终结符对应的函数进行声明,以免在用到的时候提示函数无声明的错误提示,程序从开始符E开始,根据文法,E可以推出T和G,就在函数E()中调用T()和G(),其他的也是类似,这属于文法中只涉及到非终结符;遇到有终结符的情况则不同,想函数G(),因为G可以推出+TG或者-TG,所以在函数G()中,要分两种情况,先判断当前的字符是否是+,是则调用T()和G(),如果当前字符为-,就调用T()和G(),否则就是ε字符;按照这种方法,把文法所涉及到的非终结符都写成对应的函数,并正确调用其他函数。等所有的函数都描述之后就在mian()里判断当前字符是否分析到结束符#,是则说明此字符串是合法字符,否则说明此字符串为不合法字符。 (3)程序代码 #includestring.h #includ

文档评论(0)

1亿VIP精品文档

相关文档