编译原理(1)
- 翻译程序:把某一种语言程序(源语言程序)等价地转换成另一种语言程序(目标语言程序)的程序
- 编译程序:把某一种高级语言程序等价地转换成另一种低级语言程序(如:汇编语言或机器语言)的程序
- 解释程序:把源语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身
- 编译程序有诊断编译程序、优化编译程序、交叉编译程序、可变目标编译程序等多种。

什么是宿主机,什么是目标机?
编译程序的平台叫宿主机。编译后产生的代码的运行平台叫目标机。
计算机思维包括什么?
计算机思维:抽象、自动化、分解、递归、权衡(折中)。
编译程序工作的五个阶段:词法分析、语法分析、中间代码产生、优化、目标代码产生。
1.词法分析
任务:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词符号。
依循的原则:构词规则。
描述工具:有限自动机
FOR I := 1 to 100 Do
基本字 标识符 赋值号 整常数 基本字 整常数 基本字
2.语法分析
任务:在此法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位(语法范畴)。
依循的原则:语法规则
描述工具:上下文无关文法

3.中间代码生成
任务:对各类不同语法范畴按语言的语义进行初步翻译
依循的原则:语义规则
中间代码:三元式,四元式,树……

4.优化
任务:对于前阶段产生的中间代码进行加工变换,以期在最后阶段产生更高效的目标代码
依循的原则:程序的等价变换规则
FOR K:=1 TO 100 DO
BEGIN
x:=I+1;
m:=I+10*K;
N:=J+10*K;
END
5.目标代码的产生
任务:把中间代码变换成特定机器上的目标代码
依赖于硬件系统结构和机器指令的含义
目标代码的三种形式:
①绝对指令代码:可直接运行
②可重新定位指令代码:需要连接装配
③汇编指令代码:需要进行汇编
那天我还是偷偷的去见了你,回来后,果不其然的若有所失

浙公网安备 33010602011771号