[工学]《编译原理》课程复习

[工学]《编译原理》课程复习

ID:33975573

大小:1.30 MB

页数:33页

时间:2019-03-03

[工学]《编译原理》课程复习_第1页
[工学]《编译原理》课程复习_第2页
[工学]《编译原理》课程复习_第3页
[工学]《编译原理》课程复习_第4页
[工学]《编译原理》课程复习_第5页
资源描述:

《[工学]《编译原理》课程复习》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《编译原理》课程复习五、计算题:1、考虑下面程序    …………    Vara:integer;    ProcedureS(X);     VarX:integer;     Begin      a:=a+1;      X:=a+X     End;    Begin      a:=5;      S(a);      Print(a)    End.    试问:若参数传递方式分别采取传名和传值时,程序执行后输出a的值是什么?答:传名:a=12   传值:a=62、写出表达式(a+b*c)/(a+b)-d的逆波兰表示及三元式序列。 逆波兰表示:      abc*+ab+/

2、d-     三元式序列:     ①(*,b,c)     ②(+,a,①)     ③(+,a,b)     ④(/,②,③)     ⑤(-,④,d)3、已知文法G(S)    S→a

3、∧

4、(T)    T→T,S

5、S    写出句子((a,a),a)的规范归约过程及每一步的句柄。      句型     归约规则     句柄      ((a,a),a)  S→a       a      ((S,a),a)  T→S       S      ((T,a),a)  S→a       a     ((T,S),a)  T→T,S     T,S      ((S),a)  

6、 T→S       S      ((T),a)   S→S(T)     (T)      (S,a)   T→S       S      (T,a)    S→a       a      (T,S)    T→T,S     T,S      (T)     S→(T)      (T)     S 4、写一个文法,使其语言是奇数集,且每个奇数不以0开头。解:文法G(N):        N→AB

7、B        A→AC

8、D        B→1

9、3

10、5

11、7

12、9        D→B

13、2

14、4

15、6

16、8        C→0

17、D5、设文法G(S):    S→(L)

18、aS

19、a

20、    L→L,S

21、S    (1)消除左递归和回溯;    (2)计算每个非终结符的FIRST和FOLLOW;(3)构造预测分析表。解:     S→(L)

22、aS’         S’→S

23、ε         L→SL’         L’→SL’

24、ε         FIRST)S)={(,a}  FOLLOW(S)={#,,,)}         FIRST(S’)={,a,ε}  FOLLOW(S’)={#,,,)}         FIRST(L)={(,a}  FOLLOW(L)={)}         FIRST(L’)={,,ε}  FOLLOW(L’)={}}6、

25、While a>0∨b<0 do    Begin      X:=X+1;      ifa>0thena:=a-1         elseb:=b+1    End;    翻译成四元式序列。  解:     (1)(j>,a,0,5)     (2)(j,-,-,3)     (3)(j<,b,0,5)     (4)(j,-,-,15)     (5)(+,×,1,T1)     (6)(:=,T1,-,×)     (7)(j>,a,0,9)     (8)(j,-,-,12)     (9)(-,a,1,T2)     (10)(:=,T2,-,a)     (11)(j

26、,-,-,1)     (12)(+,b,1,T3)     (13)(:=,T3,-,b)     (14)(j,-,-,1)     (15)7、已知文法G(E)E→T

27、E+TT→F

28、T*FF→(E)

29、i(1)给出句型(T*F+i)的最右推导及画出语法树;(2)给出句型(T*F+i)的短语、素短语。解:(1)最右推导:     E→T→F→(E)→(E+T)→(E+F)→(E+i)→(T+i)→(T*F+i)(2)短语:(T*F+i),T*F+i,T*F,i 素短语:T*F,i8、设布尔表达式的文法为E→E(1)∨E(2)E→E(1)∧E(2)E→i假定它们将用于条件控制语句中,请

30、(1)改写文法,使之适合进行语法制导翻译和实现回填;(2)写出改写后的短个产生式的语义动作。解:(1)E0→E(1)     E→E0E(2)     EA→E(1)     E→EAE(2)     E→i (2)E→E(1)     {BACKPATCH(E(1)·FC,NXQ);       E0·TC:=E(1)·TC}     E→E0E(2)     {E·FC:=E(2)·FC;       E·TC:=MERG(E0·TC,E(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。