编译原理-绪论

因为近期数学建模、数据挖掘类比赛搞得编译原理之前听的都忘了,最近学的都没学会,所以观看编译原理(哈工大)视频学习,因为经常会容易忘,所以把要点什么的都截取了一下,以防万一我后续复习使用。

在此声明,此为本人观看视频整理知识点所使用,图片内容均源自编译原理(哈工大陈鄞老师)所讲内容。

 

什么是编译?

  • 机器语言:可以被计算机直接理解的(都是0、1)
  • 汇编语言:引入了助记符,更加直观,
  1. 但是依赖特定的机器(不利于非专业人士使用),
  2. 编写效率低
  • 高级语言:类似于数学定义或自然语言的简介形式,
  1. 接近人类的表达习惯、
  2. 不依赖于特定机器
  3. 编写效率高

 

预处理器:

  1. 把存储在不同文件中的源程序聚合在一起
  2. 把成为的缩写语句转换为原始语句

可重定位:在内存中存放的起始位置L不是固定的

起始位置+相对位置=绝对地址

加载器:

  1. 修改可重定位地址
  2. 将修改后的指令和数据放到内存的适当位置

链接器:

  1. 将多个可重定位的机器代码文件(包括库文件)连接到一起
  2. 解决外部内存地址问题

编译系统的结构:

                                   (多个部分可能合到一起进行)

词法分析:

D表示声明语句

T声明类型

IDS表示标志符序列

|表示或关系

语义分析:

主要任务:

  1. 收集标识符的属性信息
  2. 语义检查

常用的中间表示形式:

目标代码:

指机器所能识别的机器指令代码汇编指令代码

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值