概论
- 编译程序是指:将高级语言翻译成汇编语言或者机器语言
- 编译过程
- 词法分析:拼写,识别出一个个单词(保留字、运算符、分界符、标识符、常量)
- 语法分析:语句结构、表达式结构括号匹配,赋值和运算符两端必须有值
- 语义分析:类型匹配数据类型不对是否要强制转换,赋值给常量
- 中间代码产生(非必须产生)伪汇编代码,四元式(运算符,运算对象1,运算对象2,结果)
- 代码优化:为了产生更高效的目标代码,更加省时间和空间
- 目标代码生成
- 表格管理:编译过程中源程序的各种信息,保留在不同的表中,最重要的是符号表(变量信息表)
- 出错处理:能处理的错误处理,不能处理的错误可以继续编译,也可以终止编译
- 编译时错误:词法、语法错误
- 运行时错误:编译程序不管
- 以中间代码产生分隔前端和后端:前端依赖与源程序,后端依赖目标计算机
- 遍
- 一遍扫描:一遍扫描将前端工作全部干完,即一个单词一个单词的进行词法分析,语法分析,语义分析,废空间省时间
- 多遍扫描:每一遍扫描都将全部单词进行词法分析,语法分析,语义分析,省空间废时间
- 解释程序效率低,编译程序效率高
Comments NOTHING