编译原理试题(5)_第1页
编译原理试题(5)_第2页
编译原理试题(5)_第3页
编译原理试题(5)_第4页
编译原理试题(5)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、德州学院期末考试试题( 1 至学年第学期)课程名称: 考试对象:试卷类型:(1)考试时间:分钟一、填空题:(10分,第1小题每2个1分,其余每空1分)1、编译程序一般含有八部分,分别是、。2、编译程序与解释程序的根本区别是3、一个上下文无关文法G包括四个组成部分依次为:一组_、一个_、一组_、一组_。4、设G是一个文法,S是文法的开始符号,如果S* X,则称X是。二、选择题(本大题共15小题,每小题1分,共15分)1、编译程序生成的目标程序是机器语言程序。A、一定 B、不一定2、设有文法GS=(b,S,B,S,Sb|bB, BbS),该文法描述的语言是。A、bi | i0 B、b2i | i0

2、 C、b2i 1 | i0 D、b2i 1 | i13、设有文法GS: SS*S|S S|(S)|a该文法二义性文法A、是 B、不是 C、无法判断4、汇编程序是将_翻译成_;编译程序是将_翻译成_。A、汇编语言程序 B、机器语言程序C、高级语言程序 D、汇编语言或机器语言程序5、给定文法AbA|cc,下面符号串中,为该文法句子的是。cc bcbc bcbcc bccbcc bbbccA、 B、 C、 D、 E、6、语法分析的常用方法是。自顶向下自底向上自左向右自右向左A、 B、 C、 D、7、已知语言L=anbbn|n1,则下述文法中,可以产生语言LA、ZaZb|aAb|b AaAb|b B、

3、AaAb Ab C、ZAbB AaA|a BbB|b D、ZaAb AaAb|b 8、下列正规表达式中_与(a|b)*(c|d)等价。A、(a*|b*)(c|d) B、(a*|b*)*(c|d) C、(ab)*(d|c) D、(a*b*)(cd)9、算符优先分析法每次都是对进行归约。A、最左短语 B、直接短语 C、句柄 D、素短语 E、最左素短语10、简单优先分析法每次都是对进行归约A、最左短语 B、直接短语 C、句柄 D、素短语 E、最左素短语11、下列文法GS :SAA AAa|a不是LR(1)文法,理由是A.、FIRST(S)FIRST(A) B、FIRST(A)FOLLOW(A)C、F

