程序文件编译过程
预处理器:
· 把存储在不同文件中的源程序聚合在一起
· 把被称为宏的缩写语句转换为原始语句
可重定位:
· 在内存中存放的起始位置L不是固定的
链接器
· 将多个可重定位的机器代码文件(包括库文件)连接到一起
· 解决外部内存地址问题(引用外部文件的内容造成的)
加载器:
· 修改可重定位地址;
· 将修改后的指令和数据放到内存中适当的位置
起始位置+相对地址=绝对地址
编译器的结构
词法分析
词法分析的主要任务
- 从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。
- 将识别出的单词转换成统一的机内表示——词法单元(token)形式
token:< 种别码,属性值>