- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》样卷及答案
一、简答题(每题4分,共24分)构造一个文法G,使得:L(G)={(m)m|m0}解答:G[S]: s- ()|(S)构造一个正规式,它接受={0,1}上符合以下规则的字符串: 串内有且只有2个1的0、1字符串全体。解答:0*10*10*消除文法G[S]中的直接左递归和回溯 S→ (L) | aS | aL→ L,S | S解答:S→ (L) | aSS→ S |εL→ S LL→,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|RTT→DR|εR→dR|εD→a|bd (1) 写出文法G[S]每个非终结符的FIRST集和FOLLOW集; (2) 判断文法G[S]是否LL(1)文法(注:必须给出判断过程,否则不得分); (3) 写出文法文法G[S]的预测分析表。解答:(1)8分:每个First集合和FOLLOW集合各1分FIRST集FOLLOW集s→eT|RT { e } { a, b, d, ε}#T→DR|ε {a, b} { ε}#R→dR|ε { d } { ε}a,b,#D→a|bd { a} { b}D,#(2) 2分: 判断文法G[S]是LL(1)文法。对于产生式s→eT|RT:FIRST(eT)∩FIRST(RT)- ε={e}∩{a,b,d}=ΦFIRST(eT)∩FOLLOW(S)={e}∩{#}=Φ对于产生式T→DR|ε: FIRST(DR)∩FOLLOW(T)={a,b}∩{#}=Φ`对于产生式R→dR|ε: FIRST(dR)∩FOLLOW(R)={d}∩{a,b,#}=Φ对于产生式D→a|bd: FIRST(a)∩FIRST(bd)={a}∩{b}=Φ 所以,对于文法G[S]是LL(1)文法。 (3) 5分:文法G[S]的预测分析表。五、(本题18分)已知文法G[S]:S → r D D → D ,i | i(1) 画出识别文法活前缀的完整DFA,并判断该文法是否LR(0)文法(必须说明判断依据);(2)构造该文法的SLR(1)分析表,并判断该文法是否SLR(1)文法(必须说明判断依据)。解答:(1) 8分:画出识别文法活前缀的完整DFA 文法拓展并对产生式编号: (0)S →S (1)S → r D (2)D → D ,i (3)D → i (2) 2分:判断该文法不是LR(0)文法 对于状态3,项目集中存在“移进-规约”冲突,所以该文法不是LR(0)文法。 (3) 6分:构造该文法的SLR(1)分析表状态ACTIONGOTOr ,i#SD0S211acc2S433S5r14r3r35S66r2r2 (4) 2分:判断文法是SLR(1)分析表 回答1: 因为SLR(1)分析表不存在冲突,所以文法是SLR(1)分析表。 回答2: 对于状态3, FOLLOW(S)∩{,}=(#)∩{,}=Ф,“移进-规约”冲突可以用 SLR(1)方法解决,所以文法是SLR(1)分析表。六、(本题8分)文法G[E]的LR分析表如下图所示:(1) E →
文档评论(0)