4、IRST(Aa)FIRST(a) D、都不是12、设有文法GE:EE*E|E E|(E)|a 该文法LR(1)文法A、是 B、不是 C、无法判断13、对于文法GA: AaABe|Ba BdB|有人说,因为FIRST(aABe)FOLLOW(A)并且FIRST(Ba)FOLLOW(A),所以文法GA不是LL(1)文法。这种说法A、正确 B、不正确14、素短语是指_的短语。至少包含一个符号至少包含一个非终结符号至少包含一个终结符号除自身外不再包含其它终结符号除自身外不再包含其它非终结符号除自身外不再包含其它短语除自身外不再包含其它素短语可选项有:A、B、C、D、E、F、G、15、表达式A*(B-C

5、*(C/D)的逆波兰式为A、 ABC-CD/* B、 ABCCD/*-*C、 ABC-*CD/* D、都不正确三、简答题(共35分)1、 (10分)现有文法GE:EE T|E-T|T TT*F|T/F|F F(E)|i画出句型E F*(E i)的语法树,找出它的短语,直接短语,句柄和素短语2、 (5分)对下面的文法GS构造状态转换图,并说明符号串aaba是否是该文法接受的句子: SaA SB AabS AbB Bb BcC CD Dd DbB3、 (10分)将下面具有的NFA确定化4、 (5分)求出下列文法所产生语言对应的正规式。SaA AbA|aB|b BaA。5、 (5分)构造识别下面正规

6、式的NFA (a|b)*ba。 四、 综合题(共40分)1、 (10分)下面的文法GS是否是LL(1)文法,说明理由,构造LL(1)分析表SaBc|bAB AaAb|Bb BcB|2、 (5分)消除下列文法的左递归,消除左递归后判断是否是LL(1)文法。 SSaB|bB AS|a BAc3、 (5分)构造下面算符文法的优先矩阵,判断是否是算符优先文法SA A AaA AB Ba4、 (10分)将表达式A B*(C-D)-E/FG分别表示为三元式、四元式、逆波兰式序列5、 (10分)现有文法如下:SaS|bS|a 判断该文法是哪一类LR文法,说明理由,并构造相应的分析表。德州学院期末考试试题(

7、2 至学年第学期)课程名称: 考试对象:试卷类型:(1)考试时间:分钟二、 选择题(本大题共20小题,每小题1分,共20分)1、汇编程序是将_翻译成_;编译程序是将_翻译成_。a、汇编语言程序 b、机器语言程序 c、高级语言程序 d汇编语言或机器语言程序2、描述一个语言的文法是_。a、唯一的 b、不唯一的 c、个数有限的3、生成非0开头的正偶数集的文法是_。a、Z:=ABC c、Z:=ABC|2|4|6|8C:=0|2|4|6|8 C:=0|2|4|6|8B:=BA|B0| B:=BA|B0|0A:=1|2|3|4|5|6|7|8|9 A:=1|2|3|4|5|6|7|8|9 b、Z:=ABC

8、 d、Z:=ABC|2|4|6|8C:=0|2|4|6|8 C:=0|2|4|6|8B:=BA|B0|0 B:=BA|B0|A:=1|2|3|4|5|6|7|8|9 A:=1|2|3|4|5|6|7|8|94、设有文法GI:II0|I1|I a|Ic|a|b|c下列符号串中是该文法的句子的有_。ab0 a0c01 aaa bc10 可选项有a、 b、 c、 d、5、现有前缀表示的表达式文法G1:E:=-EE E:=-E E:=a|b|c则文法的句子a-bc的所有可能语法树有_棵。a、1 b、2 c、3 d、46、一个上下文无关文法G包括四个组成部分依次为:一组_、一个_、一组_、一组_。a、字

9、符串 b、字母数字串 c、产生式 d、结束符号 e、开始符号 f、文法 g、非终结符号 h、终结符号7、语法分析的常用方法是_:自顶向下 自底向上 自左向右 自右向左 可选项有:a、 b、 c、 d、8、下列文法_二义文法E:=EiT|T T:=T F|iF|F F:=E*|(可选项有: a、是 b、不是 c、无法判断。9、素短语是指_的短语。至少包含一个符号至少包含一个非终结符号至少包含一个终结符号除自身外不再包含其它终结符号除自身外不再包含其它非终结符号除自身外不再包含其它短语除自身外不再包含其它素短语可选项有:a、 b、 c、 d、 e、 f、g、10、LR(K)文法是_。a、从左到右分

10、析,共经过K步的一种编译方法。b、从左到右分析,每次向前预测K步的一种编译方法。c、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。d、从左到右分析,每次走K步的一种编译方法。11、在编译中产生语法树是为了_。a、语法分析 b、语义分析 c、词法分析 d、产生目标代码12、文法的二义性和语言的二义性是两个_概念。a、不同 b、相同 c、无法判断13、下述正规表达式中_与(a* b)*(c d)等价。1 a*(c d) b(c d)2 a*(c d)* b(c d)*3 a*(c d) b*(c d)4 (a b)*c (a b)*d5 (a* b)*c (a* b)*d可选

11、项有:a、 b、 c、 d、 e、 f、 g、14、 _这样的语言,他们能被确定的有限自动机识别,但不能用正规表达式表示:a、存在 b、不存在 c、无法判定是否存在15、LL(K)文法_二义性的。a、都是 b、都不是 c、不一定都是16、下面的文法是_。S:=aAa|aBb|bAb|bBa A:=x B:=x可选项有:a、LR(1)文法 b、LALR(1)文法 c、都不是 d、a和b17、编译过程中,比较常见的中间语言有_。波兰表示逆波兰表示三元式四元式树形表示可选项有:a、 b、 c、 d、18、-a-(b*c/(c-d) (-b)*a)的逆波兰表示是_。a、abc*cd-b-a* /- b

12、、a-bc*cd-b-a* /-c、a-bc*cd-/b-a* - d、a-bc*/cd-b-a* -19、在编译程序中安排中间代码生成的目的是_。便于进行存储空间的组织利于目标代码优化利于编译程序的移植利于目标代码的移植利于提高目标代码的质量可选项有:a、 b、 c、 d、20、代码优化的主要目标是_。如何提高目标程序的运行速度如何减少目标程序运行所需的空间。如何协调和 如何使生成的目标代码尽可能简短可选项有:a、 b、 c、 d、三、 简答题:(每小题5分,共35分)1、 证明下面文法是二义性的。S:=ibtSeS|ibtS|a2、 现有文法S:=SaA|A A:=AbB|B B:=cSd

13、|e请证实是文法的一个句型,并写出该句型的所有短语、素短语以及句柄。3、 求出下列文法所产生语言对应的正规式。S:=bS|aA A:=aA|bB B:=aA|bC|b C:=bS|aA4、 将表达式(a*d c)/d e)*f g分别表示三元式、四元式、逆波兰式序列5、 消除下列文法的左递归。S:=SaP|Sf|P P:=QbP|Q Q:=cSd|e6、 给出与下图的NFA等价的正规文法。ab7、对基本块P画出DAG图B:=3D:=A CE:=A*CF:=E DG:=B*FH:=A CI:=A*CJ:=H IK:=B*5L:=K JM:=L假定只有L在基本块出口之后活跃,写出优化后的四元式序列

