江西师大编译原理期末真题2013B卷

2020-04-14 00:50

2012-2013学年第二学期期末考试试卷(B)

一、选择题(共20分,每小题2分)

1、用高级语言编写的程序经编译后产生的程序叫( )。 A、源程序

B、目标程序

C、连接程序

D、解释程序

2、编译的两种形式是编译方式和解释方式,这两种方式最本质的区别在( )。 A、编译方式速度快 B、解释方式不产生目标代码 C、解释方式更方便 D、编译比解释步骤更多 3、Chomsky的3型语言是这样一种语言,其产生式限制为( )。

(其中α、β为由终极符和非终极符组成的任意长度的串,A、B为非终极符,a、b为终极符号)。

A、A→ α B、A→a 或 A→Ab C、α→β D、aAb→bβa 4、自顶向下的语法分析方法有( )。

A、简单优先分析法 B、LL(1)分析法 C、算符优先分析法 D、LR(0)分析法

5、设有文法G[S]:S→S1|S0|Sa|Sc|a|b|c,下列符号串中不是该文法的句子有( )。 A、ab0 B、a0c01 C、aaa D、bc10 6、文法 G 产生的( )的全体是该文法描述的语言。 A、句型 B、终结符集

C、非终结符集 D、句子

7、词法分析器的输出结果是( )。 A、单词的种类编码

B、单词在符号表中的位置

C、单词的种类编码和自身值 D、单词自身值

8、若项目集 Ik含有 A→a· ,则在状态 k 时,仅当面临的输入符号 a∈FOLLOW(A)时,

才采取“A→a· ”动作的一定是( )。 A、 LALR 文法 C、 LR(1)文法

B、LR(0)文法 D、SLR(1)文法

9、后缀式ab+cd+/对应的中缀表达式是( )。

A、a+b/c+d B、(a+b)/(c+d) C、a+b/(c+d) D、a+b+c/d

10、对于错误信息“else 没有匹配的if”,最有可能是编译的( )阶段报告出来的。

A、词法阶段

B、语法阶段 C、语义阶段 D、代码生成阶段

二、计算题(共50分)

1、设文法G={{S},{a,b},P,S} P: S-> aSb S -> ab

请写出该文法所表达的语言。 (5分)

2、构造一个DFSA,它接受Σ={ a,b}上的符号串,符号串中的每个b都有a直接跟在右边;然后再构造该语言的正规文法。 (15分) 3、写出下列语句的四元式中间代码。(12分) (1) if ( x>0 ) x:=0; else x:=1; (2) while ( x>0 ) x:=x-1;

4、设当前层数为L,可用偏移量Offset值为101,下面分别用PASCAL和C两种语言给出了一个程序段,请写出相关的符号表和数据类型(内部表示)表。 (18分)

CONST m=123; const int m=123; const int n=321; typedef float at[10]; typedef record { i,j:integer } rt; at a,b; float x,y; n=321; rt=record i,j:integer end; TYPE at=array[0..9] of real; VAR a,b:at; x,y:real;

三、语法分析题(共30分)

1、已知文法G[S]:S→MH|a

H→LSo|ε K→dML|ε L→eHf M→K|bLM

判断G 是否是LL(1)文法,如果是,构造LL(1)分析表。 (20分) 2、已知文法G[S]:

S→aA A→Ab|b

判断该文法是否是LR(0)文法,并说明理由。 (10分)

2012-2013学年第二学期期末考试试卷(B)

评分标准及参考答案

课程名:编译原理 课程号:262006 出卷人:漆志群 联系电话:18970069697

一、选择题(共20分,每小题2分)

1、B 2、B 3、B 4、B 5、A 6、D 7、C 二、计算题(共50分)

1、(5分)L(G)= {an

bn

| n>=1}

2、(15分) DFSA: a b 0 1

a 正规文法: S→aS|bW|ε W→aS|a

3、(12分)

(1) (GT,x,0,t1) (JMP0,t1,L1) (ASSIG,0,x) (JUMP,L2) (LABLE,L1) (ASSIG,1,x) (LABLE,L2) (2) (LABLE,L1)

(GT,x,0,t1) (JUMP0,t1,L2) (SUBI,x,1,t2)

(ASSIG,t2,x) (JUMP,L1) (LABLE,L2)

8、D 9、B 10、B

4、(18分)

符号表的内容(其中atIR和rtIR表示类型的内部表示地址) m n at rt a b x y intPtr intPtr atIR rtIR atIR atIR realPtr realPtr constKind constKind typeKind typeKind varKind varKind varKind varKind 123 321 False False Dir Dir Dir dir L L L L 101 111 121 123

类型的内部表示:

atIR:

10 arrayTy 0 null j 9 realPtr recordTy rtIR: 2

i intptr 0

三、语法分析题(30分)

1、(20分) 文法展开为: 0) S→M H 1) S→a 2) H→L S o 3) H→ε

4) K→d M L 5) K→ε 6) L→e H f 7) M→K 8) M→b L M 非终结符 S M H L K FIRST 集 {a,d,b,ε,e} {d,ε,b}.. {ε,e} {e} {d,ε} intPtr 1 null FOLLOW 集 {#,o} {e,#,o} {#,f,o}.. {a,d,b,e,o,#} {e,#,o} 对相同左部的产生式可知:

SELECT(S→M H)∩SELECT(S→a) ={ d,b ,e,#,o }∩ { a }=Ф SELECT(H→L S o)∩SELECT(H→ε) ={ e }∩ { #,f,o }=Ф SELECT(K→d M L)∩SELECT(K→ε) ={ d }∩ { e,#,o }=Ф

SELECT(M→K)∩SELECT(M→b L M) ={ d,e,#,o }∩ { b }=Ф 所以文法是LL(1)的。

预测分析表: S M H L K a a o MH K ε ε d MH K dML e MH K LSo eHf ε f ε b MH bLM # MH K ε ε 由预测分析表中无多重入口也可判定文法是LL(1)的。 2、(10分)

0

s→.aA a 1

s→a.A A→.Ab A→.b b 2

A→b. A 3 s→aA. A→A.b b 4 A→Ab. 根据该文法的LR(0)自动机可以知道,每个状态都只包含移入型项目或者只含有一个归约型项目,所以该文法是LR(0)文法。


江西师大编译原理期末真题2013B卷.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:深圳大学选课老师评论

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: