编译原理阶段测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一阶段测试卷
考试科目:《编译原理》第1章至第4章(总分100分)时间:90分钟
学习中心(教学点)批次:层次:
专业:学号:身份证号:
姓名:得分:
一、选择与填充(30)
1. 一个正则语言只能对应( )?
A. 一个正则文法
B. 一个最小有限状态自动机
C. 一个自然语言
D. 一个上下文有关文法
2. 对于编译程序而言,输入数据是源程序,输出数据是___________________。
3. 给出在字母表{0,1}上的“所有以00结尾的符号串的集合”的语言的正则表达式:_____________________。
4. 一个句型中最左的()称为该句型的句柄。
A. 简单短语
B. 短语
C. 非终结符号
D. 终结符号
5. Micro语言只有三种语句:()、输入语句和输出语句。
A. GOTO语句
B.赋值语句
C. 条件语句
D.循环语句
6. 描述高级语言语法的常用方法有________________和BNF范式。
二、给出与正规式R=(ab)*(a|b*)ab等价的NFA。(16)
三、简述 DFA 与 NFA 有何区别。(14)
四、判断下列文法是否具有二义性:G[P]: P→PaP|PbP|cP|Pe|f(18)
五、对于下面的文法G[Z],构造句子(i*i+i)*i的最左和最右推导及相应的语法树。(22)
(1) Z::=E (2) E::=T+E (3) E::=T (4) T::=F*T
(5) T::=F (6) F::=(E) (7) F::=i
附:参考答案:
一、选择与填充(30)
1.一个正则语言只能对应( B )?
A. 一个正则文法
B. 一个最小有限状态自动机
C. 一个自然语言
D. 一个上下文有关文法
2.对于编译程序而言,输入数据是源程序,输出数据是____目标程序_________。
3. 给出在字母表{0,1}上的“所有以00结尾的符号串的集合”的语言的正则表达式:________(0|1)*00__________。
4. 一个句型中最左的( A )称为该句型的句柄。
A. 简单短语
B. 短语
C. 非终结符号
D. 终结符号
5. Micro语言只有三种语句:( B )、输入语句和输出语句。
A.GOTO语句
B.赋值语句
C.条件语句
D.循环语句
6. 描述高级语言语法的常用方法有___语法图_____和BNF范式。
二、给出与正规式R=(ab)*(a|b*)ab等价的NFA。(16)
三、简述 DFA 与 NFA 有何区别。(14)
解:DFA与NFA的区别主要有两点:
1是NFA可以若干个开始状态,而DFA仅只一个开始状态。
2是DFA的映象M是从K×∑到K,而NFA的映象M是从K×∑到K的子集,即映象M将产生一个状态集合(可能为空集),而不是单个状态。
四、判断下列文法是否具有二义性:G[P]: P→PaP|PbP|cP|Pe|f(18)
解:
因为文法存在句型fbfbf,此句型有两棵不同的语法树,所以文法具有二义性。
五、对于下面的文法G[Z],构造句子(i*i+i)*i的最左和最右推导及相应的语法树。(22)
(1) Z::=E (2) E::=T+E (3) E::=T (4) T::=F*T
(5) T::=F (6) F::=(E) (7) F::=i
解:最左:Z=>E=>T=>F*T=>(E)*T=>(T+E)*T=>(F*T+E)*T=>(i*T+E)*T=>(i*F+E)*T=>(i*i+E)*T =>(i*i+T)*T=>(i*i+F)*T=>(i*i+i)*T=>(i*i+i)*F=>(i*i+i)*i
最右:Z=>E=>T=>F*T=>F*F=>F*i=>(E)*i=>(T+E)*i=>(T+T)*i=>(T+F)*i=>(T*i)*i=>(F*T+i)*i =>(F*F+i)*i=>(F*i+i)*i=>(i*i+i)*i
第二阶段测试卷
考试科目:《编译原理》第4章至第7章(总分100分)时间:90分钟
学习中心(教学点)批次:层次:
专业:学号:身份证号:
姓名:得分:
一、选择与填充(30)
1.有限状态自动机能识别( )。
A. 上下文无关文法
B. 上下文有关文法
C. 正则文法
D. 短语文法
2.在语法分析处理中, FIRST集合、 FOLLOW集合、 SELECT集合都是( )。
A. 非终极符集 B.终极符集 C.字母表 D. 状态集
3.在自底向上的语法分析方法中,分析的关键是( )。
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 消除公共前缀4.______________________是这样一种动作文法,即动作符只出现于产生式的末尾。
5.文法要满足两个条件:_____________________和_________________________才可以使用自顶向下的语法分析方法。
6. 文法G[E]: E→E+T|T, T→T*P|P, P→(E)|I, 则句型P+T+i的短语有()。
A. i, P+T
B. P, P+T, i, P+T+i
C. P+T+i
D. P, P+T, i
二、若有文法G[S]为:S->Ac|aB A->df B->be,请写出语言L(G[S])的全部元素。(12)
三、文法G[S]为:(18)
S→V
V→T | ViT
T→F| T+F
F→)V* |(
试给出句型ViFi( 的短语,简单(直接)短语,句柄。
四、写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。(15)
五、下面的文法是不是LL(1)文法?若是,请构造相应的LL(1)分析表。(25)
S → aD D → STe | εT → bH | H H → d | ε