14、。四、 问答题:(共计45分)1、 已知文法G A:=aABe|a B:=Bb|d(1) 给出与上述文法等价的LL(1)文法G。(2) 构造预测分析表并给出输入串aade#分析过程。(10分)2、 设已给文法G: E:=E T E:=T T:=T*F T:=F F:=PF F:=P P:=(E) P:=i构造此文法的算符优先矩阵。(10分)3、 有正规式b*abb*(abb*)*(1) 构造该正规式所对应的NFA(画出状态转换图)。(2) 将所求的NFA确定化。(画出确定化的状态转换图)。(3) 将所求的NFA最小化。(画出最小化后的状态转换图)。(10分)4、 若有文法G(S)的产生式如下:

15、S:=L=R S:=R L:=*R L:=i R:=L,构造识别所有项目集规范族的DFA。(15分)(1) 判断该文法是否是LR(0)文法,说明理由。(2) 判断该文法是否是SLR(1)文法,说明理由。(3) 判断该文法是否是LR(1)文法,说明理由。(4) 判断该文法是否是LALR(1)文法,说明理由德州学院期末考试试题( 3 至学年第学期)课程名称: 考试对象:试卷类型:(1)考试时间:分钟一、 单项选择题(20分,每小题1分)1、文法G1:P aPQR| abR,RQ QR,BQ bb,bR bc,cR cc,它是chomsky哪一型文法?A、0型 B、1型 C、2型 D、3型2、编译程

16、序必须完成的工作有词法分析语法分析语义分析代码生成中间代码生成代码优化 B、 C、 D、3、LR(K)文法_二义性的。A、都是 B、都不是 C、不一定都是4、语法分析的常用方法是_。自顶向下自底向上自左向右自右向左A、 B、 C、 D、5、用高级语言书写的源程序都必须经过编译,产生目标代码后才能投入运行,这种说法A、不正确 B、正确6、生成非0开头的正偶数集的文法是_。A、Z:=ABC B、Z:=ABC|2|4|6|8C:=0|2|4|6|8 C:=0|2|4|6|8B:=BA|B0| B:=BA|B0|0A:=1|2|3|4|5|6|7|8|9 A:=1|2|3|4|5|6|7|8|9 C、

17、Z:=ABC D、 Z:=ABC|2|4|6|8C:=0|2|4|6|8 C:=0|2|4|6|8B:=BA|B0|0 B:=BA|B0|A:=1|2|3|4|5|6|7|8|9 A:=1|2|3|4|5|6|7|8|97、文法G所描述的语言是的集合A、文法G的字汇表V中所有符号组成的符号串B、文法G的字汇表V的闭包V*中的所有符号串C、由文法的开始符号推出的所有符号串D、由文法的开始符号推出的所有终结符号串。8、给定文法GI:II1|I0|Ia|Ic|a|b|c,下面符号串中,为该文法句子的是。 ab0 a0c01aaabc10A、 B、 C、 D、9、_这样的语言,他们能被确定的有限自动机

18、识别,但不能用正规表达式表示:A、存在 B、不存在 C、无法判定是否存在10、LR(K)文法是_。A、从左到右分析,共经过K步的一种编译方法。B、从左到右分析,每次向前预测K步的一种编译方法。C、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。D、从左到右分析,每次走K步的一种编译方法。11、-a-(b*c/(c-d)(-b)*a)的逆波兰表示是_。A、a-bc*cd-/b-a* - B、a-bc*/cd-b-a* -C、abc*cd-b-a* /- D、a-bc*cd-b-a* /-12、设有文法GS=(b,S,B,S,Sb|bB, BbS),该文法描述的语言是。A、b2

