编译原理-绪论

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

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

 

什么是编译?

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

 

预处理器:

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

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

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

加载器:

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

链接器:

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

编译系统的结构:

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

词法分析:

D表示声明语句

T声明类型

IDS表示标志符序列

|表示或关系

语义分析:

主要任务:

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

常用的中间表示形式:

目标代码:

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

 

你可能感兴趣的:(编译原理,知识点)