编译原理第二章练习题
- 格式:pdf
- 大小:230.97 KB
- 文档页数:5
编译原理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 是它的一个句型,指出这个句型的所有短语、直接短语和句柄。
第二章 文法和语言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)因为字符串中的各字符有相对的位置关系,为了能相互区别,给相同的字符标上不同的数字。
第二章 词法分析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] )=?。