19、i 1 | i1 B、b2i 1 | i0 C、bi | i0 D、b2i | i013、素短语是指_的短语。至少包含一个符号至少包含一个非终结符号至少包含一个终结符号除自身外不再包含其它终结符号除自身外不再包含其它非终结符号除自身外不再包含其它短语除自身外不再包含其它素短语可选项有:A、 B、 C、 D、 E、 F、 G、14、算符优先分析属于分析方法。A、自顶向下 B、自底向上 C、自左向右 D、自右向左15、简单优先分析法每次都是对进行归约A、最左短语 B、直接短语 C、句柄 D、素短语 E、最左素短语16、文法GS:SaS SW SU Ua VbV Vac WaW其中的全部无用符号是A

20、、W,V ,U B、V,b C、 W,V,a, b ,c D、W,V,b,c17、程序基本块是指A、一个子程序 B、一个仅有一个入口和一个出口的语句C、一个没有嵌套的程序段D、一组顺序执行的程序段,仅有一个入口和一个出口18、设有文法GZ:ZZ*Z|Z Z|(Z)|a 该文法二义性文法A、是 B、不是 C、无法判断19、下列正规表达式中_与(a|b)*(c|d)等价。A、(a*|b*)(c|d) B、(a*|b*)*(c|d) C、(ab)*(d|c) D、(a*b*)(cd)20、语法分析的任务是分析单词是怎样构成的分析单词串是如何构成语句和说明的分析语句和说明是如何构成程序的分析程序的结构

21、A、 B、 C、 D、二、(简答题,共计20分)1、(10分)已知文法G(T):TT*F|FFFP|PP(T)|i(1)写出句型T *P(T*F)推导过程,画出语法树;(2)写出句型T *P(T*F)的短语、直接短语、句柄和素短语。2、(5分)构造识别下面正规式的NFAb(aa|bb)*ab3、(5分)消除文法GS的左递归GS:SAB AbB|Aa BSb|a三、(综合题,共计30分)1、(10分)将下面具有的NFA确定化和最小化2、(10分)(1)对下面的文法GZZaB AaB BbB BaA Bb 构造状态转换图,并说明符号串aaaabbb是否是该文法接受的句子(2)写出GZ文法相应的正规

22、式:3、(10分)设有以下文法GS:SaAbDe|d ABSD|e BSAc|cD|DSe|(1)求出文法中每个非终结符的FOLLOW集(2)该文法是LL(1)文法吗?构造LL(1)分析表四、(综合题,共计30分)1、(10分)将表达式(B*D A)/E D)*F G分别表示为三元式、四元式、逆波兰式序列2、(10分)对基本块P画出DAG图B:=3D:=A CE:=A*CF:=E DG:=B*FH:=A CI:=A*CJ:=H IK:=B*5L:=K JM:=L假定只有L在基本块出口之后活跃,写出优化后的四元式序列。3、(10分)对于文法GS:SaBb | aAa |bAb|bBa Ax Bx

23、 (1)判断该文法是否是LR(1)文法,构造LR(1)分析表(2)判断该文法是否是LALR(1)文法,说明理由德州学院期末考试试题( 4 至学年第学期)课程名称: 考试对象:试卷类型:(1)考试时间:分钟一、选择题(本大题共20小题,每小题1分,共20分)1、描述一个语言的文法是_。a、唯一的 b、不是唯一的 c、个数有限的2、简单优先分析法每次都是对_进行归约。a、最左短语 b、直接短语 c、句柄 d、素短语 e、最左素短语3、设有文法GI:II0 |I1 |Ia |Ic |a |b |c下列符号串中是该文法的句子的有_。ab0 a0c01 aaa bc10 可选项有a、 b、 c、 d、4

24、、LR(K)文法_二义性的。a、都是 b、都不是 c、不一定都是5、一个上下文无关文法G包括四个组成部分依次为:一组_、一个_、一组_、一组_。a、字符串 b、字母数字串 c、产生式 d、结束符号 e、开始符号 f、文法 g、非终结符号 h、终结符号6、文法G所描述的语言是_的集合a、文法G的字汇表V中所有符号组成的符号串b、文法G的字汇表V的闭包V*中的所有符号串c、由文法的开始符号推出的所有符号串d、由文法的开始符号推出的所有终结符号串。7、设有文法GZ:ZZ*Z|Z Z|(Z)|a 该文法_二义性文法a、是 b、不是 c、无法判断8、语法分析的常用方法是_:自顶向下 自底向上 自左向右

