编译原理简单复习

编译原理简单复习

ID:6888839

大小:48.00 KB

页数:4页

时间:2018-01-29

编译原理简单复习_第1页
编译原理简单复习_第2页
编译原理简单复习_第3页
编译原理简单复习_第4页
资源描述:

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

1、1、画出编译程序的总体结构图,简述其部分的主要功能。[答案]编译程序的总框图见下图。         图编译程序的总体结构图其中词法分析器,又称扫描器,它接受输入的源程序,对源程序进行词法分析,识别出一个个的单词符号。语法分析器对单词符号串进行语法分析(根据语法规则进行推导或归纳),识别出程序中的各类语法单位,最终判断输入串是否构成语法上正确的“程序语句”。语义分析及中间代码产生器,按照语义规则对语法分析器归纳出(或推导出)的语法单位进行语义分析并把它们翻译成一定形式的中间代码。优化器对中间代码进行优化处理。其

2、过程实际上是对中间代码进行等价替换,使程序在执行时能更快,并占用更小的空间。目标代码生成器把中间代码翻译成目标程序。中间代码一般是一种与机器无关的表示形式,只有把它再翻译成与机器硬件相关的机器能识别的语言,即目标程序,才能在机器上运行。表格管理模块保持一系列的表格,登记源程序的各类信息和编译各阶段的进展状况。编译程序各个阶段所产生的中间结果都记录在表格中,所需要的信息也大多从表格中,所需要的信息也大多从表格中获取,整个编译过程都在不断地和表格打交道。出错处理程序对出现在源程序中的错误进行处理。编译程序的各个阶段

3、都有可能发现错误,出错处理程序要对发现的错误进行处理、记录,并反映给用户。 2.已知文法G:E->E+T

4、E-T

5、TT->T*F

6、T/F

7、FF->(E)

8、i试给出下述表达式的推导及分析树(1)i;(2)i*i+i(3)i+i*i(4)i+(i+i)[答案](1)E=>T=>F=>i(2)E=>E+T=>T+T=>T*F+T=>F*F+T=>i*F+T=>i*i+T=>i*i+F=>i*i+i(3)E=>E+T=>T+T=>F+T=>i+T=>i+T*F=>i+F*F=>i+i*F=>i+i*i(4)E=>E+T

9、=>T+T=>F+T=>i+T=>i+F=>i+(E)=>i+(E+T)=>i+(T+T)=>i+(F+T)=>i+(i+T)=>i+(i+F)=>i+(i+i)                3.文法G[S]为:S->Ac

10、aBA->abB->bc该文法是否为二义的?为什么?[答案]对于串abc(1)S=>Ac=>abc(2)S=>aB=>abc即存在两不同的最右推导所以,该文法是二义的。4.令文法G[E]为:E->E+T

11、E-TT->T*F

12、T/F

13、FF->(E)

14、I对于它的一个句型E+T*F,指出这个句型

15、的所有短语、直接短语、句柄和素短语。[答案]此句型的短语有:E+T*F,T*F,直接短语为:T*F。句柄为:T*F素短语:T*F   5.已知文法G[E]:E→ET+

16、TT→TF*

17、FF→F^

18、a试证:FF^^*是文法的句型,指出该句型的短语、直接短语、句柄和素短语.[答案]该句型对应的语法树如下: 该句型的短语有FF^^*,F,F^,F^^;直接短语有F;F^;句柄为F;素短语为F^

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

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

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