编译原理-语法分析程序设计(LL(1)分析法).docVIP

  • 9
  • 0
  • 约4.75千字
  • 约 6页
  • 2019-10-15 发布于湖北
  • 举报

编译原理-语法分析程序设计(LL(1)分析法).doc

实验目的:掌握LL(1)分析法的基本原理,掌握LL(1)分析表的构造方法,掌握LL(1) 驱动程序的构造方法。 2.实验要求:实现LR分析法(P147,例4.6)或预测分析法(P121,例4.3)。 3.实验环境:一台配置为1G的XP操作系统的PC机;Visual C++6.0. 4.实验原理:编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语 法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。编译程序的语法规则可用上下文无关文法来刻画。 语法分析的方法分为两种:自上而下分析法和自下而上分析法。自上而下就是从文法的开始符号出发,向下推导,推出句子。而自下而上分析法采用的是移进归约法,基本思想是:用一个寄存符号的先进后出栈,把输入符号一个一个地移进栈里,当栈顶形成某个产生式的一个候选式时,即把栈顶的这一部分归约成该产生式的左邻符号。 自顶向下带递归语法分析:1、首先对所以的生成式消除左递归、提取公共左因子 2、在源程序里建立一个字符串数组,将所有的生成式都存在这个数组中。 3、给每个非终结符写一个带递归的匹配函数,其中起始符的函数写在main函数里。 这些函数对生成式右边从左向右扫描,若是终结符直接进行匹配,匹配失败,则调用出错函数。如

文档评论(0)

1亿VIP精品文档

相关文档