编译原理( 词法分析程序 语法分析程序 语义分析程序 中间代码生成程序 代码优化程序 目标代码生成程序 符号表管理程序)
- 词法分析程序:读字符流的源程序、识别单词
- 语法分析程序:层次分析,把源程序的单词序列组成语法短语(表示成语法树).
- 语义分析程序:语义审查(静态语义)
上下文相关性
类型匹配
类型转换 - 中间代码生成程序:源程序的内部(中间)表示
三元式、四元式、P-Code、C-Code、 U-Code、bytecode - 代码优化程序: 优化中间代码,节省时间、空间
- 目标代码生成程序 :转换为机器指令上的绝对指令代码
- 符号表管理程序:记录源程序中使用的名字
收集每个名字的各种属性信息
类型、作用域、分配存储信息
这几种程序的主要任务可以用一张图表示如下:
其中没写出来的程序任务:
- 符号表管理:记录源程序中使用的名字。收集每个名字的各种属性信息(类型、作用域、分配存储信息)。
- 出错管理:检查错误、报告出错信息、排错、恢复编译工作。