《编译原理复习》.docxVIP

  • 14
  • 0
  • 约8.59千字
  • 约 38页
  • 2020-09-01 发布于天津
  • 举报
1已知有限自动机如图 以上状态转换图表示的语言有什么特征 写出其正规式. 构造识别该语言的确定有限自动机 DFA. [答案] (1)至少含有两个连续的1的0,1组合 ⑵(0 I 1)*11 (0 I 1)* ⑶ 0 1 A A AB AB A ABC ABC AC ABC AC AC ABC 重新命名,令 AB为B、ABC为C、AC为D 0 1 A A B B A C C D C D D C DFA: 2.试构造与下列文法G[S]等价的无左递归文法 G[S]: S — Sa I Nb I c N—Sd I Ne I f S— Sa I Nb I c N—Ne I Sd I f 消除N—Ne I Sd I f左递归: N—SdN I f N ③ N‘ — eN‘ I e ④ 代入 S— Sa I Nb I c: S— Sa I SdN bl fNbl c 消除 S— Sa I SdN b I fNbl c 左递归: S—fN‘ bSI cS ① S— aSdN‘ bS 3.考虑下面文法 G1: S— a IAI (T) T—T, S I S 消去 G1 的左递归。然后对每一个终结符,写出不带回溯的递归子程 序。 [答案] S—aIAI (T) T—ST T,ST I Void match(token t) { if (lookahead==t) lookahead=nexttoken; else error( ); } void S( ) { if (lookahead== a) match( ‘a); else if (lookahead== match( ‘ else if (lookahead== () { match( ‘(); T( ); if (lookahead== )) match( ‘)); else error( ); } else error( ); } void T( ) { S( ); T(); } void T() { if (lookahead== , ) { match( ‘, ); S( ); T(); } } 4.设有以下文法: G[S]: S— eEfGh | g 「FSG | h F— SEc | cG | £ G^ Sh | £ 求出该文法每一个非终结符的 FOLLOW 集。 ( 2) 它是 LL(1) 文法吗?为什么? [答案] (1) FOLLOW(S)二{#,e,g,h,c,f}FIRST(S) FOLLOW(S)二{#,e,g,h,c,f} FIRST(E)二{h, c,e,g, } FOLLOW(E)二{f,c} FIRST(F)={c,e,g, i FOLLOW(F)={e,g} FIRST(G)={e,g, i FOLLOW(G)={h,f,c,e,g} (2) e f g h c # S St eEfGh STg E Et fsg Et£sg Et fsg Erh Er FSG Et£sg F Ft SEc Ft SEc Ft cG Ft£ Ft£ G G^ Sh A Sh G^e G^e G^S G^e 不是LL(1)文法 设有文法:G[S]: St aBc | bAB A t aAb|b B t b | i 构造其LL(1)分析表,并分析符号串baabbb是否是该文法的句子 a b c # S St aBc St bAB A A t aAb A t b B B t b B t B t FIRST(B)={b, i FIRST(S)二{a,b}FIRST(A) FIRST(S)二{a,b} FIRST(A)二{a, b } FOLLOW(S)={# } FOLLOW(A)二{b,#} FOLLOW(B)二{c,#} 步骤 下推栈 输入串 动作 查分析表 1 #S baabbb# pop(S),push(bAB) St bAB 2 # BAb baabbb # pop(b), n ext(ip) 匹配b 3 # BA aabbb# pop(A),push(aAb) A t aAb 4 # BbAa aabbb # pop(a), n ext(ip) 匹配a 5 # BbA abbb# pop(A),push(aAb) A t aAb 6 # BbbA a abbb # pop(a), n ext(ip) 匹配a 7 # BbbA bbb# pop(A),push(b) A t b 8 # Bbbb bbb # pop(b), n ext(ip) 匹配b 9 # Bbb bb# pop(b), n ext(ip) 匹配b 10 # Bb b# pop(b), n ext(ip) 匹配b 11 # B # pop(B) B t £ 12 # # 正确结束 所以符号

文档评论(0)

1亿VIP精品文档

相关文档