编译原理概述
翻译、解释、编译程序
- 翻译程序:将一种语言描述的程序翻译为另一种语言描述的程序
- 解释程序:一边解释一边执行的翻译程序
- 编译程序:将源程序转为机器语言程序或汇编语言的程序叫做编译程序
编译原理的模块
分析:
-
词法分析器
- 输入:源程序
- 输出:单词
-
语法分析器
- 输入:单词串
- 输出:语法成分
-
语义分析器
综合:
- 中间代码生成器
- 代码优化
- 目标代码生成
辅助:
- 符号功能表
- 出错处理
编译器可分为前端和后端
前端:
- 与源语言有关,与目标机无关的部分
- 词法分析、语法分析、语义分析、中间代码生成、与机器无关的代码优化
后端:
- 与目标机有关的部分
- 与机器有关的代码优化、目标代码生成
实现编译器之T形图
编译器:
移植: