编译原理第二章练习题

合集下载

《编译原理》单元测试第二章试题

《编译原理》单元测试第二章试题

编译原理2014—2015学年第二学期第二单元测试试卷(闭卷考试)时间:45分钟满分:100分姓名班级出题人刘兵班级 02一、选择题(5*2分)(每题1分,共10分)1.文法分为四种类型,即0型、1型、2型、3型。

其中3型文法是_____。

A. 短语文法B.正则文法C.上下文有关文法D.上下文无关文法2.文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是_____A. L(G[N])={bi│i≥0}B. L(G[N])={b2i│i≥0}C. L(G[N])={b2i+1│i≥0}D. L(G[N])={b2i+1│i≥1}3.一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组_______A. 句子B. 句型C. 单词D. 产生式4.一个句型中的最左______称为该句型的句柄。

可选项有:A. 短语B. 简单短语C. 素短语D. 终结符号5.文法G[E]:E→T∣E+T T→F∣T﹡F F→a∣(E)该文法句型E+F﹡(E+T)的简单短语是下列符号串中的______ 。

①(E+T)②E+T ③F ④F﹡(E+T)可选项有:A) ①和③B) ②和③C) ③和④D) ③二、简答题(2*10分)(每题10分,共20分)1.解释语言、语法和语义的概念。

2. 文法 S→S(S)S|ε(1) 生成的语言是什么?(2) 该文法是二义的吗?说明理由。

三、分析题(4题共70分)1.文法 G[S]为:S→Ac|aBA→abB→bc该文法是否为二义的?为什么?2.考虑下面上下文无关文法:S→SS*|SS+|a(1)表明通过此文法如何生成串 aa+a*(2)G[S]的语言是什么?3.令文法 G[E]为:E→T|E+T|E-TT→F|T*F|T/FF→(E)|i证明 E+T*F 是它的一个句型,指出这个句型的所有短语、直接短语和句柄。

编译原理第二版作业答案_第2章

编译原理第二版作业答案_第2章

第二章 文法和语言p48 4、6(6)、11、 12(2)(6)、18(2)4 证明文法G=({E,O},{(,),+,*,v ,d},P ,E )是二义的,其中P 为 E → EOE | (E) | v | d O → + | * 证明:因为E=〉 EOE =〉EOEOE =〉EOEOv =〉EOE+v=〉EOv+v =〉E*v+v =〉v*v+v , 句子v*v+v 有两棵不同的语法树所以文法G 是二义的。

问题:1)只有文字说明,比如v*v+v 有两棵语法树,但没有画出语法树或者最左(最右)推导过程2)给出的是不同句子(v*v+d v+v*d )的语法树 6、已知文法G :EEEE OO v*v+ vE EE E O O v+v* v〈表达式〉∷=〈项〉|〈表达式〉+〈项〉〈项〉∷=〈因子〉|〈项〉*〈因子〉〈因子〉∷=(〈表达式〉)| i试给出下述表达式的推导及语法树(6)i+i*i推导过程:〈表达式〉=〉〈表达式〉+〈项〉E=〉E+T =〉〈表达式〉+〈项〉*〈因子〉=〉E+ T*F=〉〈表达式〉+〈项〉* i =〉E+ T*i=〉〈表达式〉+ 〈因子〉* i =〉E+F*i=〉〈表达式〉+ i* i =〉E+i*i=〉〈项〉+ i* i =〉T +i*i=〉〈因子〉+ i* i =〉F +i*i=〉i +i*i =〉i +i*i 共8步推导语法树:〈表达式〉+〈因子〉〈项〉i 〈因子〉i〈项〉〈项〉〈因子〉i*11、一个上下文无关文法生成句子abbaa的推导树如下:(1)给出该句子相应的最左推导和最右推导(2)该文法的产生式集合P可能有哪些元素?(3)找出该句子的所有短语、简单短语、句柄。

(1)最左推导:S=〉ABS=〉aBS=〉aSBBS=〉aBBS=〉abBS=〉abbS =〉abbAa=〉abbaa最右推导:S =〉ABS=〉ABAa=〉ABaa=〉ASBBaa=〉ASBbaa=〉ASbbaa=〉Abbaa=〉abbaa(2)该文法的产生式集合P可能有下列元素:S→ABS | Aa|εA→a B→SBB|b(3)因为字符串中的各字符有相对的位置关系,为了能相互区别,给相同的字符标上不同的数字。

编译原理chapter2习题

编译原理chapter2习题

