实验三自下而上语法分析及语义分析.docxVIP

  • 11
  • 0
  • 约6.11千字
  • 约 9页
  • 2020-06-29 发布于安徽
  • 举报

实验三自下而上语法分析及语义分析.docx

实验三 自下而上语法分析及语义分析 一、实验目的: 通过本实验掌握 LR分析器的构造过程,并根据语法制导翻译,掌握属性文法的自下而上计算的过程。 二、实验学时: 4学时。 三、实验内容 根据给出的简单表达式的语法构成规则(见五),编制 LR分析程序,要求能对用给定的语法规则书写的源程序进行 语法分析 和语义分析 。 对于正确的表达式,给出表达式的值。 对于错误的表达式,给出出错位置。 四、实验方法 采用 LR分析法。 首先给出 S- 属性文法的定义 (为简便起见, 每个文法符号只设置一个综合属性, 即该文法符号所代表的表达式的值。属性文法的定义可参照书 137页表 6.1 ),并将 其改造成用 LR分析实现时的语义分析动作(可参照书 145页表 6.5 )。 接下来给出 LR分析表。 然后程序的具体实现: LR分析表可用二维数组(或其他)实现。 添加一个 val 栈作为语义分析实现的工具。 编写总控程序,实现语法分析和语义分析的过程。 注:对于整数的识别可以借助实验 1。 五、文法定义 简单的表达式文法如下: E-E+T|E-T|T T-T*F|T/F|F F-(E)|i 上式中, i 为整数。 六、处理程序例 例 1: 正确源程序例: 23+(45+4)* 40 分析结果应为: 正确的表达式。其值为: 1983 例 2: 错误源程序例: 5+(56+)-24 分析结果应为: 错

文档评论(0)

1亿VIP精品文档

相关文档