编译原理试题A_第1页
编译原理试题A_第2页
编译原理试题A_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理试题(A)一、 填空题 1. 编译程序的工作过程一般可划分为五个阶段:_、语法分析、_、代码优化和目标代码生成。在编译程序的各个阶段中都要涉及到_和_。2. 程序语言的单词符号一般分为五种:关键词、_、常数、运算符和_。3. _是规范推导,_是规范规约。4. 文法的分析方法分为自顶向下和_两种。LL(1)分析法属于_的分析方法,优先分析法和LR分析法属于_的分析方法。5. 词法分析程序所输出的单词符号包含两种信息:_和单词自身的值。6. 某些非LL(1)文法可以通过_和_的方法转化为等价的LL(1)文法。7. 优先分析法分为简单优先分析法和_,a>b表示_。8. 写出下列表达式a

2、 : = b * c + b / d的逆波兰式: _。9. 两种动态存储分配方式是:_动态存储分配和_动态存储分配。10. 代码优化技术包括:删除多余运算,_,强度削弱,_,合并已知量与复写传播,_。11. _区分了正规文法和上下文无关文法。12. *表示集合的闭包。_表示集合的正闭包。13. 符号串aabb的长度为_,的长度为_。14. 项目分为_,待约项目,_和接受项目。15. 语言制导的编译程序能同时进行_和_。二、 设有文法GE:E E + T | E T | T T T * F | T / F | F F ( E ) | I 请给出句型( T + I ) * I F 的规范推导过程,

3、画出相应的语法树,并指出该句型的所有短语、直接短语和句柄。三、 设DAF M = ( A , B , C , D , 0 , 1 , f , A , B ) , 其中 f (A , 0 ) = B f (B , 0 ) = D f (C , 0 ) = B f (D , 0 ) = Df (A , 1 ) = D f (B , 1 ) = C f (C , 1 ) = D f (D , 1 ) = D画出该自动机对应的状态转换图,并根据转换规则给出其右线性文法。四、 设有文法GS:S a | | ( T ) T S L L , S L |判断该文法是否是一个LL(1)文法。五、 设有文法GS:

4、S A | B A aAb | c B aBb | d 请构造出识别该文法所有规范句型活前缀的DFA。六、 将语句 while ABD do if ( x 6 ) then X = X 1 else Y = X + 1翻译成一组四元式。七、 构造以下基本块的DAG。 (1) T0 = 3.14 ( 6 ) T3 =2 * T0(2) T1 = 2 * T0 ( 7 ) T4 = R + r(3) T2 = R + r ( 8 ) T5 =T3 * T4(4) A = T1 * T2 ( 9 ) T6 = R r(5) B = A ( 10 ) B =T5 * T6编译原理试题(C)一、 填空题

5、 a) 编译程序的工作过程一般可划分为五个阶段:词法分析、_、_、代码优化和目标代码生成。在编译程序的各个阶段中都要涉及到_和_。b) 程序语言的单词符号一般分为五种:_、标识符、常数、运算符和_。c) 符号串ab与ba的连接结果为_,ab的0次幂为_。d) 文法的分析方法分为自顶向下和_两种。LL(1)分析法属于_的分析方法,优先分析法和LR分析法属于_的分析方法。e) 词法分析程序所输出的单词符号包含两种信息:_和单词自身的值。f) 某些非LL(1)文法可以通过_和_的方法转化为等价的LL(1)文法。g) 优先分析法分为简单优先分析法和_,a<b表示_。h) 常用的中间代码形式有逆波

6、兰式,三元式,_和树形表示。写出下列表达式a : = b*c+b*d的逆波兰式: _。i) 两种动态存储分配方式是:_动态存储分配和_动态存储分配。j) 代码优化技术包括:_,代码外提,_,变换循环控制条件,合并已知量与_,删除无用赋值。k) _区分了正规文法和上下文无关文法。l) 文法可分为四类,它们是0型文法、1型文法、2型文法、3型文法。其中2型文法和3型文法又分别称为_和_。m) 符号串aabbcc的长度为_,的长度为_。n) 项目分为_,待约项目,_和接受项目。o) 语言制导的编译程序能同时进行_和_。二、 根据正规式(a | b)* (aa | bb) (a | b)*构造相应的NFA 三、 将下图所示的NFA转换为等价的DFA 四、 设有文法GS: EE+T | T TT*F | F Fi | (E) 判断该文法是否是一个LL(1)文法。五、 设有文法GE: E aA | bB A cA | d B cB | d 请构造出识别该文法所有规范句型活前缀的DFA。六、 将语句 while ABD do if ( X 6 ) then X = X 1 else Y = X + 1 翻译成一组四元式。七、 构造以下基本块的DAG。 i. T0 = 3.14 ( 6 ) T3 =2 * T0ii. T1 = 2 *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论