编译程序总复习——例题

编译程序总复习——例题

ID:1315253

大小:195.00 KB

页数:23页

时间:2017-11-10

编译程序总复习——例题_第1页
编译程序总复习——例题_第2页
编译程序总复习——例题_第3页
编译程序总复习——例题_第4页
编译程序总复习——例题_第5页
资源描述:

《编译程序总复习——例题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译程序总复习——例题1.编译程序的功能和组织结构2.编译和解释程序3.正则表达式NFA→DFA→DFA最小化句型→推导的语法树→短语→简单短语→句柄6.文法←→语言←→句子7.语法分析——自顶向下和自底向上(LL法、LR法)8.语法制导翻译9.中间代码10.中间代码优化11.目标代码1.编译程序的功能和组织结构表处理词法分析源程序目标程序错误处理语法分析语义分析目标代码生成前端后端中间代码优化中间代码生成2.编译和解释程序目标程序源程序编译程序初始数据计算结果源程序解释程序初始数据计算结果功能

2、工作结果实现技术上解释程序源程序的一个执行系统源程序的执行结果执行中间代码编译程序源程序的一个转换系统源程序的目标代码把中间代码转换成目标程序解释程序和编译程序的区别解释程序和编译程序的根本区别:是否生成目标代码3.正则表达式设文法G[A]:A→[BB→X]

3、BAX→Xa

4、Xb

5、a

6、b试求出文法G[A]产生的语言对应的正则式。3.设文法G[A]: A→[B B→X]

7、BA X→Xa

8、Xb

9、a

10、b试求出文法G[A]产生的语言对应的正则式。解:[(a

11、b)(a

12、b)*]([(a

13、b)(a

14、b)*])

15、*4.请构造与正则式R=(a*b)*ba(a

16、b)*等价的状态最少的DFA(确定有限自动机)。解:(1)NFA(2)NFA→DFA(3)DFA最小化5.有文法G[E]:ET

17、E+T

18、E-T TF

19、T*F

20、T/FFi/(E)请判断(E+T)*i+F是G的一句型吗?如果是,请画出它的推导的语法树。并写出语法树的短语、简单短语、句柄。有文法G[E]:ET

21、E+T

22、E-TTF

23、T*F

24、T/FFi/(E)(E+T)*i+F是G的一句型)E(+ETE+ETTFF*TiF每棵子树的叶组成短语(E+

25、T)*i+F(E+T)*I(E+T)E+TiF每棵简单子树的叶组成简单短语E+TiF最左简单子树的叶组成句柄E+T6.(1)设有文法G[S]=({b},{S,B},S,{S→b

26、bB,B→bS}),该文法所描述的语言是_________。 (2)已知语言L={anbbn

27、n≥1},则_______文法可以产生语言L。 (3)设有文法G[I]: I→I1

28、I0

29、Ic

30、a

31、b

32、c该文法的句子有________ ①ab0②a0c01③aaa④bc106. (1)设有文法G[S]=({b},{S,B

33、},S,{S→b

34、bB,B→bS}),该文法所描述的语言是L(G[S]={b2i+1

35、i≥0}(2)已知语言L={anbbn

36、n≥1},则Z→aAbA→aAb

37、b上述文法可以产生语言L。(3)设有文法G[I]: I→I1

38、I0

39、Ic

40、a

41、b

42、c该文法的句子有②③④。①ab0②a0c01③aaa④bc107.设有文法G[S]:S→E E→Aa

43、bBA→cA

44、d B→cB

45、d构造其LR(0)分析表并利用分析表判断acccd是否为文法G[S]的句子。7.设有文法G[S]: S→E E→Aa

46、bBA→c

47、A

48、d B→cB

49、d构造其LR(0)分析表并利用分析表判断acccd是否为文法G[S]的句子。解:(1)识别活前缀的自动机(2)LR分析表(3)LR分析过程——即判断acccd是否为文法G[S]的句子8.在一个移入-规约的分析中采用以下的语法制导的翻译模式,在按一产生式规约时,立即执行括号中的动作。A→aB{print“0”}A→c{print“”} B→Ab{print“2”}当分析器的输入为aacbb时,打印的字符串是什么?分析器输入为aacbb,打印的字符为12020bBcAAaBAab⑤

50、④③②①A→aB{print“0”}A→c{print“”} B→Ab{print“2”}9. (1)表达式a*b-c-d$e$f-g-h*I中,运算符的优先级由高到低依次为-、*、$,且均右结合,且相应的后缀式为______。 (2)表达式-a+b*c+d+(e*f)/d*e,如果运算符的优先级由高到低依次为-、+、*、/,且均左结合,则其后缀式为______。9. (1)表达式a*b-c-d$e$f-g-h*I中,运算符的优先级由高到低依次为-、*、$,且相应的后缀式为abcd--*efgh

51、--I*$$。(2)表达式-a+b*c+d+(e*f)/d*e,如果运算符的优先级由高到低依次为-、+、*、/,且均左结合,则其后缀式为a-b+cd+ef*+*de*/。10.试写出算术表达式a+b*c-(c*b+a-e)/(b*c+d)优化后的四元式序列。11.目标代码写出下列表达式的目标代码T:=C*(A+B)+(A+B)C:=A+BA:=(C*D)+(E-F)写出下列表达式的目标代码T:=C*(A+B)+(A+B)C:=A+BA:=(C*D)+(E-F)解答:LOADA,R1ADDB,R1

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

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

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