编译原理第七章—语义分析和中间代码的产生内容总结

本文总结了编译原理中关于语义分析和中间代码产生的内容,包括语义分析任务(静态语义审查和代码生成)、语法制导翻译、DAG图、三元式和四元式表示、数组地址计算以及过程调用的翻译。此外,通过例题分析和学习感悟,阐述了将源代码转换为三地址表达式和四元式的难点,强调了这部分知识对未来学习的重要性。
摘要由CSDN通过智能技术生成

      在上周的时候我们刚刚学习了属性文法和语法制导翻译,为这一张的学习打下了很好的基础。上一章介绍的方法可以很好的应用于语义分析和中间代码的产生中。之前的时候我们学习了抽象语法树的概念,他是源程序的中间表示方法之一,在这一章中我们又学习了后缀式,三地址代码,DAG图的表示等。下面是我对本章内容的总结,例题分析,以及学习的一些感悟。

一、内容总结:

语义分析的任务

1、审查每一个语法结构的静态语义,即验证语法正确的结构是否有意义。

  如:赋值语句:x:=x+y,左边变量类型与右边变量类型是否一致。

2.在语义正确的基础上生成一种中间代码或目标代码

语义分析的范

1.确定类型:确定标识符所关联的数据类型。
2.类型检查:按语言的类型规则,检查运算的合法性与运算分量类型的一致性,必要时作类型转换。
3.识别含义:根据语言的语义定义(形式或非形式),识别程序中各构造成分组合到一起的含义,并作相应的语义处理(生成中间代或目标代码)。
4.控制流检查:控制流语句必须转移到合法的地方 。如 C中,break语句规定跳出最内层的循环或switch语句。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值