《编译原理》样卷及答案(答案参考)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、简答题(每题4分,共24分)
1、构造一个文法G,使得:L(G)={(m )m|m>0}
解答:G[S]: s-> ()|(S)
2、构造一个正规式,它接受 ={0,1}上符合以下规则的字符串:串内有且只有2个1
的0、1字符串全体。
解答:0*10*10*
3、消除文法G[S]中的直接左递归和回溯
S→(L) | aS | a
L→L,S | S
解答:S→(L) | aS'
S'→S | ε
L→S L'
L'→,S L' | ε
4、文法G[S]是乔姆斯基几型文法?
S → ABS | AB
AB → BA
A → 0
B → 1
解答:1型文法/上下文有关文法
5、按Thmopson算法构造与正则表达式(1*|0) * 等价的NFA。
解答:略
6、设计一个状态转换图,其描述的语言规则为:如果以a开头,则其后是由a、b组成的任意符号串;如果以b开头,则其后是至少包含一个a的由a、b组成的任意符号串。
解答:略
二、(本题10分)对于文法G[E]:
E→ET+|T
T→TF* | F
F→F^ | a
(1) 给出句子FF^^*的最左推导和语法树;
(2) 给出句子FF^^*的短语、直接短语和句柄。
解答: (1) 2分:句子FF^^*的最左推导 2分:句子FF^^*的语法树E=>T=>TF*=>FF*=>FF^*=>FF^^*
(2) 3分:句子FF^^*的短语
FF^^*、FF^^*、F、F^、F^^
2分:句子FF^^*的直接短语
F、F^
1分:句子FF^^*的句柄
F
三、(本题15分)构造与下列NFA等价的最小化DFA。
解答:(1)10分:构造与NFA等价的DFA
(2)5分:对DFA最小化
首先,将所有的状态集合分成子集: k1={0,1,2,4} k2={3,5}
四、(本题15分)对下列文法G[S]:
s→ eT | RT
T→ DR | ε
R→ dR | ε
D→ a | bd
(1) 写出文法G[S]每个非终结符的FIRST集和FOLLOW集;
(2) 判断文法G[S]是否LL(1)文法(注:必须给出判断过程,否则不得分);
(3) 写出文法文法G[S]的预测分析表。