习题3 习题3
有NFA定义如下: NFA定义如下:
N:S={0,1}, ∑={a,b}, s0=0, F={0} move: m(0,a)=0, m(0,a)=1, m(0,b)=1 m(1,a)=0 (1)画出N的状态转换图; (1)画出N (2)构造N的DFA D图; (2)构造N D图; (3)给出D所接受语言的正规式描述。 (3)给出D
a 0
a,b 1 a a 2 a b b 3 DFA图 图 a NF规式描述:
最小化的DFA 最小化的
a 0 a b 1
正规式描述:(a| ba)* 正规式描述:
习题4 习题4
处于/ 处于/ *和* /之间的串构成注解,构 造接受这种注解的DFA图。 造接受这种注解的DFA图。 1.正规式:/* (other| *)* */ 1.正规式:/ 2.接受上述正规式的NFA图: 2.接受上述正规式的NFA图:
词法分析习题课
习题1 习题1
叙述正规式描述的语言:
(00|11)*((01|10)(00|11)*(01|10)(00|11)*)*
该正规式描述的语言是:所有由偶数个 和偶 该正规式描述的语言是:所有由偶数个0和偶 数个1构成的串 构成的串。 数个 构成的串。 分析:正规式 表示的串的长度是偶数, 分析:正规式(00|11)*表示的串的长度是偶数, 表示的串的长度是偶数 每两个字符一组的话,不是00就是 就是11。 每两个字符一组的话,不是 就是 。正规式 (01|10)(00|11)*(01|10)表示的串由 或10开始, 表示的串由01或 开始 开始, 表示的串由 中间有若干组00或 ,最后出现01或 , 中间有若干组 或11,最后出现 或10,这样 的串仍然由偶数个0和偶数个 组成, 和偶数个1组成 的串仍然由偶数个 和偶数个 组成,只不过第 一组是01或 的话 那么一定还要有一组01或 的话, 一组是 或10的话,那么一定还要有一组 或 10才能保证它们的偶数性。 才能保证它们的偶数性。 才能保证它们的偶数性

编译原理教程课后习题答案第二章

编译原理教程课后习题答案第二章

第二章 词法分析2.1 完成下列选择题:(1) 词法分析器的输出结果是。

a. 单词的种别编码b. 单词在符号表中的位置c. 单词的种别编码和自身值d. 单词自身值(2) 正规式M1和M2等价是指。

a. M1和M2的状态数相等b. M1和M2的有向边条数相等c. M1和M2所识别的语言集相等d. M1和M2状态数和有向边条数相等(3) DFA M(见图2-1)接受的字集为。

a. 以0开头的二进制数组成的集合b. 以0结尾的二进制数组成的集合c. 含奇数个0的二进制数组成的集合d. 含偶数个0的二进制数组成的集合【解答】(1) c (2) c (3) d图2-1 习题2.1的DFA M2.2 什么是扫描器?扫描器的功能是什么?【解答】 扫描器就是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。

通常是把词法分析器作为一个子程序,每当词法分析器需要一个单词符号时就调用这个子程序。

每次调用时,词法分析器就从输入串中识别出一个单词符号交给语法分析器。

2.3 设M=({x,y}, {a,b}, f, x, {y})为一非确定的有限自动机,其中f 定义如下:f(x,a)={x,y} f {x,b}={y}f(y,a)=Φ f{y,b}={x,y}试构造相应的确定有限自动机M ′。

【解答】 对照自动机的定义M=(S,Σ,f,So,Z),由f 的定义可知f(x,a)、f(y,b)均为多值函数,因此M 是一非确定有限自动机。

先画出NFA M 相应的状态图,如图2-2所示。

图2-2 习题2.3的NFA M 用子集法构造状态转换矩阵,如表表2-1 状态转换矩阵1b将转换矩阵中的所有子集重新命名,形成表2-2所示的状态转换矩阵,即得到 M ′=({0,1,2},{a,b},f,0,{1,2}),其状态转换图如图2-3所示。

表2-2 状态转换矩阵将图2-3所示的DFA M ′最小化。

编译原理各章习题

编译原理各章习题

第二章高级语言及其语法描述1、设有文法G[S]:S→NN→D|NDD→0|1|2|…|9试写出028和4321的最左推导和最右推导过程。

2、证明文法G[S]是二义性文法:S→if E then S else S |if E then S |sE→0|13、设有文法G[E]:E→E-T|TT→T/F|FF→i|(E)(1)试写出i/(i-i-i)的推导树。

(2)试写出(F-i)/F的短语、简单短语和句柄。

