编译介绍——哈工大学习篇

1:编译介绍

1.1 计算机程序设计语言以及编译

编译介绍——哈工大学习篇

1.2 编译器在语言处理系统中的位置

编译介绍——哈工大学习篇
可重定位:在内存中存放的的起始地址位置L不是固定的(绝对地址=相对地址+起始位置)
加载器:修改可重定位地址:将修改后的指令和数据放到内存中适当位置
链接器:1:将多个可重定位的机器代码文件(包括库文件)连接在一起。2:解决外部内存地址问题

2:编译系统结构

2.1 人工英汉翻译例子

编译介绍——哈工大学习篇
编译介绍——哈工大学习篇
编译介绍——哈工大学习篇

2.2 编译器结构

编译介绍——哈工大学习篇

3:词法分析概述

3.1 词法分析扫描

编译介绍——哈工大学习篇
词法分析器,又称扫描器,输入源程序,进行词法分析,输出单词符号

词法分析后得到的token序列
编译介绍——哈工大学习篇

4:语法分析概述

编译介绍——哈工大学习篇
例1:赋值语句的分析树
编译介绍——哈工大学习篇
例2:变量声明语句的分析树
编译介绍——哈工大学习篇

5:语义分析概述

5.1 语义分析的主要任务

编译介绍——哈工大学习篇
编译介绍——哈工大学习篇

编译介绍——哈工大学习篇

6:中间代码生成和编译器后端

编译介绍——哈工大学习篇

编译介绍——哈工大学习篇

6.1 三地址指令表示

编译介绍——哈工大学习篇
编译介绍——哈工大学习篇

6.2 中间代码生成例子

编译介绍——哈工大学习篇
编译介绍——哈工大学习篇

7:代码优化

编译介绍——哈工大学习篇