编译原理习题答案.ppt

编译原理习题答案.ppt

ID:48567217

大小:1.02 MB

页数:24页

时间:2020-01-23

编译原理习题答案.ppt_第1页
编译原理习题答案.ppt_第2页
编译原理习题答案.ppt_第3页
编译原理习题答案.ppt_第4页
编译原理习题答案.ppt_第5页
资源描述:

《编译原理习题答案.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、习题及解答:第一章什么是编译程序?什么是解释程序?二者的区别?1、编译程序:是一种翻译程序,它特指把某种高级程序设计语言翻译成具体计算机上的低级程序设计语言。2、解释程序:解释程序(interpreter)也是一种翻译程序,将某高级语翻译成具体计算机上的低级程序设计语言.两者区别:(1)前者有目标程序而后者无目标程序;(2)前者运行效率高而后者便于人机对话2、叙述编译程序的逻辑结构和实现机制根据语言和环境的不同,编译程序实现时是把图中的各阶段划分成若干遍;典型的情况是两遍的编译程序:第一遍:词法分析、语法分析和语义分析。即前端完成分析,一

2、般与机器无关。第二遍:目标代码生成和目标代码优化。即后端完成综合,一般与机器有关。每遍中的各阶段的工作是穿插进行的,例如:使语法分析器处于核心位置,而把词法分析器作为子程序;当语法分析需要下一个单词时,就调用词法分析器,识别一个单词。词法分析语法分析语义分析代码生成源语言目标语言错误处理符号表管理优化处理第二章1、P36:8;i+i*i最左E->E+T->T+T->F+T->i+T->i+T*F->i+F*F->i+i*F->i+i*ii+i*i最右E->E+T->E+T*F->E+T*i->E+F*i->E+i*i->T+i*i->F+

3、i*i->i+i*ii*(i+i)最左E->T->T*F->F*F->i*F->i*(E)->i*(E+T)->i*(T+T)->i*(F+T)->i*(i+T)->i*(i+F)->i*(i+i)i*(i+i)最右E->T->T*F->T*(E)->T*(E+T)->T*(E+F)->T*(E+i)->T*(T+i)->T*(F+i)->T*(i+i)->F*(i+i)->i*(i+i)2、试构造下述语言L的文法:L={ambn

4、m≥0,n≥1};S->ABA->Aa

5、εB->Bb

6、borS->ABA->aA

7、εB->bB

8、b3、试求下

9、述文法G(Z)所定义的语言:G(Z):Z->b

10、bB,B->bZZ=>bZ=>bB=>bbZ=>bbbZ=>bB=>bbZ=>bbbB=>bbbbZ=>bbbbbZ=>b2n-1,n≥1第三章1.P64,8(1),(3)给出正规表达式:以01结尾的二进制数串分析题意,要求的是二进制小,即由0和1构成的串,并且必须以01结尾,所以本题可以分两部分去完成,一部分实现由0和1构成的任意串,一部分即01,然后将它们连接到一起就可以了,所以本题的解答是:(0

11、1)*01。(3)包含奇数个1或奇数个0的二进制数串。本题求二进制串,并且要求包含奇数个0

12、或奇数个1,由于0和1都可以在二进制串中任何地方出现,所以本题只需要考虑一种情况,另外一种情况也可以类似求得。考虑包含奇数个0的字符串:由于只关心0的个数的奇偶数,我们可以把二进制串分成多段来考虑,第1段为二进制串的开始到第1个0为止,这一段包含1个0,并且0的前面有0个或多个1,对于剩下的二进制串按照每段包含两个0的方式去划分,即以0开始,以0结尾,中间可以有0个或多个1,和果一个二进制串被这样划分完后,剩下的部分如果全部是全1串(这些全1串在前面划分的串之间或最后),则该二进制串就具有奇数个0,所以该二进制串可以这样描述:以第1段(1

13、*0)开始,后面由全1串(1*)以及包含两个0的串(01*0)组成,所以包含奇数个0的正规表达式为:1*0(1

14、01*0)*,本题的解答则是:1*0(1

15、01*0)*

16、0*1(0

17、10*1)*。2.给定正规式(a

18、b)*a(a

19、b),构造其最小DFAM。(参见书图3.7)首先将其分为终态集{3,4}和非终态集{0,1,2},由于{0}a={1},{0}b={2},{2}a={1},{2}b={2}都是集合{0,1,2}的子集,但{1}a={3},{1}b={4},属于{3,4}的子集,故将其划分为{0,2},{1}。对{3}、{4}也是如

20、此,即最后划分为:{0,2}、{1}、{3}、{4},按顺序重新命名为1、2、3、4。(见书p57页)第四章1.考虑下面文法G1:S->a

21、^

22、(T),T->T,S

23、S(1)消去G1的左递归。(书上p69)(2)改写后的文法是否为LL(1)文法?(书P73)给出预测分析表(书P76)。(1)消除左递归:S->a

24、^

25、(T)T->ST’T’->,ST’

26、ε(2)FIRST(S)={a,^,(}FIRST(T)={a,^,(}FIRST(T’)={,ε}First(a)={a},First(^)={^},First((T))={(}S的所有候

27、选的首符集不相交(First和Follow集的构造方法见书P78)First(,ST’)={,},First(ε)={ε},T’的所有候选的首符集不相交Follow(T’)=Follow(T)

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

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

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