4、设∑={0,1},请给出∑上下列语言的文法(1)所有以0开头的串(2)所有以0开头,以1结尾的串5、证明文法G1和G2等价G1:S→0S1,S→01G2:A→0R,A→01,R→A1第三章有限状态自动机和词法分析1、请用中文描述下列正规式表示的正规集(1)0(0|1)*0(2)0*10*10*10*2、试写出∑={0,1}上下列集合的正则表达式:(1)所有以1开始和结束的符号串。

(2)恰含有3个1的所有符号所组成的集合。

(3)集合{01,1}。

(4)所有以111结束的符号串。

3、试写出∑={0,1}上下述集合的正则表达式: (1)试写出非负整数集的正则表达式。

(2)试写出以非5数字为头的所有非负整数集的正则表达式。

4、试将图3.1中所示的有限状态自动机M 最小化。

图3.1 M 的状态转换图5、设∑={a,b},试构造下述正则表达式的确定性有限状态自动机: (1)a(a|b)*baa (2)(a|b)*bbb *6、对于下列的状态转换矩阵:(1)分别画出相应的状态转换图。

(2)用自然语言分别描述它们所识别的输入串的特征 7、将图3.2所示的非确定的有限状态自动机确定化和最小化。

图3.2 非确定的有限状态自动机M第四章 自顶向下语法分析 1、从下列文法中消去左递归。

