例题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. 写出语句的四元式序列

    (1) (2)

  2. 【视频联动】编译原理:写出布尔表达式A or (B and not(C or D)) 的四元式序列。说明:按照控制语句中的布尔表达式翻译

    编译原理:写出布尔表达式A or (B and not(C or D))  的四元式序列.说明:按照控制语句中的布尔表达式翻译 这里是总结的知识点.如果有问题可以下方留言提问,视频已经放到Bilibi ...

  3. C++实现的利用LR(1)分析表对赋值表达式进行语法制导翻译生成四元式及汇编代码

    赋值语句的语法制导翻译 后续已完善算术运算文法.赋值文法.布尔运算文法.if.while.do-while和复合语句文法,编译器项目已上传GitHub,https://github.com/sleep ...

  4. [编译原理]DO-WHILE循环语句的翻译程序设计(LR(1)方法、输出四元式)C++实现

    题目: DO-WHILE循环语句的翻译程序设计(LR(1)方法.输出四元式) 1 课设任务概述 初始条件: ​ 理论:完成编译原理,数据结构.高级编程语言.汇编语言等相关课程的学习,基于计算机专业知识 ...

  5. 【编译原理】WHILE循环语句的翻译程序设计与实现(递归下降法、输出四元式)(赋值语句的词法分析、语义分析)

    注:本文记录 WHUT-计算机学院-编译原理 课程 课内实践 >>点击查看武汉理工大学计算机专业课程资料汇总 项目下载地址:https://download.csdn.net/downlo ...

  6. 编译原理 赋值语句翻译成四元式

    赋值语句及算数表达式的翻译 将赋值语句翻译成四元式的语义描述: (1) S-> id:=A (2) A->id (3) A->int (4) A->real (5) A-> ...

  7. 期末考试:编译原理——如何将控制语句翻译成四元式.

    一 例题 二 总结 1. 将原式翻译成三元式(逻辑就能翻译) 2. 三元式转换为四元式(Op arg1 arg2 存储变量) 3. 常见的变化规则 1. 判断语句 2. 赋值语句

  8. 【编译原理】:如何将控制语句翻译成四元式

    如图: 解决这个问题的方法是: 翻译成三元式(逻辑就能翻译) 三元式转换为四元式 四元式结果 Op arg1 arg2 存储变量 知道这个思路之后,我们就能够很快的做出这道题了

  9. 【编译原理】 如何将控制语句翻译成四元式

    如图: 解决这个问题的方法是: 翻译成三元式(逻辑就能翻译) 三元式转换为四元式 四元式结果 Op arg1  arg2  存储变量 知道这个思路之后,我们就能够很快的做出这道题了

  10. LR(1)分析表-语法树-四元式

    这学期的编译原理终于学完了,不愧是号称最难的科目.要用C++从头到尾实现一下小型编译器,还真不容易啊.不过总算是做完了. 首先上文法,这个文法是根据上一篇博客简化的,但还是有一点问题的,暂时发现有一个 ...

最新文章

  1. 工具推荐:Astah Community 绘制图形
  2. mysql8.0.12密码_mysql8.0.12如何重置root密码
  3. 声音大小与振幅的关系_原来声音的属性有这三种!
  4. mysql与ms sql server_MS SQL Server和MySQL区别
  5. 软件工程作业----个人读后感
  6. MySQL主从复制主库宕机:1更新完relaylog2最大post设为主库 配置及删除之前从库信息3其他从库新建连接
  7. qgraphicsitem鼠标移动事件阻塞_常用的DOM事件
  8. 数据库的dml、ddl和dcl的概念
  9. Oracle入门(十四.5)之识别数据类型
  10. 兼容最新PS2021 Raya Pro 5 for Mac——值得推荐的PS终极数字混合扩展面板
  11. 8 QM配置-质量计划配置-维护检验计划的号码范围
  12. 能源感知型云计算的快速摘要
  13. HTML5拖拽API的使用实例
  14. feign post 传递空值_别再问 GET 和 POST 有什么不同了
  15. Android系统音量范围0-100,步进值5(十三)
  16. 【ArcGIS|空间分析】微博签到数据分析(全国大学生GIS技能大赛试题)
  17. 计算机初级培训 ppt,《计算机初级培训》PPT课件
  18. hdoj 1163 Eddy's digital Roots(数学问题讲究的是分析,找规律)
  19. 通过CMD命令重启服务器
  20. Deep Learning(深度学习)学习笔记整理

热门文章

  1. Zebra_Datepicker
  2. noise1:A Universal Noise Removal Algorithm With an Impulse Detector
  3. JDK 11都有了,你还在用哪个版本?
  4. 慢慢改变一个人性格的10个小习惯
  5. 英语学习资源(转载)
  6. 使用pychram安装Python第三方库报错的解决方法
  7. [小经验]如何设置IBM笔记本R60通过普通电视播放影片
  8. iSpiik产品说:人物角色 Persona 到底是做什么的?
  9. Java面向对象知识点5: 关于String类的相关基础知识
  10. Ionic3添加GoogleAnalytics