1、 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,则下述文法中, 可以产生语言L A、ZaZb|aAb|b AaAb|b B、AaAb Ab C、ZAbB AaA|a B
2、bB|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、简单优先分析法每次都是对 进行归约11、下列文法GS :SAA AAa|a不是LR(1)文法,理由是 A.、FIRST(S)FIRST(A) B、FIRST(A)FOLLOW(A) C、FIRST(Aa)FIRST(a) D、都不是 12、设有文法GE:EE*E|E+E|(E)|a 该文
3、法 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*(C/D)的逆波兰式为 A、 ABC-CD/* B、 ABCCD/*-* C
4、、 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分)构造识别下面正规式的NFA (a|b)*ba。 四、 综合题(共40分)1、(10分)下面的文法G
5、S是否是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文法,说明理由,并构造相应的分析表。( 2 至 学年第 学期)二、选择题(本大题共20小题,每小题1分,共20分)1、汇编程序是将_翻译成_;a、汇编语言
6、程序 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 d、Z:=BA|B0|0 B:=BA|B0|=1|2|3|4|5|6|7|8|94、设有文法GI:II0|I1|I a|Ic|a|b|c下列符号串中是该文法的句子的有_。ab0 a0c0
7、1 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、字符串 b、字母数字串 c、产生式 d、结束符号 e、开始符号 f、文法 g、非终结符号 h、终结符号7、语法分析的常用方法是_:自顶向下 自底向上 自左向右 自右向左 a、 b、 c、 d、8、下列文法_二义文法=EiT|T T:=T+F|iF|F F:=E*|( a、是 b、不是 c、无法判断。9、素短语是指_的短语。a、 b、 c、 d、
8、 e、 f、g、10、LR(K)文法是_。a、从左到右分析,共经过K步的一种编译方法。b、从左到右分析,每次向前预测K步的一种编译方法。c、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。d、从左到右分析,每次走K步的一种编译方法。11、在编译中产生语法树是为了_。a、语法分析 b、语义分析 c、词法分析 d、产生目标代码12、文法的二义性和语言的二义性是两个_概念。a、不同 b、相同 c、无法判断13、下述正规表达式中_与(a*+b)*(c+d)等价。1a*(c+d)+b(c+d)2a*(c+d)*+b(c+d)*3a*(c+d)+b*(c+d)4(a+b)*c+(a+b
9、)*d5(a*+b)*c+(a*+b)*d可选项有: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)的逆波兰表示是
10、_。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、代码优化的主要目标是_。如何提高目标程序的运行速度如何减少目标程序运行所需的空间。如何协调和 如何使生成的目标代码尽可能简短a、 b、 c、 d、三、简答题:(每小题5分,共35分)1、证明下面文法是二义性的。=ibtSeS|ibtS|a2、现有文法S:=SaA|A A:=AbB|B B:=cSd|e请证实是文法的一个句型,并写出该句型的所有短语、素短语以及句柄。3、求出下列文法所产生语言对应的正规式。=bS|aA A:=aA|bB B:=aA|bC|b C:=bS|aA4、将表达式(a*d+c)/d+e)*f+g分别表示三元式、四元式、逆波兰式序列5、消除下列文法的左递归。=SaP|Sf|P P:=QbP|Q Q:6、给出与下图的NFA等价的正规文法。 a b 7、对基本块P画出DAG图=3D:=A+C=A*CF:=E+DG:=B*FH:I:J:=H+IK:=B*5L:=K+JM:=L假定只有L在基本块出口之后活跃,写出优化后的四元式序列。四
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1