语义实验报告.docx

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
语义分析实验报告 一:实验内容:用 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)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档

相关课程推荐