b、从左到右分析,每次向前预测K步的一种编译方法。
c、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。 d、从左到右分析,每次走K步的一种编译方法。 10、素短语是指_______的短语。 ①至少包含一个符号
②至少包含一个非终结符号 ③至少包含一个终结符号
④除自身外不再包含其它终结符号 ⑤除自身外不再包含其它非终结符号 ⑥除自身外不再包含其它短语 ⑦除自身外不再包含其它素短语 可选项有:
a、①④ b、①⑤ c、①⑥ d、②④ e、③⑤ f、③⑦ g、②⑦ 11、文法的二义性和语言的二义性是两个____________概念。 a、不同 b、相同 c、无法判断
12、在编译中产生语法树是为了____________。
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、文法G[S]:S→aS S→W S→U U→a V→bV V→ac W→aW 其中的全部无用符号是( ) a、(W,V,U) b、(V,b)c、(W,V,a, b ,c)d、(W,V,b,c) 16、ab3的另一种表示方法是( )
a、abbb b、ababab c、abbaab d、aaabbb
17、编译过程中,比较常见的中间语言有___________。 ①波兰表示 ②逆波兰表示 ③三元式 ④四元式 ⑤树形表示
可选项有: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、设有文法G[S]=({b},{S,B},S,{S→b|bB, B→bS}),该文法描述的语言是( )。
2i+12i+1i2i
a、{b | i≥1} b、{b | i≥0} c、{b | i≥0} d、{b | i≥0} 二、简答题:(每小题5分,共30分)
1、证明下面文法是二义性的。P→PaP|PbP|cP|Pe|f 2、设一文法E→T|E+T|E-T T→F|T*F|T/F F→(E)|i 证明E+T*(E-T)是它的一个句型,并指出该句型的全部短语,直接短语,句柄和素短语。 3、求出下列文法所产生语言对应的正规式。
S→bS|aA A→aA|bB B→aA|bC|b C→bS|aA
4、将表达式((B*D+A)/E+D)*F+G分别表示为三元式、四元式、逆波兰式序列 5、消除文法G[S]的左递归(G[S])
G[S]:S→AB A→bB|Aa B→Sb|a 6、对下面的文法G[Z]
Z→aB A→aB B→bB B→aA B→b
构造状态转换图,并说明符号串aaaabbb是否是该文法接受的句子
一、选择题(本大题共20小题,每小题1分,共20分)
1、要在某一台机器上为某种语言构造一个编译程序,必须找掌握下述三方面的内容:______。
①高级语言 ②源语言 ③目标语言 ④程序设计方法 ⑤编译方法 ⑥测试方法 ⑦机器语言
可选项有 ①②③④⑤⑥⑦
a、①③⑤ b、①②⑥ c、②③⑤ d、②④⑦ 2、“用高级语言书写的源程序都必须经过编译,产生目标代码后才能投入运行。”这种说法___________。
a、不正确 b、正确
3、若一个文法是递归的,则它所产生的句子个数___________。 a、必定是无穷的 b、是有限个的 c、根据具体情况而定 4、下列文法__________二义文法 E::=EiT|T T::=T+F|iF|F F::=ET|(
可选项有: a、是 b、不是 c、无法判断。
5、编译程序的语法分析器接受以________为单位的输入,并产生有关信息供以后各阶段使用。可选项有: a、表达式 b、产生式 c、 单词 d、语句
6、文法G[Z]:Z→Be A→Ae|e B→Af D→f 中,________是多余产生式 a、 Z→Be b、 A→Ae|e c、B→Af d、D→f 7、算符优先文法属于________。
a、自顶向下语法分析法 b、LR分析法 c、SLR分析法 d、自底向上语法分析法
8、设有文法G[S]=({a},{S,B},S,{S→a|aB, B→aS}),该文法描述的语言是_____ a、{ai|i≥0} b、{ a2i|i≥0} c、{ a2i+1|i≥0} d、{ a2i+1|i≥1} 9、描述语言L={ambn|n≥m≥1}的文法是__________
a、Z→ABb b、Z→ABb c、Z→Ab d、Z→aAb
A→aA|a A→Aa|a A→aAb|a A→Ab|aAb|ε B→bB|b B→aBb|b
10、一个句型中的最左_______称为该句型的句柄。
a、短语 b、直接短语 c、素短语 d、终结符号
11、通常高级语言的词法规则可用正规式描述,词法分析器可用_________来实现 a、语法树 b、有限自动机 c、栈 d、堆
12、文法G[S]:S→AA A→Aa|a不是LR(1)文法,理由是_________。 a、FIRST(S)∩FIRST(A)≠? b、FIRST(A)∩FOLLOW(A)≠? c、FIRST(Aa)∩FIRST(a)≠? d、都不是
13、素短语是指_______的短语。
①至少包含一个符号
②至少包含一个非终结符号 ③至少包含一个终结符号
④除自身外不再包含其它终结符号 ⑤除自身外不再包含其它非终结符号 ⑥除自身外不再包含其它短语 ⑦除自身外不再包含其它素短语 可选项有:
a、①④ b、①⑤ c、①⑥ d、②④ e、③⑤ f、③⑦ g、②⑦
14、给定文法G[S]:S→ACc A→aA|Sb C→Def D→hACDd|eC| E→bDe|ε 该文法是____________。 (1)右线性文法 (2)前后文无关文法 (3)左递归文法 (4)LL(1)文法 可选项有:
a、② b、③ c、②③ d、②③④ 15、算符文法是指____________的文法。
①没有形如U→?VW?的规则 (U、V、W为非终结符) ②终结符号集中任意两个符号对之间至多有一种优先关系成立 ③没有相同的规则右部 ④没有形如U→ε的规则 可选项有
a、① b、①② c、①②③ d、①②③④ 16、下列正规表达式中________与(a|b)*(c|d)等价。 a、(a*|b*)(c|d) b、(a*|b*)*(c|d) c、(ab)*(d|c) d、(a*b*)(cd)
17、若一个句型中出现了某一产生式的右部,则此右部_______是该句型的句柄 a、一定 b、不一定
18、前后文无关文法和正规文法所产生的语言类相比_______
a、前后文无关文法产生的语言类大 b、正规文法产生的语言类大 c、两者产生的语言类一样大 d、无法比较
19、编译过程中,比较常见的中间语言有___________。 ①波兰表示 ②逆波兰表示 ③三元式 ④四元式 ⑤树形表示
可选项有:a、①③④ b、②③④ c、③④①⑤ d、②③④⑤ 20、LL(1)文法的条件是_______________。
a、对形如U→X1|X2|?|Xn的规则,要求FIRST(Xi))∩FIRST (Xj)=? (i≠j) b、对形如U→X1|X2|?|Xn的规则 若Xi?* ε 则要求FIRST(Xj) ∩FOLLOW (U)=? c、a和b d、都不是 二、简答题:(每小题5分,共30分) 1、对于下面的文法G[S]
S→Sa|Ab|b|c A→Bc|a B→Sb|b
构造状态转换图,并说明符号串bcbabcba是否是该文法接受的句子
2、设一文法G[T]:T→T*F|F F→F↑P|P P→(T)|i 证明T*P↑(T*F)是它的一个句型,并指出该句型的全部短语,直接短语,句柄和素短语。 3、求出下列文法所产生语言对应的正规式。 Z→aZ|bZ|aA A→aB B→aA|b 4、将表达式((A+B*D)/E+F)*F+G^E分别表示为三元式、四元式、逆波兰式序列。 5、(5分)消除文法G[S]的左递归
G[S]:S→SA|A A→SB|B|(S)|() B→[S] | [ ] 6、(5分)对下面的文法G[E]
E→E+T|T|@T T→T*F|F F→P↑F|P P→i (+、@、*、↑、i是终结符号) 构造文法的算符优先矩阵表,判断此文法是否是算符优先文法。
一、填空题(每空1分,共20分) 1、假设G是一个文法,S是文法的开始符号,如果S*?X,则称X是 。 2、乔姆斯基定义的四种形式语言分别为: 文法、 文法、 文法、 文法。 3、设有文法G[I]:
I→I1|I0|Ia|Ic|a|b|c ,下列符号串中是该文法的句子的有 (1)ab0 (2)a0c01 (3)aaa (4)bc10
4、一个上下文无关文法G包含四个组成部分依次为:一组 ,一组 ,一个 ,以及一组 。
5、确定的有穷自动机是一个 ,通常表示为 。 6、编译程序一般含有八部分,分别
是 、 、 、 、 、 、 、 。 二、简答题(每题5分,共30分) 1、已知文法G[Z]:
Z→U0|V1 U→Z1|1 V→Z0|0
写出全部由此文法描述的只含有四个符号的句子。 2、文法G[N]为:
N→D|ND
D→0|1|2|3|4|5|6|7|8|9 G[N]的语言是什么? 3、设一文法G[S]
密 封 线