编译原理复习题2答案
一、是非题(每题2分,共20分): 1 .×2.√  3.×  4.√  5.√  6.√  7.×  8.√  9.√  10.× 
二、选择题 (每题2分,共10分) BBDCB
三、填空题(每题2分,共30分)
1.扫描器的任务是从( 源程序中    )中识别出一个个( 单词符号    )。
2.编译过程可分为 ( 词法分析) ,(语法分析),(语义分析与中间代码生成 ),(优化)和(目标代码生成 )五个阶段。
3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( 二义性的      )。 
basic语言是解释型语言吗4.从功能上说,程序语言的语句大体可分为(  执行性    )语句和(说明性      )语句两大类。
5.语法分析器的输入是( 单词符号      ),其输出是( 语法单位      )。
6.对于文法G,仅含终结符号的句型称为 ( 句子 )。
7.所谓自上而下分析法是指(从开始符号出发,向下推导,推出句子)
8.局限于基本块范围的优化称( 局部优化  )。
9.2型文法又称为(上下文无关)文法;3型文法又称为(正则 )文法。
10.每条指令的执行代价定义为(指令访问主存次数加1)
11.规范规约中的可规约串是句柄  ,算符优先分析中的可规约串是  最左素短语
12.(A∨ B)∧(C∨ ¬D∧ E) 的逆波兰式是AB∨CD¬E∧∨∧。
13.在属性文法中文法符号的两种属性分别称为继承属性  和综合属性(次序可换)。
14.符号表的每一项是由名字栏和  地址分配 两个栏目组成。在目标代码生成阶段,符号表是  地址分配 的依据。 
15.一个过程的DISPLAY表的内容是它的 直接外层  的DISPLAY表的内容加上本过程的SP的地址
、名词解释题(共2小题,每小题8分,共16分)
1.词法分析
词法分析的主要任务是从左向右扫描每行源程序的符号,按照词法规则从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位,并转换成统一的内部表示(token),送给语法分析程序。
2.LL(1)文法
  若文法的任何两个产生式A     | 都满足下面两个条件:
1FIRST(  )  FIRST( ) = 
2)若  *   ,那么FIRST(  )   FOLLOW( A ) =
  我们把满足这两个条件的文法叫做LL(1)文法,其中的第一个L代表从左向右扫描输入,第二个L表示产生最左推导,1代表在决定分析器的每步动作时向前看一个输入符号。除了没有公共左因子外,LL(1)文法还有一些明显的性质,它不是二义的,也不含左递归。
五、简答(共2小题,每小题12分,共24分)
1.编译程序和高级语言有什么区别?
  用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器语言表示的目标程序(这个过程即编译),才能由计算机执行。执行转换过程的程序叫编译程序。汇编程序是指没有编译过的汇编语言源文件。编译程序转换过的叫目标程序,也就是机器语言。    编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编译程序用来将汇编语言编写的程序,按照一一对应的关系,转换成用机器语言表示的程序。
解释型编译程序将高级语言程序的一个语句,先解释成为一组机器语言的指令,然后立即执行,执行完了,取下一组语句解释和执行,如此继续到完成一个程序止。用解释型编译程序,执行速度很慢,但可以进行人和计算机的"对话",随时可以修改高级语言的程序。BASIC语言就是解释型高级语言。编译型编译程序将
级语言编写的程序,一次就会部翻译成机器语言表示的程序,而且过程进行很快,在过程中,不能进行人机对话修改。FORTRAN语言就是编译型高级语言。
2.编译程序的工作分为那几个阶段?
  词法分析、语法分析和语义分析是对源程序进行的分析(称为编译程序的前端),而中间代码生成、代码优化和代码生成三个阶段合称为对源程序进行综合(称为编译程序的后端),它们从源程序的中间表示建立起和源程序等价的目标程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。