25、自右向左 可选项有:a、 b、 c、 d、9、LR(K)文法是_。a、从左到右分析,共经过K步的一种编译方法。b、从左到右分析,每次向前预测K步的一种编译方法。c、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。d、从左到右分析,每次走K步的一种编译方法。10、素短语是指_的短语。至少包含一个符号至少包含一个非终结符号至少包含一个终结符号除自身外不再包含其它终结符号除自身外不再包含其它非终结符号除自身外不再包含其它短语除自身外不再包含其它素短语可选项有:a、 b、 c、 d、 e、 f、 g、11、文法的二义性和语言的二义性是两个_概念。a、不同 b、相同 c、无法判断12

26、、在编译中产生语法树是为了_。a、语法分析 b、语义分析 c、词法分析 d、产生目标代码13、下列正规表达式中_与(a|b)*(c|d)等价。a、(a*|b*)(c|d) b、(a*|b*)*(c|d) c、(ab)*(d|c) d、(a*b*)(cd)15、 _这样的语言,他们能被确定的有限自动机识别,但不能用正规表达式表示:a、存在 b、不存在 c、无法判定是否存在16、 文法GS:SaS SW SU Ua VbV Vac WaW其中的全部无用符号是( ) a、(W,V,U) b、(V,b)c、(W,V,a, b ,c)d、(W,V,b,c)16、ab3的另一种表示方法是( )a、abbb

27、 b、ababab c、abbaab d、aaabbb17、编译过程中,比较常见的中间语言有_。波兰表示逆波兰表示三元式四元式树形表示可选项有:a、 b、 c、 d、18、-a-(b*c/(c-d) (-b)*a)的逆波兰表示是_。a、abc*cd-b-a* /- b、a-bc*cd-b-a* /-c、a-bc*cd-/b-a* - d、a-bc*/cd-b-a* -19、在编译程序中安排中间代码生成的目的是_。便于进行存储空间的组织利于目标代码优化利于编译程序的移植利于目标代码的移植利于提高目标代码的质量可选项有:a、 b、 c、 d、20、设有文法GS=(b,S,B,S,Sb|bB, Bb

28、S),该文法描述的语言是( )。 a、b2i 1 | i1 b、b2i 1 | i0 c、bi | i0 d、b2i | i0二、简答题:(每小题5分,共30分)1、证明下面文法是二义性的。PPaP|PbP|cP|Pe|f 2、设一文法ET|E T|E-T TF|T*F|T/F F(E)|i 证明E T*(E-T)是它的一个句型,并指出该句型的全部短语,直接短语,句柄和素短语。3、求出下列文法所产生语言对应的正规式。SbS|aA AaA|bB BaA|bC|b CbS|aA4、将表达式(B*D A)/E D)*F G分别表示为三元式、四元式、逆波兰式序列5、消除文法GS的左递归(GS)GS:S

29、AB AbB|Aa BSb|a 6、对下面的文法GZZaB AaB BbB BaA Bb 构造状态转换图,并说明符号串aaaabbb是否是该文法接受的句子三、问答题:(共50分)1、已知文法G S:=bBc|aAB A:=bAa|a B:=a|写出所有非终结符号的First集和Follow集,构造预测分析表并给出输入串abbaaa分析过程。(10分) 2、正规式0(0|1)*1构造该正规式所对应的NFA(画出状态转换图)。将所求的NFA确定化和最小化。(分别画出确定化和最小化的状态转换图)。(10分)3、若有文法G(S)的产生式如下:S:=bASB|bA A:=dSa|b B:=cAa|c构造

30、识别所有项目集规范族的DFA。(20分)判断该文法是否是LR(0)文法,说明理由。判断该文法是否是SLR(1)文法,说明理由。判断该文法是否是LR(1)文法,说明理由。判断该文法是否是LALR(1)文法,说明理由。4、简述编译的整个过程(10分)。德州学院期末考试试题( 5 至学年第学期)课程名称: 考试对象:试卷类型:考试时间:分钟一、选择题(本大题共20小题,每小题1分,共20分)1、要在某一台机器上为某种语言构造一个编译程序,必须找掌握下述三方面的内容:_。高级语言 源语言 目标语言 程序设计方法 编译方法 测试方法 机器语言可选项有 a、 b、 c、 d、2、“用高级语言书写的源程序都必须经过编译,产生目

温馨提示

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

评论

0/150

提交评论