编译原理绪论
Posted localhost-ha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译原理绪论相关的知识,希望对你有一定的参考价值。
基本概念
编译:将高级语言翻译成汇编语言或机器语言的过程
预处理器:聚合不同文件中的源程序;将宏转换为原始语句;
加载器:修改可重定位地址;绝对地址 = 起始位置 + 相对地址;
连接器:连接多个可重定位的机器代码文件;解决外部内存地址问题;
编译系统结构
词法分析器
扫描源程序,识别各个单词并确定其类型,将其转换为统一的机内表示:词法单元(token)形式
token:<种别码,属性值>
语法分析器
- 从词法分析器输出的token序列中识别出各类短语,并构造语法分析树
语义分析器
- 收集标识符属性信息:种属、类型、储存位置、长度、值、作用域、参数和返回值
- 语义检查
中间代码生成器
- 常用中间表示形式:
- 三地址码:类似汇编语言;最多三个操作数;
- 四元式(op,y,z,x)
- 三元式
- 间接三元式
- 三地址码:类似汇编语言;最多三个操作数;
- 语法结构树/语法树
代码优化器
- 使代码运行更快,占空间更少的等价程序变换
目标代码生成器
- 输入源程序的中间表示形式,并把它映射到目标语言
- 为程序中使用的变量合理分配寄存器
以上是关于编译原理绪论的主要内容,如果未能解决你的问题,请参考以下文章