语义实验报告.docxVIP

  • 2
  • 0
  • 约小于1千字
  • 约 2页
  • 2023-05-04 发布于上海
  • 举报
语义分析实验报告 一:实验内容:用 bison 工具生成一个 PL/0 语言的语义分析程序,对 PL/0 源程序进行语义分析,并输出归约时产生的指令序列,然后输出结果。 二:实验环境:语法分析器生成工具:bison 编程语言:C 三:源程序格式: %{ 声明 --可选 %} 辅助定义 --可选 %% 语法规则 --必须有 %% 用户子程序 --可选 四:设计思想 要求输出规约时所用的语法规则,所以考虑用 pl0 语言的 EBNF 范式(具体范式略) 作为规约式的参考。 语法规则里,对词法分析出来的符号串给与特定的标记,然后将这个标记传给yyparse(),以便在语法分析时作为终结符。 在语法文件里将词法分析生成的 lex.yy.c 包括进来即可。具体源码请查看 test.l 和 test.y 文件。 五:测试说明 测试文件 test1.pl0。结果如下: 指令集合: jmp 0 8 jmp 0 2 int 0 3 lod 1 3 lit 0 10 opr 0 2 sto 1 4 opr 0 0 int 0 5 opr 0 16 sto 0 3 lod 0 3 lit 0 0 opr 0 9 jpc 0 24 cal 0 2 lit 0 2 lod 0 4 opr 0 4 opr 0 14 opr 0 15 opr 0 16 sto 0 3 jmp 0 11 opr 0 0 符号表: 6 const val=0 const val=0 const aval=10 var blev=0 addr=3 4 var clev=0 addr=4 5 procplev=0 adr=2 size=3 结果集: 10? 40 六:心得体会 这次小程序的编写让我对编译程序的工作有了进一步的了解,让我的编译程序的原理及设计有了长足的进步,使我明白和更好的体会到了编译程序的作用。在这次的程序编写中,提高了自己的能力。

文档评论(0)

1亿VIP精品文档

相关文档