(1)S→Aa|bA→Ac|Sd(2)A→A∨B|BB→B∧C|CC→⌝D|DD→(A)|i2、请消去下面文法G[S]中的回溯G[S]:S→aBc|aB→bB|ε3、有文法G[S]:S→ABA→a|εB→b|ε(1)验证该文法是LL(1)文法;(2)请构造预测分析表4、考虑文法G[A]:A→aABc|d|εB→Bb|b(1)改写为LL(1)文法;(2)请构造预测分析表(3)给出句子adbc的分析过程第五章自底向上语法分析1、请对下列文法G[S]构造算符优先分析表S→bAbA→(B|aB→A a)2、文法G[S]:S→S(SaS→b该文法是LR(0)还是SLR(1)文法?3、文法G[A]:A→(A)|a构造该文法的LR(0)分析表,并请描述((a))的分析过程。

编译原理第二章练习题(注意里面的指数和带星号的地方)

编译原理第二章练习题(注意里面的指数和带星号的地方)

编译原理第二章练习题
专业班级: 学号: 姓名: 一,单选题
1.给定文法:A →bA|cc,下面的符号串为该文法句子的是( )。

① cc ② bcbcc ③ bccbcc ④ bbbcc
A. ①④
B. ①②③
C. ①③
D. ②③④
2.文法G[Z]和语言L ( G[Z ])存在如下关系( )。

A.一一对应:一个文法对应唯一的语言;并且反过来,一 个语言对应唯一的文法。

B.一个语言对应唯一的文法,反之则不然。

C.一个文法对应唯一的语言,反之则不然。

D.若G 为非二义性文法,则C 是正确的;若G 为二义性文法
,则一个文法不对应唯一的语言。

3. 有文法G[E]:E →-EE , E →-E ,E →a|b|c 则文法的句子--a -bc 的所有可能的语法树有( )棵。

A. 1
B. 2
C. 4
D. 3
4.有文法G[S],如果S * x ,( x ∈V ),则x 是( )。

A. 句型
B. 句子
C. A 和B
D. 非A 和B
二.构造一个上下文无关文法G ,使得:
L(G)={ m m b a
2 |m>0}
三.已知文法G[E]: E →ET+ | T
T →TF* | F
F →FP ↑| P
P →(E) | i
有句型TF*PP ↑+,问此句型的短语,简单短语和句柄是什么?(画语法树说明)
四.请用语法树证明文法G[s]是二义性的,G[s]:
S→SS | (S) | ( )。

五.已知文法G[Z]:Z→AB
A→aAb |ab
B→Bc | ε则,L(G[Z] )=?。

《编译原理》课后习题答案第二章

《编译原理》课后习题答案第二章
长度不大于3的符号串个数:26+936+33696=34658个
有代表性的符号串:a,a0,aa,a00,a0a,aa0
习题2
3.(1)E T T/F F/F (E)/F (E+T)/F (T+T)/F (F+F)/F (i+i)/i
(2)E E+T E+T+T E+T*F+F E+T*F+i E+T*T*F+i
M:M(0,a)=1 M(0,b)=2
M(1,a)=1 M(1,b)=4
M(2,a)=1 M(2,b)=3
M(3,a)=3 M(3,b)=2
M(4,a)=0 M(4,b)=5
M(5,a)=5 M(5,b)=1
化简:
1.分化
① {0,1} {2,3,4,5}
② {0,1} {2,4} {3,5}
2.合并
=M(M(D,1),1011)
=M(M(C,1),011)
=M(M(F,0),11)
=M(M(E,1),1)
=M(C,1)
=F
∴DFA D能接受字符串0011011
8.解:将状态转换图列表,即:
由左图可知,该状态转换图直接对应的是确定有穷状态自动机DFA
DFA D=({0,1,2,3,4,5},{a,b},M,0,{0,1})
A::=bc|bAc
(2)Z::=AB
A::=ab|aAb
B::=b|Bb
7. 解:题中要求文法是:
Z::=1|3|5|7|9|Z1|Z3|Z5|Z7|Z9|A1|A3|A5|A7|A9
A::=2|4|6|8|A0|A2|A4|A6|A8|Z0|Z2|Z4|Z6|Z8

编译原理习题解答(第2-3章)_吴蓉

编译原理习题解答(第2-3章)_吴蓉

P41 27. 给 出 一 个 产 生 下 列 语 言 L ( G ) = {W|W∈{a,b}*且W中含a的个数是b个数两倍的前 后文无关文法。 解:文法G=({S, A, B}, {a, b}, P, S) P: S::=AAB|ABA|BAA|ε A::=aS B::=bS 或者 S::=Saab|aSab|aaSb|aabS|Saba|aSba|abSa|abaS|Sbaa |bSaa|baSa|baaS|ε 或者 S::=aaB|aBa|Baa|ε B:? 先构造其转换系统:
0 0 ε Z’ Z 1 A 0 S ε S’
根据其转换系统可得状态转换集、状态子集转换矩阵如下表 所示:(其中S’可以忽略,结果是一样的) I I0 I1 S 0 2 2 1 Ф 1
{S’, S}
{A} {A, Z, Z’}
{A}
{A, Z, Z’} {A, Z, Z’}
P41 29. 用扩充的BNF表示以下文法规则: (1) Z::=AB|AC|A (2) A::=BC|BCD|AXZ|AXY (3) S::=aABb|ab (4) A::=Aab|ε 解: (1) Z::=A(B|C|ε)::=A[B|C] (2) A::=BC ( ε|D ) |{X ( Z|Y ) }::= BC[D]|{X ( Z|Y )} (3) A::=a((AB|ε)b) ::= a[AB]b (4) A::={ab|ε}::={ab}
DFA=({S,A,Z},{0,1},M,S,{Z}) 其中M: M(S,0)=Z M(S,1)= A M(A,0)=Z M(Z,0)=Z M(Z,1)=A
该语言的正规文法G[Z]为: 右线性文法://S :: =0|1A|0Z 左线性文法: A :: =0|0Z A :: =1|Z1 Z :: =0|1A|0Z Z :: =0|A0|Z0 若终止状态只引入不引出则适合构造右线性文法 ,若开始状态只引出不引入则适合构造左线性文 法,若终态和初态均既有引入又有引出,则构造 文法要注意。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11. 将上下文无关文法 G[S]改写为等价的正则文法。 G[S]: SabcA AbcB Ba
12. 已知文法 G[S]: SaB|bA Aa|aS|bAA Bb|bS|aBB 证明该文法是二义的。
13. 有人认为“无符号偶数”构造文法的思路如下:无符号偶数是无符号整数的 2 倍,所以构造的文法 G[<偶数>]如下, G[<偶数>]: <偶数><整>*2 <整><整><整>|<数> <数>0|1|2|3|4|5|6|7|8|9 这种想法对吗?为什么?
7. 有关表达式的文法 G[E]: EE+T|T TT*F|F Fi|(E) 求句型 F*F*(T+T*i)的短语、简单短语和句柄。
8. 若Σ={0, 1},则Σ2=? 9. 给出描述语言 L(G)={anbn|n1}的文法。
10. 文法 G1[A]和 G2[A]是否等价?为什么? G1[A]:AbA|a G2[A]:ABa|a BBb|b
班级:
姓名:
第二章练习题 学号:
一、填空题 1. 任一文法终结符集合和非终结符集合的交集是 。 2. 文法 G 产生的 的全体称为该文法描述的语言。 3. 已知文法 G[S]: SaSb|ab|,该文法描述的语言 L(G)= 。 4. 已知文法 G[S]: SAB, AAa|, BbBc|bc,该文法描述的语言 L(G)= 。 5. 文法 G[S]: SAB, AaAb|, BbBc|所描述的语言 L(G)= 。 6. 设字母表 A1={a,b,c,…,z},A2={0,1,2,…,9},则 A1 A2 中含有 个元素。 7. 设是文法 G 的句型, A 是非终结符, 若 则称是句 型相对于非终结符 A 的短语,若 则称是句 型相对于非终结符 A 的直接短语,若 则称是 句型的句柄。 二、判断题 1. 0 型文法中每条规则左部至少包含一非终结符。 2. 文法中的大写字母一定是非终结符。 3. 文法规则左边出现的符号一定是非终结符。 4. 3 型文法一定是 2 型、1 型和 0 型文法。 5. 文法的任一句型对应唯一的一棵语法树。 6. 文法的任一句型对应唯一的一个最左(右)推导。 7. 文法规则右部的符号一定是终结符号。 8. 一个语言的文法是唯一的。 9. 每个非终结符号产生的终结符号串集合都是该语言的子集。 10. 一个语言(如 PASCAL)的句子是无穷的。 11. 语法树描述的是一个文法。 12. 若 G 是正则文法,则 G 一定是上下文无关文法。
A. 语法分析 B. 语义分析 C. 词法分析 D. 目标代码生成 6. 正则式( )与(a*|b)*(c|d)等价。 A. a*(c|d)|b(c|d) B. B. a*(c|d)*|b(c|d)* C. a*(c|d)|b*(c|d) D. (a|b)*c|(a|b)*d 7. 同正则式 a*b*等价的文法是( ) 。 A. G1:SaS|bS| B. G2:SaSb| C. G3:SaS|Sb| D. G4:SabS| 8. 给定语言 L(G)={anbbn|n1},则文法( )可产生语言 L(G)。 A. ZaZb|aAb|b, AaAb|b B. AAbB, AaA|a, BbB|b C. AaAb|b D. ZaAb, AaAb|b 9. 由文法识别符号通过若干步(包括 0 步)推导得到的符号串是( ) 。 A. 语言 B. 句型 C. 句子 D. 句柄 10. 句型最左简单子树的叶节点,自左向右排列组成句型的( ) 。 11. 设文法 G=({S}, {0, 1}, P, S),其中 P={SSS|0S1|1S0|},该文法所描述的语言为 ( ) 。 A. {0n1n|n0} B. {w|w{0|1}*}且 w 中 0 和 1 的个数相等 C. {0m1k|m, k0}{1m0k|m, k0} D. {0n1n|n0}{1n0n|n0} 四、问答题 1. 设有文法 G[S]: SAa ABb|CD Ce 求 VN、VT 和该文法所描述的语言 L(G)。
2. 设有文法 G[A]: ABa BbB|a 求该文法所描述的语言 L(G)。
3. 设有文法 G[S]: S A AB|IF A THEN A ELSE A BC|B+C|+C CD|C*D|*D Dx|(A)|- D 求文法的非终结符集合和终结符集合
4. 消除文法 G[Z]中的多余规则。 G[Z]: ZBe AAe|e BCe|Af CCf D f

14. 给出描述语言 L(G)={a2nbn|n1}的 2 型文法。
15. 试给出描述语言 L(G)={a2m+1bm+1|m0} {a2mbm+2|m0}的文法。
16. 构造一文法,使其描述的语言是不能被 5 整除的且不以 0 开头的偶整数的集 合。
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
三、选择题 1. 由“非终结符符号串”形式的规则构成的文法是( ) 。 A. 0 型文法 B. 1 型文法 C. 2 型文法 D. 3 型文法 2. 文法 G[S]和语言 L(G[S])之间的关系是( ) 。 A. 一一对应 B. 一个语言对应唯一的文法,反之则不然 C. 一个文法对应唯一的语言,反之则不然 D. 非二义性文法时,C 正确;二义性文法时,则一个文法可对应多个语言。 3. 关于短语和句柄,正确的叙述为( ) 。 A. 短语就是句柄 B. 直接短语才可能是句柄 B. 最左短语一定是句柄 D. 最右短语一定是句柄 4. BNF 是一种广泛采用的( )的工具。 A. 描述规则 B. 描述语言 C. 描述文法 D. 描述句子 5. 在编译中产生语法树是为了( ) 。
5. 设有文法 G[S]: SaAb ABcA|B Bidt| 请问下列符号串是否为文法的句子或句型。 ①aidtcBcAb ②aidtccb ③ab ④abidt ⑤aidtcidtcidtb ⑥aidtBb 6. 已知文法 G[E]: ET|E+T|E- T TF|T*F|T/F F(E)|i ①该文法的识别符号? ②给出 VN 和 VT ③给出句型 T+T*F+i 的所有短语、直接短语和句柄。
相关文档
最新文档