编译原理 试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、简答题(每题5分,共20分)

1、简述编译程序所完成的主要工作。

2、应用递归下降和LL(1)分析技术的先决条件是什么?

3、简述在程序的声明部分语义分析所完成的基本工作。

4、试说明中间代码的作用及其形式。

二、演算题(共60分)

1、试为下列语言构造相应的文法。(6分)

{a 2m b m | m>0}

2、设有文法G[S]为:(6分)

S→dAB A→aA|a B→Bb|λ

其表示的相应语言是什么?

3、设有A=({q0,q1,q2},{a,b},M,{q0},{q1}),其中M为:(10分)

M(q0,a)={q1,q2} M(q0,b)={q0} M(q1,a)={q0,q1}

M(q2,a)={q0,q2} M(q2,b)={q1}

试为其构造DFA,它能接受bababab和abababb吗?

4、设有文法G[Z]:(8分)

Z→S

S→L=R | R

L→*R| i

R→L

已知LR(1)项目集IS={[ Z→.S,#]},计算CLOSURE(IS)的值。

5、选做题:要求从下面给出的(1)、(2)两题中任选一题完成。

(1)设当前层数为L,可用偏移量Offset值为101,且有下面程序,写出相关的符号表和类型表。(20分)

CONST a=245.43;

TYPE r=record

y:integer;

x:real;

end;

V AR c:integer;

d:array [3..6] of r;

(2)已知文法G(E)

E→T|E+T

T→F|T* F

F→(E)|i

(i) 给出句型(T * F+i)的最右推导及画出语法树(10分);

(ii) 给出句型(T * F+i)的所有短语、直接短语。(10分)

6、试写出下列赋值语句的四元式中间代码,其中各数组的下界为1,上界为10。(10分)

D[i][j]:=D[i][j]+1

三、分析题(20分)

对下列文法:

Z→S

S→bRST | bR

R→dSa | e

T→fRa | f

(1)求各非终极符的FIRST和FOLLOW集合。

(2)构造该文法的SLR(1)分析表。

相关文档
最新文档