国防科技大学计算机系602教研室编译原理王挺计算机系602教研室Tel:4573649(O)Email:tingwang@nudt.edu.cn网上教学系统:070606302:编译原理http://sei.nudt.edu.cn/cp国防科技大学计算机系602教研室第一章引论本课程介绍程序设计语言编译程序构造的基本原理和基本实现技术.国防科技大学计算机系602教研室第一章引论编译理论与方法计算机科学与技术中理论和实践相结合的最好典范ACM图灵奖,授予在计算机技术领域作出突出贡献的科学家程序设计语言、编译理论与方法约占1/3国防科技大学计算机系602教研室源语言程序目标语言程序翻译程序翻译一.什么是编译程序翻译程序把某一种语言程序(称为源语言程序)等价地转换成另一种语言程序(称为目标语言程序)的程序国防科技大学计算机系602教研室高级语言程序机器语言程序结果编译程序翻译运行一.什么是编译程序编译程序(compiler)把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序诊断编译程序优化编译程序交叉编译程序可变目标编译程序国防科技大学计算机系602教研室一.什么是编译程序解释程序把源语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身源程序结果解释程序解释执行国防科技大学计算机系602教研室编译程序vs.解释程序编译解释国防科技大学计算机系602教研室二.编译过程把英文翻译为中文识别出句子中的一个个单词;分析句子的语法结构;根据句子的含义进行初步翻译;对译文进行修饰;写出最后的译文。词法分析语法分析中间代码产生优化目标代码产生国防科技大学计算机系602教研室二.编译过程编译程序的工作一般分为五个阶段:词法分析语法分析中间代码产生优化目标代码产生国防科技大学计算机系602教研室1.词法分析任务:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词符号。依循的原则:构词规则描述工具:有限自动机FORI:=1TO100DO保留字标识符等符整常数保留字整常数保留字国防科技大学计算机系602教研室2.语法分析任务:在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位。依循的原则:语法规则描述工具:上下文无关文法Z:=X+0.618*Y算术表达式,赋值语句国防科技大学计算机系602教研室3.中间代码产生任务:对各类不同语法范畴按语言的语义进行初步翻译。依循的原则:语义规则中间代码:三元式,四元式,树形结构等Z:=X+0.618*Y...