- 语法制导翻译——以语法分析为主导的语义处理,在对源程序进行语法分析的过程中嵌入语义动作
- 源程序——>中间语言——>目标程序
- 中间语言的好处
- 重新生成目标代码容易
- 目标代码更容易优化
- 中间语言的形式
- YACC——是一个程序,它接受LALR文法类。语法分析程序
- LEX——词法分析程序
- 第一次采用形式体系方法定义语法规则的语言是ALGOL语言
- 编译程序组成(8个)
- 源程序
- 词法分析
- 语法分析
- 语义分析
- 中间代码
- 代码优化
- 目标代码
- 目标程序
- 汇编程序——把汇编代码翻译成机器语言的目标程序
- 编译程序——高级语言的源程序翻译成目标程序
- 解释程序——不是直接将高级语言翻译成目标程序后再执行,而是边翻译边执行
- 自编译——高级语言与之对应的编译程序能用该语言本身写出来
- 交叉编译——在A机器上运行,在B机器上产生目标代码
- 移植——把一台计算机上的软件移植到另一台计算机上
- 趟程——从头到尾扫描一遍源程序,并做加工处理
- 自底向上语法分析,总控程序一样,只是分析表各不一样