- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05级编译原理A卷试卷答案及评分标准.doc
07-08年度第二学期《编译原理》考试试卷答案及评分标准
选择题(每题2分,共20分)
1. B 2. C 3. D 4. A 5. D
6. C 7. A 8. B 9. B 10. A
填空题(每空1分,共10分)
1. 自左向右处理输入;与最左推导相对应;先行一个符号 (只要意思对,可酌情给分)
2. 上下文无关;正则
3. 单词符号串(记号);语法单位(语法树 / 分析树) (只要意思对,可酌情给分)
4. 静态存储分配
5. 解释;编译(翻译) (两答案顺序可以颠倒)
简答题(每题4分,共20分,只要意思对,可酌情给分)
1. 是将便于人编写、阅读、维护的高阶计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。 (2分)
编译器将原始程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源代码一般为高阶语言 (High-level language),如 Pascal、C++、Java 等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 (2分)
2. 编译过程的几个阶段仅仅是逻辑功能上的一种划分。具体实现时,受不同源语言、设计要求、使用对象和计算机条件(如主存容量)的限制,往往将编译程序组织为若干遍(Pass)。所谓“遍”就是对源程序或源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结果或目标程序。 (2分)
通常,每遍的工作由从外存上获得的前一遍的中间结果开始,完成它所含的有关工作之后,再把结果记录于外存。既可以将几个不同阶段合为一遍,也可以把一个阶段的工作分为若干遍。当一遍中包含若干阶段时,各阶段的工作是穿插进行的。 (2分)
3. 扫描器就是词法分析程序。 (2分)
其主要功能是依据词法规则,分析由字符组成的源程序,把它分割为一个一个具有独立意义的最小语法单位,即单词。 (2分)
4. A、a[a-z]*|[a-z]*b (2分)
B、[a-zA-Z]( [a-zA-Z] |[0-9])* (2分)
5. 后缀表示:ab/cde+*- (2分)
四元组表示:
(1)(/,a,b,T1)
(2)(+,d,e,T2)
(3)(*,c,T2,T3)
(4)(-,T1,T3,T4) (2分)
(10分,按步骤酌情给分)
S
A
B
C
a
ε
ε
b
a
Z
(1)构造该正则表达式所对应的NFA; (4分)
(2)由NFA构造DFA; (4分)
IIaIb[S] 0[A,B,Z] 1[A,B,Z] 1[C] 2[C] 2[B,Z] 3[B,Z] 3[C] 20
2
1
3
a
b
a
b
0
1
a
b
(3)对DFA进行最小化。 (2分)
(10分,按步骤酌情给分)
(1)最左推导 (5分)
S = (T) = (T, S) = (S, S) = (a, S) = (a, (T)) = (a, (T, S))
= (a, (S, S)) = (a, (a, S)) = (a, (a, a))
(2)语法树 (5分)
(10分,按步骤酌情给分)
(1)First(Z)={ ( } Follow(Z)={ $ }
First(A)={a, b} Follow(A)={ ), a}
First(B)={a, b} Follow(B)={ ), a} (2分)
∵First(a)∩First(bB)={a}∩{b}=Φ
∴文法G[Z]为LL(1)文法。 (2分)
又∵LL(1)文法是非二义性文法,
∴此文法分析过程中能够避免二义性。 (2分)
(2)∵Z = (A) = (bB) = (bAab) = (bbBab)
= (bbAabab) = (bbaabab)
∴符号串(bbaabab)是此文法的句子。 (4分)
(20分,按步骤酌情给分)
(1)消除左递归和提取左因子,给出与G[A]等价的文法G’[A];
A
文档评论(0)