实验五编译用语法制导方式生成中间代码生成器.docxVIP

  • 20
  • 0
  • 约1.05万字
  • 约 13页
  • 2021-11-10 发布于湖南
  • 举报

实验五编译用语法制导方式生成中间代码生成器.docx

实验 5 用语法制导方式生成中间代码生成器 一、实验目的 掌握语法制导定义和翻译的原理和技术,在语法分析器的基础上,加上语义分析,构造一个中间代码生成器。 二、实验内容 在实验四生成的语法分析器基础上加入语义动作, 将源程序翻译为对应的中间代码序列。 三、实验要求 个人完成, 提交实验报告。 实验报告必须包括设计的思路, 以及测试报告 (输入测试例子,输出结果) 。 实验报告中给出采用测试源代码片断,及其对应的三地址码形式(内部表示形式可以自行考虑)。 例如,程序片断 对应的中间代码为: 四、实验过程 本次实验运用 flex和bison工具进行中间代码的生成。并自动生成中间代码。 首先创建一个 example 文件夹 ,该文件夹中包含有 flex.exe 用文本编译器编辑相应的 flex 文件 mylex.l ,此次 mylex.l 可以在上次实验的l 文件上做一些修改,再利用 flex 将 l 文件生成相应的 lex.yy.c 程序, mylex.l 的代码如下所示: mylex.l %{ #include myyacc.tab.h %} delim [ \t\n\r] ws {delim}+ letter [A-Za-z] digit [0-9] id {letter}({letter}|{digit})* integer {digit}+ exponentE[+-]?{

文档评论(0)

1亿VIP精品文档

相关文档