1.编译原理的地位
-
计算机专业的专业基础课(今后也许不用,但一定要懂,要知道高级语言如何运行)
-
是软件技术基础(想要编好程序,就必须了解程序是如何运行的)
-
是计算机专业的必修的一门主干课
-
是本学科研究生如何考生的科目
2.编译原理的作用:
-
是介绍如何将高级程序设计语言变换成计算机硬件所能识别的机器语言,以便计算机进行处理
-
他的理论基础坚实,其形式化系统不仅应用于编译技术,还大量应用于人工智能、多媒体技术及数据库领域
3.学习任务:
-
掌握编译的理论基础和形式化系统
-
了解编译的全过程及其具体实现方法
4.编译原理引论
4.1程序设计语言与编译
4.1.1程序设计语言
4.1.2在计算上如何执行一个高级语言程序
-
把高级语言程序翻译成机器语言程序
-
运行所得的机器语言程序求得计算结果
注意:翻译:是指能把某种语言的原程序,在不改变语义的条件下,转换成另一种语言程序-目标语言程序
4.1.3编译的转换过程
两阶段转换:编译-运行
-
编译的过程:源程序--经过compire--〉编译程序-->目标代码(0,1代码,exe文件等)
-
运行的过程:初始数据+目标代码-->运行子程序目标代码-->计算结果
三阶段的转换:编译(后产生汇编语言程序)--经过-->汇编-->运行
-
编译时:源程序-->编译程序-->汇编程序
-
汇编时:汇编程序-->目标代码
-
初始数据+目标代码-->运行子程序目标代码-->计算结果
解释:
-
以源程序作为输入,不产生目标程序,一边解释一边执行
-
优点:直观易懂,结构简单,易于实现人机对话
-
缺点:效率低
4.2编译程序概述
-
先看自然语言的翻译:1)识别出句子中的一个个单词2)分析句子的语法结构3)根据句子的含义进行初步翻译4)对译文进行修饰5)写出最后译文
-
编译程序的工作:1)词法分析2)语法分析3)语义分析和中间代码生成4)优化5)目标代码生成