编译原理
作业参考答?/p>
1
?/p>
1
?/p>
?/p>
言
1
、解释下列各?/p>
源语言
:
编写源程序的语言(基本符号,关键字)
,各种程序设计语言都可以作为源语言?/p>
源程?/p>
:
用接近自然语言(数学语言)的源语言(基本符号,关键字)编写的程序,它是翻译
程序处理的对象?/p>
目标程序
:
目标程序是源程序经过翻译程序加工最后得到的程序。目标程?/p>
(结果程序)一般可由计算机直接执行?/p>
低级语言:机器语言和汇编语言?/p>
高级语言:是人们根据描述实际问题的需要而设计的一个记号系统。如同自然语言(接近数?/p>
语言和工程语言)一样,语言的基本单位是语句,由符号组和一组用来组织它们成为有确定意义?/p>
组合规则?/p>
翻译程序
:
能够把某一种语言程序(源语言程序)改变成另一种语言程序(目
标语言程序?/p>
,后者与前者在逻辑上是等价的。其中包括:编译程序,解释程序,汇编程序?/p>
编译程序
:
把输入的源程序翻译成等价的目标程序(汇编语言或机器语言?/p>
?/p>
然后再执行目标程序(先编译后执行?/p>
,执行翻译工作的程序称为编译程序?/p>
解释程序
:
以该语言写的源程序作为输入,但不产生目标程序。按源程序中语句动态顺序逐句
的边解释边执行的过程,完成翻译工作的程序称为解释程序?/p>
2
、什么叫“遍”?
指对源程序或源程序的中间形式(如单词,中间代码)从头到尾扫描一次,并作相应的加工处
理,称为一遍?/p>
3
、简述编译程序的基本过程的任务?/p>
编译程序的工作是指从输入源程序开始到输出目标程序为止的整个过程,整个过程可以划分
5
个阶段?/p>
词法分析:输入源程序,进行词法分析,输出单词符号?/p>
语法分析:在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位,并
判断输入串是否构成语法正确的“程序?/p>
?/p>
中间代码生成:按照语义规则把语法分析器归约(或推导)出的语法单位翻译成一定形式的?/p>
间代码?/p>
优化:对中间代码进行优化处理?/p>
目标代码生成:把中间代码翻译成目标语言程序?/p>
4
、编译程序与解释程序的区别?
编译程序生成目标程序后,再执行目标程序;然而解释程序不生成目标程序,边解释边执行?/p>
5
、有人认为编译程序的五个组成部分缺一不可,这种看法正确吗?/p>
编译程序?/p>
5
个阶段中,词法分析,语法分析,语义分析和代码生成生成是必须完成的。而中
间代码生成和代码优化并不是必不可少的。优化的目的是为了提高目标程序的质量,没有这一部分
工作,仍然能够得到目标代码?/p>
6
、编译程序的分类
目前基本分为:诊断编译程序,优化编译程序,交叉编译程序,可变目标编译程序?/p>