编译原理考试习题及答案整理版.pptVIP

  • 71
  • 0
  • 约1.69万字
  • 约 65页
  • 2018-11-07 发布于湖北
  • 举报
编译原理考试习题及答案整理版.ppt

* 翻译过程和翻译结果 语法分析: aacbb aaAbb (1) aaBb (2) aAb (3) aB (4) A (5) ? . ? . ? . ? . ? . 翻译过程: (1) print “1” (2) print “2” (3) print “0” (4) print “2” (5) print “0” A → aB {print “0”} A → c {print “1”} B → Ab {print “2”} 翻译结果:打印出字符串 12020 * 补充题 5. 课堂上讲过的以及课件中给出的有代表性的例题都要亲自动手独力做一遍。 6. 参阅“编译原理_(V_jx_Summary_精简=完全)” * * 5.(2) 构造文法 S→AS|b A→SA|a 的LR(0)项目集规范族及识别活前缀的DFA。 1)拓广文法,加入 S’→S 2)画出 DFA 5.(2) 构造文法 S→AS|b A→SA|a 的LR(0)项目集规范族及识别活前缀的DFA。 0: S’→.S S→.AS S→.b A→.SA A→.a 5: A→SA. S→A.S S→.AS S→.b A→.SA A→.a 7: S→AS. A→S.A A→.SA A→.a S→.AS S→.b 1: S’→S. A→S.A A→.SA A→.a S→.AS S→.b 3: S→b. 4: A→a. 2: S→A.S S→.AS S→.b A→.SA A→.a 6: A→S.A A→.SA A→.a S→.AS S→.b S b a A A S b a A S a b S a b A S A b a S a b A * 5.(3) 文法 S→AS|b A→SA|a 是LR(0)文法吗? 0: S’→.S S→.AS S→.b A→.SA A→.a 5: A→SA. S→A.S S→.AS S→.b A→.SA A→.a 7: S→AS. A→S.A A→.SA A→.a S→.AS S→.b 1: S’→S. A→S.A A→.SA A→.a S→.AS S→.b 3: S→b. 4: A→a. 2: S→A.S S→.AS S→.b A→.SA A→.a 6: A→S.A A→.SA A→.a S→.AS S→.b S b a A A S b a A S a b S a b A S A b a S a b A 不是LR(0)文法! 因为存在冲突,例如状态1、状态5 程 序 设 计 语 言 Chapter 4. 自上而下语法分析 * CH.4.练习题1(P81.) 1.考虑下面文法G1: S→a|^|(T) T→T,S|S (1) 消去G1的左递归。然后对每个非终结符,写出不带回溯的递归子程序。 解(1) 消左后的文法G1’: S→a|^|(T) T→ST’ T’→ ,ST’|ε CH.4.练习题1(P81.) 解(1) 不带回溯的递归子程序: S→a|^|(T) Procedure S; Begin if sym=‘a’ or sym=‘^’ then advance else if sym=‘(‘ then begin advance; T; if sym=‘)’ then advance else error end else error End; CH.4.练习题1(P81.) 解(1) 不带回溯的递归子程序: T→ST’ Procedure T; Begin S; T’ end; 解(1) 不带回溯的递归子程序: T’→,ST’|ε procedure T’; begin if sym=‘,’ t

文档评论(0)

1亿VIP精品文档

相关文档