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