§2.编译程序概述 、翻译程序(Translator) 能够把一种语言程序(称为源语言 程序)转换成逻辑上等价的另一种 语言程序(称为目标语言程序)的 程序 16 CompilerPrinciples
CompilerPrinciples 16 §2.编译程序概述 一、翻译程序(Translator) 能够把一种语言程序(称为源语言 程序)转换成逻辑上等价的另一种 语言程序(称为目标语言程序)的 程序
。任何非机器语言程序都需要翻译程序 必 翻译程序的工作就是进行等价变换(映射) ·两个程序逻辑上等价是指对相同输入得到 相同的输出 汇编程序 翻译程序 解释程序 编译程序 CompilerPrinciples
CompilerPrinciples 17 ❖ 任何非机器语言程序都需要翻译程序 ❖ 翻译程序的工作就是进行等价变换(映射) ❖ 两个程序逻辑上等价是指对相同输入得到 相同的输出 翻译程序 解释程序 汇编程序 编译程序
1. 汇编程序(Assembler) 把汇编语言程序转变为机器语言程序的翻译程序 2. 解释程序(Interpreter) 把源程序作为输入接收,边解释边执行的翻译程序 源程序 解释 结果 数据 程序 18 CompilerPrinciples
CompilerPrinciples 18 1. 汇编程序(Assembler) 把汇编语言程序转变为机器语言程序的翻译程序 2. 解释程序(Interpreter) 把源程序作为输入接收,边解释边执行的翻译程序 源程序 数据 解释 程序 结果
3.编译程序 将高级语言程序转变为低级语言程序的翻译程序 源程序 编译 目标 程序 程序 19 CompilerPrinciples
CompilerPrinciples 19 3. 编译程序 将高级语言程序转变为低级语言程序的翻译程序 源 程 序 编译 程 序 目 标 程 序
File "pi.e” text globl main ,咽 in,hcti动 时n 动 %ebp ain(){ movl 印,b师 subl 都.%p int x 12; 欧d -16. int y=34: movl 0.%这 d 15,%ax etum(xt2ky】 addl 15.%z r 礼,%a这 9.%eax eax s 12.-4%bp) movl 334.-86bp) movl -8(p).这 sall ax addl -(%bp).%as leave ret size main,.-main section .note.GNU-stad:@progbits ,idnt"0℃:(N)3.4.32050227(six2.03.4.3-2.1.1) 20
CompilerPrinciples 20