- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件学院编译原理试题1
北京工业大学 2009∽2010年度第1学期
软件学院【编译原理】考试卷(B)
考试形式: 一纸开卷 考试时间:2010年 月 日
学号 姓名
一 二 三 四 五 六 七
总分 分数 选择题(16分)
1、请从下列供选择的答案中选出与编译过程的各阶段对应的常用方法:
(1)词法分析的常用方法有( )
(2)语法分析的常用方法有( )
(3)中间代码生成的常用方法有( )
(4)优化的常用方法有( )
可选项有:
(1) a.有穷自动机理论 b.图灵机
c.图论 d.无穷自动机理论
(2) a.自顶向下匹配 b.自底向上归约
c.回溯法 d.自顶向下匹配和自底向上归约
(3) a. LR方法 b.语法制导翻译方法
c.最优匹配法 d.递归法
(4) a.信息流分析法 b.语义分析法
c.数据流分析法 d.结构图
2、通常编译程序是把高级语言书写的源程序翻译为( (1) ),它包括词法分析、语法分析、
中间代码生成、代码优化、目标代码生成、符号表格管理和出错处理等部分。其中代码优化的目的是加快( (2) )的执行速度,符号表存取方法则影响( (3) )的效率。
可选项有:
(1) a.BASIC语言程序 b.中间语言程序
c.另一种高级语言程序 d.等价的机器语言程序
(2)、(3)a.编译程序 b.目标程序 c.源程序
d.编译程序和目标程序 e.解释程序
3、设有文法
G[E]: E - E+E | E*E | (E) | i
在下述文法类中,文法G[E]属于( )。
(1)算符文法 (2)上下文无关文法 (3)正规文法 (4)二义文法
可选项有:
a.(1)(2) b.(1)(2)(4) c.(2)(4) d.(1)(4)
自顶向下的语法分析(20分)
给定文法 G[S]:
S → aSb | A A → bAc | bBc B → Ba | a
试消除文法的左递归、提取左因子,并判断改写后的文法是否为LL(1)文法?并说明理由。
自底向上的语法分析(20分)
试证明下面的文法G[S]是SLR(1)但不是LR(0)的:
G[S]: S → X
X → Xb|bYa
Y → aXc|a|aXb
(7分)试证明(说明)下面的文法G[S]是二义的:
G[S]: S → iSeS|iS|i
考虑句子iiiei,存在如下两个最右推导:
S = iSeS = iSei = iiSei = iiiei
S = iS = iiSeS = iiSei = iiiei
(7分)写出能产生字母表{a,b}上的不含两个相邻的a,且不含两个相邻的b的全体符号串的有限状态自动机。
(16分)设文法
G[E]: E → RP|P
P → (E)|i
R → RP+| RP* |P+|P*
画出句子i+i*(i+i)的语法分析树,给出其最右推导和最左归约,并指出它的句柄。
七、属性文法(14分)
如图所示为一简单的台式计算器的语法制导定义(n为换行符)
产生式 语义规则 L- E n Print(E.val) E- E + T E.val:=E.val+T.val E- T E.val:=T.val T- T * F T.val:=T.val×F.val T- F T.val:=F.val F- ( E ) F.val:=E.val F- digit F.val:=digit.lexval 1、该语法制导定义中仅使用了何种属性定义?仅使用该种属性的语法制导定义又称为何种属性定义?
2、写出句子(17 + 3)+ 10 * 2n的带注释分析树、或属性计算过程。
3、给出处理该句子的结果(Print输出结果)。
第 3 页 共 5 页
文档评论(0)