没有合适的资源?快使用搜索试试~ 我知道了~
语义分析及中间代码生成程序设计原理与实现技术--实验报告及源代码 北京交通大学.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 64 浏览量
2022-06-17
18:11:09
上传
评论
收藏 706KB DOC 举报
温馨提示
语义分析及中间代码生成程序设计原理与实现技术--实验报告及源代码 北京交通大学
资源推荐
资源详情
资源评论
!"#$ !%& '%((( )*+ ,- . #( /%0 %(
- 1 --/( ! ! 2*
3%%%%%3%456178 98 8." 8: -
-;3 ;/
语义分析及中间代码生成程序设计原理与实现技术
XXX 1028XXX2 计科 1XXX 班
1. 程序功能描述
完成以下描述赋值语句和算术表达式文法的语法制导生成中间代码四元式的过程。
说明:终结符号为用户定义的简单变量即标识符的定义。
2. 设计要求
()给出每一产生式对应的语义动作;()设计中间代码四元式的结构(暂不与符
号表有关)。()输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”
的输出结果。输出为输入串的四元式序列中间文件。()设计两个测试用例(尽可能完
备),并给出程序执行结果四元式序列。
3. 主要数据结构描述:
本程序采用的是算符优先文法,文法以及算符优先矩阵是根据第四次实验来修改
的,所以主要的数据结构也跟第四次差不多,主要为文法的表示,集和
集以及算符优先矩阵:
算符优先矩阵采用二维字符数组表示的:
!""#算符优先矩阵
< !; < 3! 3 $; 2= . ;) ; 3%%9>8/*
> !+ 3 . + <! ;;2/-.-? -
<! 8 / ! ! ! @1A
;+3 >
struct info{
char left;
vector<string> right;
vector<char> first;
vector<char> last;
};
!"#$ !%& '%((( )*+ ,- . #( /%0 %(
- 1 --/( ! ! 2*
3%%%%%3%456178 98 8." 8: -
-;3 ;/
4. 程序结构描述:
本程序一共有 $ 功能函数:
%&'()#获取文法
%&'*+#打印文法
%&',-+#求 和
%&'!.#求算符优先矩阵
%&')#测试文法
+!* /#比较两个运算符的优先级 0
%&'&- +&1+%(+%(#打印四元式
+&*) &*++/#定义四元式计算方法
5. 实验代码
详见附件
6. 程序测试
6.1 功能测试
程序运行显示如下功能菜单:
选择打印文法:
< !; < 3! 3 $; 2= . ;) ; 3%%9>8/*
> !+ 3 . + <! ;;2/-.-? -
<! 8 / ! ! ! @1A
;+3 >
!"#$ !%& '%((( )*+ ,- . #( /%0 %(
- 1 --/( ! ! 2*
3%%%%%3%456178 98 8." 8: -
-;3 ;/
选择构造 集和 集:
选择构造算符优先矩阵:
< !; < 3! 3 $; 2= . ;) ; 3%%9>8/*
> !+ 3 . + <! ;;2/-.-? -
<! 8 / ! ! ! @1A
;+3 >
!"#$ !%& '%((( )*+ ,- . #( /%0 %(
- 1 --/( ! ! 2*
3%%%%%3%456178 98 8." 8: -
-;3 ;/
6.2 文法测试
测试 1:1+2*3
< !; < 3! 3 $; 2= . ;) ; 3%%9>8/*
> !+ 3 . + <! ;;2/-.-? -
<! 8 / ! ! ! @1A
;+3 >
!"#$ !%& '%((( )*+ ,- . #( /%0 %(
- 1 --/( ! ! 2*
3%%%%%3%456178 98 8." 8: -
-;3 ;/
测试 2:2+3+4*5+(6/2)
7. 学习总结
本次实验完成了语义及中间代码生成的设计原理与实现,所采用的方法为算符优
先分析方法, 首先根据文法求出此文法的 集和 集,然后根据他们求
出此文法的算符优先矩阵。由于此文法和第四次文法基本相同,只是多了一条赋值语
句,所以采用的规则和第四次基本相同。在分析阶段,每当遇到有规约的项目,判断
一下,打印出此部运算的四元式,这样一步一步分析,知道输入的算术表达式计算分
析完毕。
由于本次实验部分代码和第四次实验的代码比较相似,只需增加一点四元式的分
< !; < 3! 3 $; 2= . ;) ; 3%%9>8/*
> !+ 3 . + <! ;;2/-.-? -
<! 8 / ! ! ! @1A
;+3 >
剩余21页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 98
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pandas&openpyxl.whl.zip
- COMSOL三维非均质储层的水驱油模型,适用于油藏注水开发模拟 模型为非均质模型,利用地质统计学模拟得到储层的非均质性,加载到comsol中,表征渗透率的非均质性 物理场为达西定律,模型收敛性较好
- 机械设计硫化车间生产线(sw18可编辑+工程图)非常好的设计图纸100%好用.zip
- 磁链观测器(仿真+闭环代码+参考文档) 1.仿真采用simulink搭建,2018b版本 2.代码采用Keil软件编译,思路参考vesc中使用的方法,自己编写的代码能够实现0速闭环启动,并且标注有大量
- 2024照妖镜源码新增QQ面对面红包模板+更新监控
- 机械设计切鱼切菜机sw15可编辑非常好的设计图纸100%好用.zip
- 质子交膜燃料电池(PEMFC Simulink模型) (1)仿真内容:包括燃料电池静态模型、燃料电池动态模型 ①静态模型:可以得到燃料电池的极化曲线,并可计算输出电压、输出功率、效率、产热量、产水量、
- Apifox下载,版本2.3.25
- 机械设计汽车座椅手动滑轨锁夹器组装机step非常好的设计图纸100%好用.zip
- 财务成本模型.pptx
- 智能化水电厂介绍(23页 ).ppt
- 客户价值RFM模型报告.pptx
- 华为车联网解决方案.pptx
- 客户生命周期及价值(28页).pptx
- 企业数字化转型的内涵及云策略(33页).pptx
- 没业绩如何写年终总结.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功