编译原理历年试题及答案(6)

2020-02-21 00:45

A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符

2.文法分为四种类型,即0型、1型、2型、3型。其中0型文法是_____。

A. ( ) 短语文法 B.( ) 正则文法

C.( ) 上下文有关文法 D.( ) 上下文无关文法

3.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号, 一个开始符号,以及一组 _____。

A.( ) 句子 B.( ) 句型 C.( ) 单词 D.( ) 产生式

4._____是一种典型的解释型语言。

A.( ) BASIC B.( ) C C.( ) FORTRAN D.( ) PASCAL

5.与编译系统相比,解释系统_____。

A.( ) 比较简单 , 可移植性好 , 执行速度快 B.( ) 比较复杂 , 可移植性好 , 执行速度快 C.( ) 比较简单 , 可移植性差 , 执行速度慢 D.( ) 比较简单 , 可移植性好 , 执行速度慢

6.用高级语言编写的程序经编译后产生的程序叫_____。

A.( ) 源程序 B.( ) 目标程序 C.( ) 连接程序 D.( ) 解释程序

7.词法分析器用于识别_____。

A. ( ) 字符串 B.( ) 语句 C.( ) 单词 D.( ) 标识符

8.编写一个计算机高级语言的源程序后 , 到正式上机运行之前,一般要经过_____这几步:

(1) 编辑 (2) 编译 (3) 连接 (4) 运行

A. ( ) (1)(2)(3)(4) B.( ) (1)(2)(3) C.( ) (1)(3) D.( ) (1)(4)

9.把汇编语言程序翻译成机器可执行的目标程序的工作是由_____完成的。

A.( ) 编译器 B.( ) 汇编器 C.( ) 解释器 D.( ) 预处理器

10.文法 G 所描述的语言是_____的集合。

A. ( ) 文法 G 的字母表 V 中所有符号组成的符号串 B.( ) 文法 G 的字母表 V 的闭包 V* 中的所有符号串 C.( ) 由文法的开始符号推出的所有终极符串 D. ( ) 由文法的开始符号推出的所有符号串

三、填空题(每空1分,共10分)

1.语法分析是依据语言的__语法___规则进行的,中间代码产生是依据语言的__语义___规 进行的。

2.语法分析器的输入是__单词符号串___,其输出是__语法单位___。

3.一个名字的属性包括__类型___和__作用域___。

4.产生式是用于定义___语法成分__的一种书写规则。

5.逆波兰式 ab+c+ d*e- 所表达的表达式为__(a+b+c)*d-e___ 。

6.语法分析最常用的两类方法是__自上而下___和__自下而上___分析法。

四、简答题(20分)

1. 写出下列表达式的三地址形式的中间表示。

(1) 5+6 *(a + b);

(2)for j:=1 to 10 do a[j + j]:=0。

答: (1)100: t1:=a+b 101: t2:=6*t1

102: t3:=5+t2 (2)100: j:=1

101: if j>10 goto NEXT 102: i:=j+j 103: a[i]:=0

2. 设基本块p由如下语句构成:

T 0 : =3.14;

T 1 :=2*T 0 ;

T 2 :=R+r;

A:=T l *T 2 ;

B:=A;

T 3 :=2*T 0 ;

T 4 :=R+r;

T 5 :=T 3 *T 4 ;

T 6 :=R-r ;

B:=T 5 *T 6 ;

试给出基本块p的 DAG 。

解:基本块p的DAG图:

3. 写出表达式(a+b)/(a-b-(a+b*c)的三元序列及四元序列。 解:(1)三元式: ①(+,a,b) ②(-,a,b) ③(/,①,②) ④(*,b,c) ⑤(+,a,④)

⑥(-,③,⑤) (2)四元式:

①(+,a,b,T1) ②(-,a,b,T2) ③(/,T1,T2,T3) ④(*,b,c,T4) ⑤(+,a,T4,T5) ⑥(-,T3,T5,T6)

4. 写一个文法使其语言为偶数集,且每个偶数不以0开头。

解:文法G(S): S→AB|B|A0 A→AD|C B→2|4|6|8 C→1|3|5|7|9|B D→0|C

5. 设文法 G ( S ):

S→S + aF|aF| + aF

F→*aF|*a

(1)消除左递归和回溯;

(2)构造相应的 FIRST 和 Follow 集合。 1)

S->aFS'|+aFS' S'->+aFS'|ε F->*aF' F'->F|ε (2)

FIRST(S)={a,+} FOLLOW(S)={#} FIRST(S')={+,ε } FOLLOW(S')={#} FIRST(F)={*} FOLLoW(F)=(+,#} FIRST(F')={*,ε} FOLLOW(+,#}

五.计算题(10分)

已知文法为:

S->a|^|(T)

T->T,S|S

构造它的 LR(0)分析表。


编译原理历年试题及答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Maya常用快捷键

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

马上注册会员

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