10.代码生成阶段的主要任务是 A.把高级语言翻译成汇编语言
B.把高级语言翻译成机器语言
C.把中间代码变换成依赖具体机器的目标代码 D.把汇编语言翻译成机器语言
二、填空题(本大题共5小题,每小题2分)(题分 10分)
1.编译程序首先要识别出源程序中每个( ),然后再分析每个( )并翻译其意义。
2.编译器常用的语法分析方法有( )和( )两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的( ),中间代码生成、代码优化与目标代码的生成则是对源程序的( )。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即:( )方案和( )方案。
5.对编译程序而言,输入数据是( ),输出结果是( )。 三、名词解释题(共5小题,每小题4分) (题分 20分) 1.词法分析 2.LL(1)文法 3.语法树
4.LR(0)分析器 5.语言和文法
四、简答题(共4小题,每小题5分) (题分 20分)
1.编译程序和高级语言有什么区别? 2.编译程序的工作分为那几个阶段? 3.简述自下而上的分析方法。 4.简述代码优化的目的和意义。
五、综合应用题(共3小题,每小题10分) (题分 30分)
1.证明下述文法G:
S aSbS|aS|d
是二义性文法。
2.对于文法G[S]:S AB,A Aa|bB,B a|Sb求句型baSb的全部短语、直接短语和句柄?
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典教育范文编译原理试题及答案(2)在线全文阅读。
相关推荐: