编译基本知识考试陈火旺(含答案解析).pdf

编译基本知识考试陈火旺(含答案解析).pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

编译基本知识考试陈火旺(含答案解析)

_

编译原理试题A(2003.12.4)

一、回答下列问题:(30分)

1.(6分)对于下面程序段

programtest(input,output)

vari,j:integer;

procedureCAL(x,y:integer);

begin

y:=y*y;x:=x-y;y:=y-x

end;

begin

i:=2;j:=3;CAL(i,j)

writeln(j)

end.

若参数传递的方法分别为(1)传值、(2)传地址,(3)传名,请写出程序执行的输

出结果。

2.(6分)计算文法G(M)的每个非终结符的FIRST和FOLLOW集合,并判断该文法

是否是LL(1)的,请说明理由。

G(M):

M→TB

T→Ba|

B→Db|eT|

D→d|

3.(4分)考虑下面的属性文法

产生式语义规则

S→ABCB.u:=S.u

A.u:=B.v+C.v

S.v:=A.v

A→aA.v:=3*A.u

B→bB.v:=B.u

C→cC.v:=1

(1)画出字符串abc的语法树;

(2)对于该语法树,假设S.u的初始值为5,属性计算完成后,S.v的值为多少?

4.(4分)运行时的DISPLAY表的内容是什么?它的作用是什么?

5.(5分)对下列四元式序列生成目标代码:

编译基本知识考试陈火旺(含答案解析)

_

A:=B*C

D:=E+A

G:=B+C

H:=G*D

其中,H在基本块出口之后是活跃变量,R0和R1是可用寄存器。

6.(5分)写出表达式a+b*(c-d)对应的逆波兰式、三元式序列和抽象语法树

。二、(8分)构造一个DFA,它接受={a,b}上所有包含ab的字符串。

三、(6分)写一个文法使其语言为L(G)={anbncm|m,n≥1,n为奇数,m为偶数}。

四、(8分)对于文法G(S):

SbMb

M(L|a

LMa)

1.写出句型b(Ma)b的最右推导并画出语法树。

2.写出上述句型的短语,直接短语和句柄。

五、(12分)对文法G(S):

S→a|^|(T)

T→T,S|S

(1)构造各非终结符的FIRSTVT和LASTVT集合;

(2)构造算符优先表;

(3)是算符优先文法吗?

(4)构造优先函数。

六、(8分)设某语言的do-while语句的语法形式

为SdoS(1)WhileE

其语义解释为:

S(1)的代码真

E的代码假

编译基本知识考试陈火旺(含答案解析)

文档评论(0)

小蜗牛 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档