- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》期末试题(一)
、是非题(请在括号内,正确的划 V,错误的划X)(每个2分,共20分)
1编译程序是对高级语言程序的解释执行。 (X
2.—个有限状态自动机中,有且仅有一个唯一的终态。 (X
3.—个算符优先文法可能不存在算符优先函数与之对应。 (V)
4?语法分析时必须先消除文法中的左递归 。(X
5. LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。 (V
6.逆波兰表示法表示表达式时无须使用括号。 (V)
7.静态数组的存储空间可以在编译时确定。 (X
进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。 (X
9?两个正规集相等的必要条件是他们对应的正规式等价。 (X
10. 一个语义子程序描述了一个文法所对应的翻译工作。 (X
二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论
)(每个4分,共40分)
1?词法分析器的输出结果是 。
A .()单词的种别编码 B .
C .()单词的种别编码和自身值 D.
2.正规式 M 1和M 2等价是指 。
A . ( ) M1和M2的状态数相等
C . ( ) M1和M2所识别的语言集相等
()单词在符号表中的位置
()单词自身值
B . ( ) M1和M2的有向边条数相等
D . ( ) M1和M2状态数和有向边条数相等
如果文法G是无二义的,则它的任何句子 a
A .()最左推导和最右推导对应的语法树必定相同
B .()最左推导和最右推导对应的语法树可能不同
C .()最左推导和最右推导必定相同
D .()可能存在两个不同的最左推导,但它们对应的语法树相同
构造编译程序应掌握 。
A.()源程序 B .()目标语言
C .()编译方法 D .()以上三项都是
四元式之间的联系是通过 实现的。
A.()指示器 B .()临时变量
C .()符号表 D .()程序变量
表达式(「A B) A (CV D)的逆波兰表示为 。
A. ( ) 「ABA CD V B . ( ) A「B CD VA
C . ( ) AB V「CDVA D. ( ) A 「VA CD V
优化可生成 的目标代码。
A.()运行时间较短 B.()占用存储空间较小
C .()运行时间短但占用内存空间大 D .()运行时间短且占用存储空间小
下列 优化方法不是针对循环优化进行的。
A.()强度削弱 B .()删除归纳变量
C .()删除多余运算 D .()代码外提
10 .编译程序使用 区别标识符的作用域。
A.()说明标识符的过程或函数名
B .()说明标识符的过程或函数的静态层次
C .()说明标识符的过程或函数的动态层次
D.()标识符的行号
三、 填空题(每空1分,共10分)
1 ?计算机执行用高级语言编写的程序主要有两种途径: ___解释—和—编译 —。
2?扫描器是—词法分析器—,它接受输入的— 源程序__,对源程序进行―词法分析—并识别出一个个 单词符号,其输出结果是单词符号,供语法分析器使用。
3?自上而下分析法采用 ―移进__、归约、错误处理、 —接受__等四种操作。
一个LR分析器包括两部分:一个总控程序和 一张分析表__。
后缀式abc-/所代表的表达式是 a/(b-c)__。
局部优化是在__基本块—范围内进行的一种优化。
四、 简答题(20分)
简要说明语义分析的基本功能。
答:语义分析的基本功能包括 :确定类型、类型检查、语义处理和某些静态语义检 查。
考虑文法 G[S]:
S t (T) | a+S | a
T t t,S | S
消除文法的左递归及提取公共左因子。
解:消除文法G[S]的左递归:
St (T) | a+S | a
Tt ST
Tt ,ST | £
提取公共左因子:
St (T) | aS
St +S |
Tt ST
Tt ,ST | £
试为表达式 w+(a+b)*(c+d/(e-10)+8) 写出相应的逆波兰表示。
解:w a b + c d e 10 - / + 8 + * +
按照三种基本控制结构文法将下面的语句翻译成四元式序列:
while (AC A BD)
{
if (A 1) C=C+1;
else while (A D)
A=A+2;
}。
解:该语句的四元式序列如下 (其中E1、E2和E3分别对应A V C A B V D、A》1和AD ,并且关系运算符
优先级高):
(j,A,C,102)
(j,_,_,113)
(j,B,D,104)
(j,_,_,113)
(j=,A,1,106)
(j,_,_,108)
(+, C, 1, C)
(j,_,_,112)
(j W ,A,D,110)
(j,_,_,112)
(
文档评论(0)