翻译语句为四元式序列
例题1:
while(A<C && B<D)
{if(A>=1)C=C+1;else{while(A<=D)A=A+2;}
}
100(j<,A,C,102)
101(j,_,_,114)
102(j<,B,D,104)
103(j,_,_,114)
104(j>=,A,1,106)
105(j,_,_,109)
106(+,C,1,T1)
107(=,T1,_,C)
108(j,_,_,100)
109(j<=,A,D,111)
110(j,_,_,100)
111(+,A,2,T2)
112(=,T2,_,A)
113(j,_,_,109)
114(出口)
顺序结构中包含着一些跳转。
例题2:
四元式(op,arg1,arg2,result)
n=0,a=1,n=0.5;
while(a)
{n++;h=h*2;if(h>=8848000)a=0;
}
100(=,0,_,n)
101(=,1,_,a)
102(=,0.5,_,h)
103(j!=,a,0,105)
104(j,_,_,113)
105(+,n,1,T)
106(=,T,_,n)
107(+,h,h,T1)
108(=,T1,_,h)
109(j>=,h,8848000,111)
110(j,_,_,103)
111(=,0,_,a)
112(j,_,_,103)
113(出口)
例题3:
if((A<0) or (B>0)) then while(C>0) do C:=C*D
100(j<,A,0,103)
101(j>,B,0,103)
102(j,_,_,出口)
103(j>,C,0,105)
104(j,_,_,出口)
105(*,C,D,T)
106(=,T,_,C)
107(j,_,_,103)
108(出口)
翻译语句为四元式序列相关推荐
- 写出语句的四元式序列
(1) (2)
- 【视频联动】编译原理:写出布尔表达式A or (B and not(C or D)) 的四元式序列。说明:按照控制语句中的布尔表达式翻译
编译原理:写出布尔表达式A or (B and not(C or D)) 的四元式序列.说明:按照控制语句中的布尔表达式翻译 这里是总结的知识点.如果有问题可以下方留言提问,视频已经放到Bilibi ...
- C++实现的利用LR(1)分析表对赋值表达式进行语法制导翻译生成四元式及汇编代码
赋值语句的语法制导翻译 后续已完善算术运算文法.赋值文法.布尔运算文法.if.while.do-while和复合语句文法,编译器项目已上传GitHub,https://github.com/sleep ...
- [编译原理]DO-WHILE循环语句的翻译程序设计(LR(1)方法、输出四元式)C++实现
题目: DO-WHILE循环语句的翻译程序设计(LR(1)方法.输出四元式) 1 课设任务概述 初始条件: 理论:完成编译原理,数据结构.高级编程语言.汇编语言等相关课程的学习,基于计算机专业知识 ...
- 【编译原理】WHILE循环语句的翻译程序设计与实现(递归下降法、输出四元式)(赋值语句的词法分析、语义分析)
注:本文记录 WHUT-计算机学院-编译原理 课程 课内实践 >>点击查看武汉理工大学计算机专业课程资料汇总 项目下载地址:https://download.csdn.net/downlo ...
- 编译原理 赋值语句翻译成四元式
赋值语句及算数表达式的翻译 将赋值语句翻译成四元式的语义描述: (1) S-> id:=A (2) A->id (3) A->int (4) A->real (5) A-> ...
- 期末考试:编译原理——如何将控制语句翻译成四元式.
一 例题 二 总结 1. 将原式翻译成三元式(逻辑就能翻译) 2. 三元式转换为四元式(Op arg1 arg2 存储变量) 3. 常见的变化规则 1. 判断语句 2. 赋值语句
- 【编译原理】:如何将控制语句翻译成四元式
如图: 解决这个问题的方法是: 翻译成三元式(逻辑就能翻译) 三元式转换为四元式 四元式结果 Op arg1 arg2 存储变量 知道这个思路之后,我们就能够很快的做出这道题了
- 【编译原理】 如何将控制语句翻译成四元式
如图: 解决这个问题的方法是: 翻译成三元式(逻辑就能翻译) 三元式转换为四元式 四元式结果 Op arg1 arg2 存储变量 知道这个思路之后,我们就能够很快的做出这道题了
- LR(1)分析表-语法树-四元式
这学期的编译原理终于学完了,不愧是号称最难的科目.要用C++从头到尾实现一下小型编译器,还真不容易啊.不过总算是做完了. 首先上文法,这个文法是根据上一篇博客简化的,但还是有一点问题的,暂时发现有一个 ...
最新文章
- 工具推荐:Astah Community 绘制图形
- mysql8.0.12密码_mysql8.0.12如何重置root密码
- 声音大小与振幅的关系_原来声音的属性有这三种!
- mysql与ms sql server_MS SQL Server和MySQL区别
- 软件工程作业----个人读后感
- MySQL主从复制主库宕机:1更新完relaylog2最大post设为主库 配置及删除之前从库信息3其他从库新建连接
- qgraphicsitem鼠标移动事件阻塞_常用的DOM事件
- 数据库的dml、ddl和dcl的概念
- Oracle入门(十四.5)之识别数据类型
- 兼容最新PS2021 Raya Pro 5 for Mac——值得推荐的PS终极数字混合扩展面板
- 8 QM配置-质量计划配置-维护检验计划的号码范围
- 能源感知型云计算的快速摘要
- HTML5拖拽API的使用实例
- feign post 传递空值_别再问 GET 和 POST 有什么不同了
- Android系统音量范围0-100,步进值5(十三)
- 【ArcGIS|空间分析】微博签到数据分析(全国大学生GIS技能大赛试题)
- 计算机初级培训 ppt,《计算机初级培训》PPT课件
- hdoj 1163 Eddy's digital Roots(数学问题讲究的是分析,找规律)
- 通过CMD命令重启服务器
- Deep Learning(深度学习)学习笔记整理
热门文章
- Zebra_Datepicker
- noise1:A Universal Noise Removal Algorithm With an Impulse Detector
- JDK 11都有了,你还在用哪个版本?
- 慢慢改变一个人性格的10个小习惯
- 英语学习资源(转载)
- 使用pychram安装Python第三方库报错的解决方法
- [小经验]如何设置IBM笔记本R60通过普通电视播放影片
- iSpiik产品说:人物角色 Persona 到底是做什么的?
- Java面向对象知识点5: 关于String类的相关基础知识
- Ionic3添加GoogleAnalytics