1. 翻译、编译、解释的概念
翻译程序:将一种语言程序(源)转换成另一种语言程序(目标),两者在逻辑上是等价的。
编译程序:如果源语言是高级语言,如Pascal,C,Ada,Java语言等,目标语言是低级语言,如汇编语言或机器语言之类的低级语言,则称为编译程序。 先编译,后执行
解释程序:边转换边执行,不生成目标代码。
(编译程序、解释程序都是一种翻译程序(是系统软件,不是应用软件),主要区别在于翻译程序在解释程序的执行过程中不产生目标程序)
2.编译过程
编译过程一般可分为五个阶段:
一、词法分析:识别出源程序中的一个个单词符号
二、语法分析:把单词符号串组合成各类语法单位
三、(可有可无)语义分析与中间代码生成:分析语法范畴的含义,并进行初步翻译(产生中间代码)
四、(可有可无)优化:产生更高效的代码
含优化部分的编译程序执行效率低(因为需要做更多的事才能使目标代码执行效率高)
五、目标代码生成:将中间代码变换成特定机器上的低级语言代码
(目标代码生成是编译程序必须的一个部分。)
3.编译程序的结构
除了五个功能模块,一个完整的编译程序还包括:表格管理和出错处理。
在编译过程中,主要的错误处理是语法错误的检查与恢复。
标签:代码生成,翻译程序,解释程序,第一章,编译,原理,低级语言,编译程序 From: https://blog.csdn.net/m0_74222809/article/details/145191646