文档库 最新最全的文档下载
当前位置:文档库 › 编译概念复习题(参考答案)

编译概念复习题(参考答案)

编译概念复习题(参考答案)
编译概念复习题(参考答案)

编译概念复习题(参考答案)

一、填空题

1.高级程序设计语言是根据定义的。

A.词法规则B.语法规则

C.语义规则D.以上三项规则

2.编译程序各阶段工作都涉及到。

A.词法分析B.表格管理

C.语法分析D.语义分析

3.编译程序将源程序加工成目标程序是之间的转换。

A.词法B.语法

C.语义D.规则

4.解释程序和编译程序的区别在于。

A.是否生成中间代码B.加工的对象不同

C.使用的实现技术不同D.是否生成目标程序

5.一遍扫描的编译程序的优点是。

A.算法清晰B.便于分工

C.便于优化D.编译速度快

6.编译程序不能够检查、处理的错误是程序中的。

A.静态语义错误B.动态语义错误

C.语法错误D.词法错误

7.开发一个编译程序应掌握。

A.源语言B.目标语言

C.编译技术D.以上三项都是

8.中间代码生成所依据的是语言的。

A.词法规则B.语法规则

C.语义规则D.产生规则

10.测试一个编译程序时使用的测试数据是。

A.源程序B.中间代码

C.目标程序D.任意数据

11.可以作为目标代码的语言是。

A.高级语言B.中间语言

C.低级语言D.程序设计语言

12.编译程序检查、处理源程序中的错误具体指的是。

A.词法错误B.语法错误

C.语义错误D.以上三项都是

13.同正则表达式(a | b)+等价的正则表达式是。

A.(a | b) * B.(a | b) (a | b) *

C.(a b)* (a b) D.(a | b)| (a | b)*

14.词法分析器的输出结果是。

A.单词自身B.单词的机内符

C.单词的词义信息D.单词的词法信息

15.如果一个正则表达式所代表的集合是无穷的,则它必含有运算。

A.连接运算:“·”B.或运算:“|”

C.闭包运算:“*”D.括弧:“(”和“)”

16.称有限自动机A1和A2等价是指。

A.A1和A2都是定义在一个字母表Σ上的有限自动机

B.A1和A2状态数和有向边数相等

C.A1和A2状态数或有向边数相等

D.A1和A2所能识别的字符串集合相同

17.DFA同NFA的不同之处是。

A.DFA的一个状态发出的边不能相同,而NFA的一个状态可以发出多条相同的边B.DFA可以含有多个终止状态,而NFA可以含有多个初始状态

C.DFA和NFA所描述的字符串集合不同

D.DFA同NFA使用的构造技术和对象不同

18.同正则表达式(a | b)*等价的正则表达式是。

A.(a | b)+ B.a* | b*

C.(a b)*D.(a* | b*)+

19.词法分析器的加工对象是。

A.中间代码B.单词

C.源程序D.元程序

20.称正则表达式R1和R2等价是指。

A.R1和R2都是定义在一个字母表Σ上的正则表达式

B.R1和R2中使用的运算符相同

C.R1和R2代表一个正则集

D.R1和R2代表不同的正则集

21.如果一个有限自动机所能识别的字符串集合是无穷的,则它必。

A.含有多个状态B.含有多条有向边

C.含有多个终止状态D.含有回路

22.DFA同NFA的不同之处是。

A.DFA只能含有一个终止状态,而NFA可以含有多个终止状态

B.DFA只能含有一个初始状态,而NFA可以含有多个初始状态

C.DFA和NFA所描述的字符串集合不同

D.DFA同NFA使用的构造技术和对象不同

23.同正则表达式a*b*等价的文法是。

A.G1:S→aS|bS|εB.G2:S→aSb|ε

C.G3:S→aS|Sb|εD.G4:S→abS|ε

24.如果一个文法G是二义性文法,则必存在某个句子x∈L(G),该句子。

A.存在两个不同的最右推导和一个最左推导

B.存在两个不同的最左推导和一个最右推导

C.最左推导和最右推导不同

D.存在两个不同的最左推导和两个不同的最右推导

25.称文法G1和G2等价是指。

A.L(G1)≡L(G2) B.L(G1)=L(G2)

C.L(G1)?L(G2) D.L(G2)?L(G1)

26.由文法的开始符出发通过若干步(包括0步)推导产生的文法符号序列是。

A.语言B.句型

C.句子D.句柄

27.最左简单子树的叶结点,自左至右排列组成句型的。

A.短语B.简单短语

C.句柄D.素短语

28.CFG文法G:S→[ S ] | [ ]所产生的语言是。

A.[ m ] n (m,n>0)B.[ m ] n (m,n>1)

C.[ m ] m(m≥1)D.[ n ] n(n≥0)

29.如果一个文法G是无二义性文法,则对任一句子x∈L(G),该句子。

A.可能存在两个不同的最右推导

B.可能存在两个不同的最左推导

C.最左推导和最右推导不同

D.仅存在一个最左推导和一个最右推导

30.正则文法的句型具有的特点是。

A.句型中仅含一个非终结符或不含非终结符

B.句型中仅含一个非终结符或只含终结符

C.句型中仅含一个非终结符且在句型的最右端,或不含非终结符

D.句型中可含多个非终结符且在句型的最左端,或不含非终结符

31.规范推导是。

A.最右推导的逆过程B.最左推导

C.最左归约的逆过程D.最右规约的逆过程

32.在自顶向下语法分析中,要求文法满足。

A.无左递归B.无左公因子

C.无右递归D.无回溯

33.一个文法G是LL(1)文法的充要条件是对每一个非终结符A的任意两个不同产生式A→α | β,有。

A.FIRST(α)∩FIRST(β)=Φ

B.FIRST(α)∩FOLLOW(A)=Φ

C.SELECT(A→α)∩SELECT(A→β)=Φ

D.SELECT(A→α)∩SELECT(A→β)≠Φ

34.一个文法是简单优先文法应满足的条件是。

⑴没有形如A→…BC…的产生式(A,B,C∈V N)

⑵没有形如A→ε产生式

⑶任意两个终结符号之间至多存在一种优先关系

⑷没有相同的产生式右部

可选项有:

A.⑴⑵⑶B.⑵⑶⑷C.⑴⑶⑷D.⑴⑵⑷

35.算符优先分析法每次都是对进行归约。

A.短语B.最左素短语

C.素短语D.句柄

36.一个文法G,若,则称它是LL(1)文法。

A.G中不含左递归

B.G无二义性

C.G的LL(1)分析表不含多重定义

D.G中产生式不含左公因子

37.设有文法G=({S},{a},{ S→SaS | ε},S),该文法是。

A.LL(1)文法B.LR(0)文法

C.算符优先文法D.二义性文法

38.若B为非终结符,则A→α·Bβ为项目。

A.移入B.待约

C.归约D.接受

39.LR分析器核心部分是一张分析表,该表由组成。

A.ACTION表B.GOTO表

C.LL(1)分析表D.ACTION表和GOTO表

40.在递归子程序方法中,如果文法存在左递归,则会使分析过程产生。A.回溯B.非法调用

C.有限次调用D.无限循环

41.编译程序的语法分析器必须输出的信息是。

A.语法错误信息B.语法规则信息

C.语法分析过程D.语句序列

42.一个文法是算符优先文法应满足的条件是。

⑴没有形如A→…BC…的产生式(A,B,C∈V N)

⑵没有形如A→ε产生式

⑶任意两个终结符号之间至多存在一种优先关系

⑷没有相同的产生式右部

可选项有:

A.⑴B.⑴⑵C.⑴⑵⑶D.⑴⑵⑶⑷

43.算符优先文法与算符优先函数的关系描述中正确的是。

A.一个算符优先文法一定存在算符优先函数与之对应

B.一个算符优先文法一定存在多对算符优先函数与之对应

C.一个算符优先文法一定存在有限对算符优先函数与之对应

D.一个算符优先文法可能存在也可能不存在算符优先函数与之对应

44.LL(1)分析法中的“1”的含义是向输入串中查看一个输入符号,其目的是。A.确定最左推导

B.确定可归前缀

C.确定分析一步使用的产生式右部匹配串

D.确定是否推导

45.若a为终结符,则A→α? aβ为项目。

A.移入B.待约

C.归约D.接受

46.可归前缀是指。

A.规范句型的前缀B.活前缀

C.含有句柄的活前缀D.句柄

47.下述关于标识符和名字的叙述中,正确的为。

A.标识符有一定的含义

B.名字有确切的属性

C.名字是一个没有意义的字符序列

D.标识符和名字是等同的

48.下列错误属于静态语义错误的是。

A.括弧不配对B.出现非法字符

C.类型不相容D.溢出

49.属于标识符“种属”属性信息的描述是。

A.整型B.变量

C.地址D.指针

50.不属于标识符“类型”属性信息的描述是。

A.整型B.实型

C.指针D.类型

51.函数表达式sqrt (-8)是错误的,它属于错误。

A.语法B.词法

C.静态语义D.动态语义

52.有一语法制导翻译算法如下:

S→bAb { print “1”}

A→(B { print “2”}

A→a { print “3”}

B→aA) { print “4”}

若输如序列为b(a(a(aa)))b,且采用自底向上的分析方法,则输出序列为。

A.32224441 B.34242421

C.12424243 D.34442212

53.使用可以把语句翻译成四元式序列。

A.词法规则B.语法规则

C.语义规则D.等价变换规则

54.在语法制导翻译中不采用拉链—回填技术的语句是。

A.转向语句B.赋值语句

C.条件语句D.循环语句

55.下面逆波兰式(后缀式)中,能正确表示算术表达式a+b+c+d的是。

A.abcd+++ B.abc+d++

C.ab+cd++ D.ab+c+d+

二、判断题(正确打(√)、错误打(×))

1.(√)源程序同目标程序是等价关系。

2.(×)用高级语言编写的源程序都必须通过编译,产生目标程序后才能运行。

3.(×)高级语言程序到低级语言程序的转换是结构上的变换。

4.(×)多遍扫描的编译程序的多遍是指多次重复读源程序。

5.(√)解释程序虽然不产生目标程序,但它可能产生中间代码。

6.(√)DFA同NFA等价。

7.(×)使用正则运算能够描述定义在字母表 上的所有符号串集合。

8.(×)一个有限自动机中,有且仅有一个初始状态。

9.(×)一个有限自动机中,有且仅有一个终止状态。

10.(×)有限自动机的作用是实现单词的生成。

11.(√)使用有限自动机可以实现单词的识别。

12.(√)对任一正则表达式e,都存在一个DFA A,使L(e)=L(A)。

13.(√)最小化的DFA,它的状态个数最少。

14.(√)如果一个语言的句子是无穷的,则定义该语言的文法一定是递归的。

15.(×)在编译技术中由于使用前后文无关文法描述程序设计语言,所以程序设计语言是前后文无关语言。

16.(√)一个语言的文法是不惟一的。

17.(×)二义性文法是可以判定的。

18.(×)每个非终结符产生的终结符号串集都是该语言子集。

19.(√)规范归约是最右推导的逆过程。

20.(×)语法分析器可以检查程序中出现的所有错误。

21.(√)一个LL(1)文法一定是无二义性和无回溯文法。

22.(×)一个素短语一定是短语,反之一个短语也是素短语。

23.(√)所有LR分析器的总控程序都是一样的,只是分析表各有不同。

24.(√)类型检查主要指类型相容性检查。

25.(×)一个算符优先文法有且仅有一对优先函数与之对应。

26.(×)单优先方法和LR方法都是按句柄进行归约,所以它们确定句柄的方法相同。

27.(×)二义性文法一定不能应用于语法分析器的设计。

28.(×)运算对象排列的先后顺序,后缀式同中缀式不同。

29.(×)语法制导翻译方法可用来产生各种中间代码,但不能用来产生目标代码。

30.(×)后缀表示法是指把运算对象放在运算符的后面。

集合与函数概念单元测试题-有答案

高一数学集合与函数测试题 一、选择题(每题5分,共60分) 1、下列各组对象:?2008年北京奥运会上所有的比赛项目;②《高中数学》必修1中的所有难题;③所有质数;⑷平面上到点(1,1)的距离等于5的点的全体;⑤在数轴上与原点O非常近的点。其中能构成集合的有() A . 2组B. 3组C. 4组 D . 5组 2、下列集合中与集合{x x 2k 1, k N }不相等的是( ) A. {x x 2k 3,k N} B. {x x 4k 1,k N } C. {x x 2k 1,k N} D. {x x 2k 3, k 3,k Z} 2 3、设f(x)学」,则半等于()X 1f(1) A . 1 B . 1 C . 3 D 3 5 5 4、已知集合 A {xx24 0},集合B {x ax 1},若B A ,则实数a的值是() A . 0 B . 1 C . 0 或—D.0或1 2 2 2 5、已知集合 A {( x, y) x y 2} , B {(x,y)x y 4},则AI B() A . {x 3,y 1} B .(3, 1) C . {3, 1} D.{(3, 1)} 6、下列各组函数 f (x)与g(x)的图象相同的 是 ( ) (A) f (x) x,g(x) (.x)2(B) 2 2 f(x) x ,g(x) (x 1) (C)f(x) 1,g(x) x0 x (D) f(x) |x|,g(x) (x 0) x (x 0) 7;l是定义在'■上的增函数则不等式畑"厮一劭的解集

是() (A)(0 ,+ OO)(B)(0,2)(C)(2 , + OO )(D) (2,兰) 7 8已知全集U R,集合A {x x 1或x 2},集合B {x 1 x 0},则AU C U B() A. {x x 1或x 0} B. {x x 1或 x 1} C. {x x 2或x 1} D. {x x 2或 x 0} 9、设A 、B为两 个 -非空集 合, 定义A B { (a,b) a A,b B} ,若A {1,2,3}, B {2,3 ,4},则 A B中的兀素个数为() A. 3 B.7 C.9 D.12 10、已知集合 A {yy x21},集合 B {xy22x 6},则Al B ( ) A ? {(x,y) x 1,y 2} B. {x1 x 3} C. {x| 1 x 3} D. 11、若奇函数f x在1,3上为增函数,且有最小值0,则它在3, 1上 () A.是减函数,有最小值0 B.是增函数,有最小值0 C.是减函数,有最大值0 D.是增函数,有最大值0 12、若1,a,b 0,a2,a b,则a2005 b2005的值为( ) a (A)0 (C) 1 (B)1 (D)1 或1

集合与函数概念单元测试题_有答案

高一数学集合与函数测试题 一、 选择题(每题5分,共60分) 1、下列各组对象:○12008年北京奥运会上所有的比赛项目;○2《高中数学》必修1中的所有难题;○3所有质数;○4平面上到点(1,1)的距离等于5的点的全体;○5在数轴上与原点O 非常近的点。其中能构成集合的有( ) A .2组 B .3组 C .4组 D .5组 2、下列集合中与集合{21,}x x k k N +=+∈不相等的是( ) A .{23,}x x k k N =+∈ B .{41,}x x k k N +=±∈ C .{21,}x x k k N =+∈ D .{23,3,}x x k k k Z =-≥∈ 3、设221()1x f x x -=+,则(2)1()2 f f 等于( ) A .1 B .1- C .35 D .35- 4、已知集合2{40}A x x =-=,集合{1}B x ax ==,若B A ?,则实数a 的值是( ) A .0 B .12± C .0或12± D .0或12 5、已知集合{(,)2}A x y x y =+=,{(,)4}B x y x y =-=,则A B =I ( ) A .{3,1}x y ==- B .(3,1)- C .{3,1}- D .{(3,1)}- 6、下列各组函数)()(x g x f 与的图象相同的是( ) (A )2)()(,)(x x g x x f == (B )22)1()(,)(+==x x g x x f (C )0)(,1)(x x g x f == (D )???-==x x x g x x f )(|,|)( )0()0(<≥x x 7、是定义在上的增函数,则不等式的解集

编译原理期末复习

编译原理期末复习 鉴于编译原理马上就要期末考试,我将手中集中的一些资料上的题目进行了整理归类,每种类型题目给出了所涉及到的基本知识,然后对每类题目中的第一道例题进行了做法进行了讲解,剩下的例题请给大家作为练习,答案也都给出,希望对大家复习有所帮助,最后由于时间很紧,整理的有些仓促,整理中难免有遗漏或错误,请大家见谅。 注:下面出现的字母中,若无特别说明,小写英文字母为终结符,大写英文字母为非终结符,希腊字母为终结符与非终结符的任意组合。 1、简答题(或者名词解释) 下面涉及到的概念中,加下划线的都是在以往一些试卷中出现的原题,务必掌握。 注:这类题目老师说答案不会超过一百个字,否则写的再多也不给分,有些点到即可,不要重复啰嗦。(1)简述编译程序的概念及其构成 答:1)编译程序:它特指把某种高级程序设计语言翻译成等价的低级程序设计语言的翻译程序。 2)构成: (2)简述词法分析阶段的主要任务(也有可能问语法分析阶段主要任务)答:词法分析的任务是输入源程序,对源程序进行扫描,识别其中的单词符号,把字符串形式的源程序转换成单词符号形式的源程序。 语法分析的主要任务是对输入的单词符号进行语法分析(根据语法规则进行推导或者归约),识别各类语法单位,判断输入是不是语法上正确的程序 (3) 简述编译程序的构造过程(这个大家看看,是对(1)和(2)的综合) 答:1)构造词法分析器:用于输入源程序进行词法分析,输出单词符号; 2)构造语法分析器:对输入的单词符号进行语法分析,识别各类语法单位,判断输入是不是语法上正确的程序 3)构造语义分析和中间代码产生器:按照语义规则对已归约出的语法单位进行语义分析并把它们翻译成中间代码。 4)构造优化器:对中间代码进行优化。 5) 构造目标代码生成器:把中间的代码翻译成目标程序。 6) 构造表格管理程序:登记源程序的各类信息和编译各阶段的进展情况。 7)构造错误处理程序:对出错进行处理。 (4) 说明编译和解释的区别: 1)编译要程序产生目标程序,解释程序是边解释边执行,不产生目标程序; 2)编译程序运行效率高而解释程序便于人机对话。 (5)文法:描述语言语法结构的形式规则,一般用一个四元式表示: G=(V T,V N,S,P),其中V T:终结符集合(非空) V N:非终结符集合(非空),且V T ?V N=? S:文法的开始符号,S?V N P:产生式集合(有限)。

编译原理试题(卷)汇总-编译原理期末试题(卷)(8套含答案解析-大题集)

编译原理考试题及答案汇总 一、选择 1.将编译程序分成若干个“遍”是为了_B__。 A . 提高程序的执行效率 B.使程序的结构更加清晰 C. 利用有限的机器内存并提高机器的执行效率 D.利用有限的机器内存但降低了机器的执行效率 2.正规式 MI 和 M2 等价是指__C__。 A . MI 和 M2 的状态数相等 B.Ml 和 M2 的有向弧条数相等。 C .M1 和 M2 所识别的语言集相等 D. Ml 和 M2 状态数和有向弧条数相等 3.中间代码生成时所依据的是 _C_。 A.语法规则 B.词法规则 C.语义规则 D.等价变换规则 4.后缀式 ab+cd+/可用表达式__B_来表示。 A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d 6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。 A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析 7.词法分析器用于识别__C___。 A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符 8.语法分析器则可以发现源程序中的___D__。 A.( ) 语义错误 B.( ) 语法和语义错误 C.( ) 错误并校正 D.( ) 语法错误 9.下面关于解释程序的描述正确的是__B___。 (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于 COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的 A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3) 10.解释程序处理语言时 , 大多数采用的是__B___方法。 A.( ) 源程序命令被逐个直接解释执行 B.( ) 先将源程序转化为中间代码 , 再解释执行 C.( ) 先将源程序解释转化为目标程序 , 再执行 D.( ) 以上方法都可以 11.编译过程中 , 语法分析器的任务就是__B___。 (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构 A.( ) (2)(3) B.( ) (2)(3)(4)C.( ) (1)(2)(3) D.( ) (1)(2)(3)(4) 12.编译程序是一种___C__。 A. ( ) 汇编程序 B.( ) 翻译程序 C.( ) 解释程序 D.( ) 目标程序 13.文法 G 所描述的语言是_C____的集合。 A. ( ) 文法 G 的字母表 V 中所有符号组成的符号串 B.( ) 文法 G 的字母表 V 的闭包 V* 中的所有符号串 C.( ) 由文法的开始符号推出的所有终极符串 D. ( ) 由文法的开始符号推出的所有符号串 14.文法分为四种类型,即 0 型、1 型、2 型、3 型。其中 3 型文法是___B__。 A. ( ) 短语文法 B.( ) 正则文法 C.( ) 上下文有关文法 D.( ) 上下文无关文法15.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 __D___。 A.( ) 句子 B.( ) 句型 C.( ) 单词 D.( ) 产生式 16.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_C____。

新课标高一数学必修1第一章集合与函数概念单元测试题

2014级高一数学国庆假期作业(一) 集合与函数概念测试题 一、选择题 1.集合},{b a 的子集有 A .2个 B .3个 C .4个 D .5个 2. 设集合{}|43A x x =-<<,{}|2B x x =≤,则A B = A .(4,3)- B .(4,2]- C .(,2]-∞ D .(,3)-∞ 3.已知()5412-+=-x x x f ,则()x f 的表达式是 A .x x 62+ B .782++x x C .322-+x x D .1062 -+x x 4.下列对应关系: ①{1,4,9},{3,2,1,1,2,3},A B ==---f :x x →的平方根 ②,,A R B R ==f :x x →的倒数 ③,,A R B R ==f :2 2x x →- ④{}{}1,0,1,1,0,1,A B f =-=-:A 中的数平方 其中是A 到B 的映射的是 A .①③ B .②④ C .③④ D .②③ 5.下列四个函数:①3y x =-;②21 1 y x = +; ③2 210y x x =+-;④(0)1(0)x x y x x ?-≤?=?->??. 其中值域为R 的函数有 A .1个 B .2个 C .3个 D .4个 6. 已知函数212x y x ?+=?-? (0) (0)x x ≤>,使函数值为5的x 的值是 A .-2 B .2或52- C . 2或-2 D .2或-2或52 - 7.下列函数中,定义域为[0,∞)的函数是 A .x y = B .22x y -= C .13+=x y D .2)1(-=x y 8.设集合{|12}M x x =-≤<,{|0}N x x k =-≤,若M N φ≠,则k 的取值范围是 A .]2,(-∞ B .),1[+∞- C .),1(+∞- D .[-1,2] 9.若集合1A ,2A 满足A A A =21 ,则称(1A ,2A )为集合A 的一个分拆,并规定:当且仅当1A =2A 时,(1A ,2A )与(2A ,1A )为集合A 的同一种分拆,则集合=A {1,2,3 }的不同分拆种数是 A.27 B.26 C.9 D.8 10.已知全集=I {∈x x |R},集合=A {x x |≤1或x ≥3},集合=B {1|+≤≤k x k x ,∈k R},且 ?=B A C I )(,则实数k 的取值范围是 A .0k B.32<则()()4f f = . 14.某班50名学生参加跳远、铅球两项测试,成绩及格人数分别为40人和31人,两项测试均不及格的人数是4人,两项测试都及格的有 人. 15.已知函数f(x)满足f(xy)=f(x)+f(y),且f(2)=p,f(3)=q ,那么f(36)= . 三、解答题 16.已知集合A={} 71<≤x x ,B={x|2

编译原理复习题参考题

编译原理复习题 一、是非题 1.计算机高级语言翻译成低级语言只有解释一种方式。(×) 3.每个文法都能改写为 LL(1) 文法。 (×) 4.算符优先关系表不一定存在对应的优先函数。 (√) 5.LR分析方法是自顶向下语法分析方法。 (×) 6.“ 用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。(× ) 7.一个句型的句柄一定是文法某产生式的右部。(√) 9.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。(× ) 10.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。(×) 11.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。(× ) 12.递归下降分析法是自顶向下分析方法。(√ ) 13.产生式是用于定义词法成分的一种书写规则。(×) 14.在SLR(1)分析法的名称中,S的含义是简单的。(√) 15.综合属性是用于“ 自上而下” 传递信息。(× ) 16.符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型、种属、所占单元大小、地址等等。(×) 17.程序语言的语言处理程序是一种应用软件。(×) 18.解释程序适用于COBOL 和FORTRAN 语言。(×) 19.一个LL(l)文法一定是无二义的。(√) 20.正规文法产生的语言都可以用上下文无关文法来描述。(√) 21.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。(×) 22.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。(√) 22.逆波兰法表示的表达式亦称后缀式。(√ ) 23.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。(√ ) 24.数组元素的地址计算与数组的存储方式有关。(√) 25.算符优先关系表不一定存在对应的优先函数。(×) 26.编译程序是对高级语言程序的解释执行。(× ) 27.一个有限状态自动机中,有且仅有一个唯一的终态。(×) 28.一个算符优先文法可能不存在算符优先函数与之对应。(√ ) 29.语法分析时必须先消除文法中的左递归。(×) 30.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。(√) 31.逆波兰表示法表示表达式时无须使用括号。(√ ) 32.静态数组的存储空间可以在编译时确定。(√) 33.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。(√) 34.两个正规集相等的必要条件是他们对应的正规式等价。(√) 35.一个语义子程序描述了一个文法所对应的翻译工作。(×) 36.设r和s分别是正规式,则有L(r|s)=L(r)L(s)。(×) 37.确定的自动机以及不确定的自动机都能正确地识别正规集。(√) 38.词法分析作为单独的一遍来处理较好。(× ) 39.构造LR分析器的任务就是产生LR分析表。(√) 40.规范归约和规范推导是互逆的两个过程。(√) 41.同心集的合并有可能产生新的“移进”/“归约”冲突。(× ) 42.LR分析技术无法适用二义文法。(× ) 43.树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。(×) 44.程序中的表达式语句在语义翻译时不需要回填技术。(√)

编译原理期末考试题目及答案

一、填空题(每空2分,共20分) 1.编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。 2.编译器常用的语法分析方法有自底向上和自顶向下两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配方案和动态存储分配方案。 5.对编译程序而言,输入数据是源程序,输出结果是目标程序。 1.计算机执行用高级语言编写的程序主要有两种途径:解释和编译。 2.扫描器是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 3.自下而上分析法采用移进、归约、错误处理、接受等四种操作。 4.一个LL(1)分析程序需要用到一张分析表和符号栈。 5.后缀式abc-/所代表的表达式是a/(b-c)。 二、单项选择题(每小题2分,共20分) 1.词法分析器的输出结果是__C。 A.单词的种别编码B.单词在符号表中的位置 C.单词的种别编码和自身值D.单词自身值 2.正规式 M 1 和 M 2 等价是指__C_。 A. M1和M2的状态数相等B. M1和M2的有向边条数相等 C. M1和M2所识别的语言集相等 D. M1和M2状态数和有向边条数相等 3.文法G:S→xSx|y所识别的语言是_C____。 A. xyx B. (xyx)* C.xnyxn(n≥0) D. x*yx* 4.如果文法G是无二义的,则它的任何句子α_A____。 A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同 C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握____D__。 A.源程序B.目标语言 C.编译方法 D.以上三项都是 6.四元式之间的联系是通过__B___实现的。 A.指示器B.临时变量C.符号表 D.程序变量 7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为__B___。 A.┐AB∨∧CD∨B.A┐B∨CD∨∧C. AB∨┐CD∨∧ D.A┐B∨∧CD∨8. 优化可生成__D___的目标代码。 A.运行时间较短B.占用存储空间较小 C.运行时间短但占用内存空间大 D.运行时间短且占用存储空间小 9.下列___C___优化方法不是针对循环优化进行的。 A. 强度削弱 B.删除归纳变量C.删除多余运算 D.代码外提 10.编译程序使用_B_区别标识符的作用域。 A. 说明标识符的过程或函数名B.说明标识符的过程或函数的静态层次 C.说明标识符的过程或函数的动态层次 D. 标识符的行号 三、判断题(对的打√,错的打×,每小题1分,共10分) 2.一个有限状态自动机中,有且仅有一个唯一的终态。x 3.一个算符优先文法的每个非终结符号间都也可能存在优先关系。X 4.语法分析时必须先消除文法中的左递归。X 6.逆波兰表示法表示表达式时无须使用括号。R 9.两个正规集相等的必要条件是他们对应的正规式等价。 X 1.编译程序是对高级语言程序的编译执行。X

集合与函数概念单元测试题(含答案)

新课标数学必修1第一章集合与函数概念测试题 一、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把正确答案的代 号填在题后的括号内(每小题5分,共50分)。 1.用描述法表示一元二次方程的全体,应是 ( ) A .{x |ax 2+bx +c =0,a ,b ,c ∈R } B .{x |ax 2+bx +c =0,a ,b ,c ∈R ,且a ≠0} C .{ax 2+bx +c =0|a ,b ,c ∈R } D .{ax 2+bx +c =0|a ,b ,c ∈R ,且a ≠0} 2.图中阴影部分所表示的集合是( ) A.B ∩[C U (A ∪C)] B.(A ∪B) ∪(B ∪C) C.(A ∪C)∩(C U B) D.[C U (A ∩C)]∪B 3.设集合P={立方后等于自身的数},那么集合P 的真子集个数是 ( ) A .3 B .4 C .7 D .8 4.设P={质数},Q={偶数},则P ∩Q 等于 ( ) A . B .2 C .{2} D .N 5.设函数x y 111+=的定义域为M ,值域为N ,那么 ( ) A .M={x |x ≠0},N={y |y ≠0} B .M={x |x <0且x ≠-1,或x >0},N={y |y <0,或0<y <1,或y >1} C .M={x |x ≠0},N={y |y ∈R } D .M={x |x <-1,或-1<x <0,或x >0=,N={y |y ≠0} 6.已知A 、B 两地相距150千米,某人开汽车以60千米/小时的速度从A 地到达B 地,在B 地停留1小时后再以50千米/小时的速度返回A 地,把汽车离开A 地的距离x 表示为时间t (小时)的函数表达式是 ( ) A .x =60t B .x =60t +50t C .x =???>-≤≤)5.3(,50150)5.20(,60t t t t D .x =?????≤<--≤<≤≤)5.65.3(),5.3(50150)5.35.2(,150) 5.20(,60t t t t t 7.已知g (x )=1-2x,f [g (x )]=)0(122≠-x x x ,则f (21)等于 ( ) A .1 B .3 C .15 D .30 8.函数y=x x ++-1912是( )

编译概念复习题(参考答案)

编译概念复习题(参考答案) 一、填空题 1.高级程序设计语言是根据定义的。 A.词法规则B.语法规则 C.语义规则D.以上三项规则 2.编译程序各阶段工作都涉及到。 A.词法分析B.表格管理 C.语法分析D.语义分析 3.编译程序将源程序加工成目标程序是之间的转换。 A.词法B.语法 C.语义D.规则 4.解释程序和编译程序的区别在于。 A.是否生成中间代码B.加工的对象不同 C.使用的实现技术不同D.是否生成目标程序 5.一遍扫描的编译程序的优点是。 A.算法清晰B.便于分工 C.便于优化D.编译速度快 6.编译程序不能够检查、处理的错误是程序中的。 A.静态语义错误B.动态语义错误 C.语法错误D.词法错误 7.开发一个编译程序应掌握。 A.源语言B.目标语言 C.编译技术D.以上三项都是 8.中间代码生成所依据的是语言的。 A.词法规则B.语法规则 C.语义规则D.产生规则 10.测试一个编译程序时使用的测试数据是。 A.源程序B.中间代码 C.目标程序D.任意数据 11.可以作为目标代码的语言是。 A.高级语言B.中间语言 C.低级语言D.程序设计语言 12.编译程序检查、处理源程序中的错误具体指的是。 A.词法错误B.语法错误 C.语义错误D.以上三项都是 13.同正则表达式(a | b)+等价的正则表达式是。 A.(a | b) * B.(a | b) (a | b) * C.(a b)* (a b) D.(a | b)| (a | b)* 14.词法分析器的输出结果是。 A.单词自身B.单词的机内符 C.单词的词义信息D.单词的词法信息 15.如果一个正则表达式所代表的集合是无穷的,则它必含有运算。

集合与函数概念测试题

修文县华驿私立中学2012-2013学年度第一学期单元测试卷(四) (内容:集合与函数概念 满分:150 时间:120 制卷人:朱文艺) 班级: 学号: 姓名: 得分: 一、选择题:(以下每小题均有A,B,C,D 四个选项,其中只有一个选项正确,请把你的正确答案填入相应的括号中,每小题5分,共60分) 1. 下列命题正确的是 ( ) A .很小的实数可以构成集合 B .集合{} 1|2-=x y y 与集合(){} 1|,2-=x y y x 是同一个集合 C .自然数集N 中最小的数是1 D .空集是任何集合的子集 2. 已知{}32|≤≤-=x x M ,{}41|>-<=x x x N 或, 则N M 等于 ( ) A. {}43|>≤=x x x N 或 B. {}31|≤<-=x x M C. {}43|<≤=x x M D.{}12|-<≤-=x x M 3. 函数2() = f x ( ) A. 1 [,1]3- B. 1(,1)3- C. 11(,)33- D. 1(,)3 -∞- 4. 下列给出函数()f x 与()g x 的各组中,是同一个关于x 的函数的是 ( ) A .2 ()1,()1x f x x g x x =-=- B .()21,()21f x x g x x =-=+ C .2(),()f x x g x == D .0()1,()f x g x x == 5. 方程组? ??-=-=+122 y x y x 的解集是 ( ) A .{}1,1==y x B .{}1 C.{})1,1(|),(y x D . {})1,1( 6.设{} 是锐角x x A |=,)1,0(=B ,从A 到B 的映射是“求正切”,与A 中元素0 60相对应的B 中元素是 ( ) A .3 B . 33 C .21 D .2 2

集合与函数概念单元测试题经典含答案

第一章集合与函数概念测试题 一:选择题 1、下列集合中与集合{21,}x x k k N +=+∈不相等的是( ) A .{23,}x x k k N =+∈ B .{41,}x x k k N +=±∈ C .{21,}x x k k N =+∈ D .{23,3,}x x k k k Z =-≥∈ 2、图中阴影部分所表示的集合是( ) A.B ∩[C U (A ∪C)] B.(A ∪B) ∪(B ∪C) C.(A ∪C)∩(C U B) D.[C U (A ∩C)]∪B 3、已知集合2{1}A y y x ==+,集合2{26}B x y x ==-+,则A B =( ) A .{(,)1,2}x y x y == B .{13}x x ≤≤ C .{13}x x -≤≤ D .? 4、已知集合2{40}A x x =-=,集合{1}B x ax ==,若B A ?,则实数a 的值是( ) A .0 B .12± C .0或12± D .0或12 5、已知集合{1,2,3,}A a =,2{3,}B a =,则使得Φ=B A C U )(成立的a 的值的个数为( ) A .2 B .3 C .4 D .5 6、设A 、B 为两个非空集合, 定义{(,),}A B a b a A b B ⊕=∈∈,若{1,2,3}A =,{2,3,4}B =,则A B ⊕中的元素个数为 ( ) A .3 B .7 C .9 D .12 7、已知A 、B 两地相距150千米,某人开汽车以60千米/小时的速度从A 地到达B 地,在B 地停留1小时后再以50千米/小时的速度返回A 地,把汽车离开A 地的距离x 表示为时间t (小时)的函数表达式是 ( ) A .x =60t B .x =60t +50 C .x =???>-≤≤)5.3(,50150)5.20(,60t t t t D .x =? ????≤<--≤<≤≤)5.65.3(),5.3(50150)5.35.2(,150)5.20(,60t t t t t 8、已知g (x )=1-2x, f [g (x )]=)0(12 2≠-x x x ,则f (21)等于 ( ) A .1 B .3 C .15 D .30

【新版】《编译原理》期末复习

《编译原理》期末复习 【题型】 一、填空题:每空1分,共10分; 二、单选题:每题2分,共20分; 三、应用题:每小题6分,共48分; 四、综合分析题:每小题11分,共22分。 【知识点】 1.编译程序的整个过程从逻辑上依次分为哪6个阶段,其中还涉及哪2个重要工作。 2.语法分析有哪两大类方法? 3.编译程序和解释程序的概念,二者最主要的区别是? 4.句柄的定义。 5.什么是规范推导? 6.语言、句型、句子的定义。 7.LR分析法中的项目类型定义(待约项目、移入项目、归约项目)。 8.中间代码和目标代码区别。 9.文法与正则表达式所描述的语言及句子。 10.如何判断自动机(状态转换图)所能识别的字符串。 11.中间代码生成时主要依据什么规则? 12.根据给定文法,通过推导,画出指定句子的语法树。

13.自底向上的语法分析过程中,构造LR分析表时可能会面临的两种冲突。 14.判断源程序中出现的某类错误可能在编译的哪个阶段被发现。 15.词法分析及语法分析的输入输出是什么? 16.0、1、2、3型文法的定义、别名及描述能力强弱排名。 17.证明给定文法是二义性的(参考第二章课后练习)。 18.消除文法的左递归及提取公共左因子。 19.给定一个文法和该文法的句型,要求写出句型的最左推导、画出语法分析树、指出短语、简单短 语、句柄(参考第二章课后练习及课件中的例题)。 20.根据有限自动机的定义(五元组),给出其状态转换矩阵和状态转换图。 21.画出按照给定翻译模式分析某句子时所产生的分析树,分析其输出结果(参考第六章课后练习及 课件中的例题)。 22.针对给定的语言构造一个文法G,然后判断该文法类型(0、1、2、3型)(参考第二章课后练习)。 23.根据有限自动机M的定义(五元组),画出M的状态转换图,并说明它所识别或接受的语言是 什么(参考课件第三章例题)。 24.给出一个复合表达式,写出该表达式的三元式和四元式(如:-a*(b+c)/d)。 25.判断某语法制导定义在给定输入下的输出结果,分析文法产生的语言,指出语法制导定义功能。 26.已知文法及其LR分析表,给出对该文法某个句子的分析过程。(参考例题及习题) 27.给定一个文法,消除其左递归和提取左公因子,求所有非终结符的FIRST和FOLLOW集,构造 该文法的LL(1)分析表,根据分析表给出某句子的分析过程(参考第四章课后练习)。

郑州大学编译原理试卷及答案(往年试题整合)(2)

二填空题 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两 种:静态存储分配方案和动态存储分配方案,而后者又分为(1)和(2)。 2. 规范规约是最(3)规约。 3. 编译程序的工作过程一般划分为5个阶段:词法分析、(4)、语义分析与中间代码生成,代码优化及(5)。另外还有(6)和出错处理。 4.表达式x+y*z/(a+b)的后缀式为(7)。 5.文法符号的属性有综合属性和(8)。 6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a[1..15,1..20]某个元素a[i,j]的地址计算公式为(9)。 7.局部优化是局限于一个(10)范围内的一种优化。 答案 (1) 栈式动态存储分配(2) 堆式动态存储分配 (3) 左(4) 语法分析(5) 目标代码生成 (6) 表格管理 (7) xyz*ab+/+ (8) 继承属性 (9) a+(i-1)*20+j-1 (10) 基本块 8 词法规则通常可以用____正规式________,正规文法、____自动机________描述;语法规则通常用___2型文法___来描述;语义规则通常用__属性文法_____来描述。

9 编译原理的工作过程一般划分为:词法分析、语法分析、语义分析、优化和目标代码生成五个阶段。 1.( )称为规范推导。 2.编译过程可分为(),(),(),()和()五个阶段。 3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。 4.从功能上说,程序语言的语句大体可分为()语句和()语句两大类。 5.语法分析器的输入是(),其输出是()。 6.扫描器的任务是从()中识别出一个个()。 7.符号表中的信息栏中登记了每个名字的有关的性质,如()等等。 8.一个过程相应的DISPLAY表的内容为()。 9.一个句型的最左直接短语称为句型的()。 10.常用的两种动态存贮分配办法是()动态分配和()动态分配。 11.一个名字的属性包括( )和( )。 12.常用的参数传递方式有(),()和()。 13.根据优化所涉及的程序范围,可将优化分成为(),()

第一章 集合与函数概念测试题

集合与函数概念测试题 一、选择题(每小题5分,满分60分) 1.已知(){},3A x y x y =+=,(){},1B x y x y =-=,则A B = ( ). A .{}2,1 B .(){}2,1 C .{}2,1x y == D .()2,1 2.如图,U 是全集,,,M P S 是U 的三个子集,则阴影部分所表示的集合是 ( ). A .()M P S B .()M P S C .()()U M P C S D .()()U M P C S 3.下列各组函数表示同一函数的是( ). (A) 2 (),()f x g x = = (B) 0 ()1,()f x g x x == (C) 2 1()1,()1 x f x x g x x -=+=- (D )2 (),()f x g x = = 4.函数{}()1,1,1,2f x x x =+∈-的值域是( ). (A) 0,2,3 (B) 30≤≤y (C) }3,2,0{ (D )]3,0[ 5.已知函数2 2 1()12,[()](0)x g x x f g x x x -=-= ≠,则(0)f 等于( ) . (A) 3- (B) 32 - (C) 32 (D ) 3 6.函数2 ()2(1)2f x x a x =+-+在区间(,4]-∞上递减,则实数a 的取值范围是( ). A .3a ≥- (B) 3a ≤- (C) 5a ≤ (D )3a ≥ 7.函数()f x 是定义在R 上的奇函数,当0>x 时,1)(+-=x x f ,则当0

集合与函数概念复习题

集合与函数概念复习题(一) 一、选择题 1. 方程260x px -+=的解集为M ,方程260x x q +-=的解集为N ,且{2}M N =, 那么p q +=( ) A. 21 B. 8 C. 6 D. 7 2. 下列四组函数中,表示相等函数的一组是( ) A. (),()f x x g x == B. 2()()f x g x == C. 21(),()11 x f x g x x x -==+- D. ()()f x g x ==3. 下列四个函数中,在(0,)+∞上为增函数的是( ) A. ()3f x x =- B. 2()3f x x x =- C. 1()1f x x =-+ D. ()f x x =- 4. ()f x 是定义在[6,6]-上的偶函数,且(3)(1)f f >,则下列各式一定成立的( ) A. (0)(6)f f < B. (3)(2)f f > C. (1)(3)f f -< D. (2)(0)f f > 5. 已知函数()f x 是R 上的增函数,(0,1),(3,1)A B -是其图象上的两点,那么(1)1f x +<的解集的补集是( ) A. (1,2)- B. (1,4) C. (,1)[4,)-∞-+∞ D. (,1)[2,)-∞-+∞ 二、填空题 6. 函数12y x =-的定义域为 . 7. 已知()f x 是偶函数,当0x <时,()(1)f x x x =+,则当0x >时,()f x = . 8. 21, 0,()2, 0, x x f x x x ?+≤=?->?若()10f x =,则x = . 三、解答题 9. 求函数21,[3,5]1 x y x x -=∈+的最小值和最大值.

编译原理试题B及答案

编译原理试题B 一、单项选择题(每题1分,共20分) 1、对编译系统有关概念描述正确的是( B) A.目标程序只能是机器语言 B. 编译程序处理的对象是源语言 C.解释程序属于编译程序 D. 词法分析无法自动进行 2. 设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么 (B) A.词法分析 B. 语法分析 C.语义分析 D. 代码生成 3. 下面不能用于对文法进行描述的是(A ) A.源语言 B. EBNF C.BNF D. 语法图 4. 设有文法G[S]: S→0S|1A|0,A→1|1S|0B,B→1A|0B,下列符号串中是该文法的句子的是 ()?A.1010001001101 B.0101001110010010 C.1101010011110111 D.1010011101101010 (可画出DFA验证) 5. 文法G[S]: S→aA|bC|a A→aS|bB B→aC|bA|b C→aB|bS ,则不是L(G)句子的是( B ) A.a100b50ab100 B. a1000b500aba C.a500b60aab2a D. a100b40ab10aa (画出DFA) 6. 哪个不是DFA的构成成分(B) A.有穷字母表 B. 初始状态集合 C.终止状态集合 D. 有限状态集合 7.词法分析器的输入是( B ) A.单词符号串 B.源程序 C.语法单位 D.目标程序 8.在词法分析阶段不能识别的是(C ) A.标识符 B. 运算符 C.四元式 D. 常数 9.设有一段C语言程序 while(i&&++j)

{ c=2.19; j+=k; i++; } ,经过词法分析后可以识别的单词个数是(B ) A.19 B.20 C.21 D.23 10.自上而下语法分析的主要动作是( B ) A.移进 B. 推导 C.规约 D. 匹配 11.下面不属于LL(1)分析器的自称部分是( D ) A.LL(1)总控程序 B. LL(1)分析表 C.分析栈 D.源程序串 12.设有文法G[S]为 S→AB|bC, A→ε|b,B→ε|aD,C→AD|b,D→aS|c 则FOLLOW(A)为(A ) A.{a,c,#} B.{c,#} C.{a,#} D.{#} 13.设有文法G[S]: S→Ap|Bq,A→a|cA,B→b|dB ,则FIRST(Ap)为( C )A.{p,q} B. {b,d} C.{a,c} D. 其他 14.自下而上语法分析的主要分析动作是(D ) A.推导 B. 规约 C.匹配 D. 移进-规约 15.算法优先分析中,可规约串是( C ) A.句柄 B.活前缀 C.最左素短语 D.素短语 16. 设有文法G={{S},{a},{S→SaS|ε},S},该文法是( B ) A.LL(1)文法 B.二义性文法 C.SLR(1)文法 D.算法优先文法 17、中间代码生成时所以据的是(C ) A.语法规则 B.词法规则 C.语义规则D.等价变换规则 18、给定文法G: E→E+T|T,T→T*F|F,F→i|(E) 则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为( C ) A.iii*i++ B.ii+iii**+ C.ii+ii*i*+ D.其他

编译原理试题及答案

参考答案 一、单项选择题(共10小题,每小题2分,共20分) 1.语言是 A .句子的集合 B .产生式的集合 C .符号串的集合 D .句型的集合 2.编译程序前三个阶段完成的工作是 A .词法分析、语法分析和代码优化 B .代码生成、代码优化和词法分析 C .词法分析、语法分析、语义分析和中间代码生成 D .词法分析、语法分析和代码优化 3.一个句型中称为句柄的是该句型的最左 A .非终结符号 B .短语 C .句子 D .直接短语 4.下推自动机识别的语言是 A .0型语言 B .1型语言 C .2型语言 D .3型语言 5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即 A . 字符 B .单词 C .句子 D .句型 6.对应Chomsky 四种文法的四种语言之间的关系是 A .L 0?L 1?L 2?L 3 B .L 3?L 2?L 1?L 0 C .L 3=L 2?L 1?L 0 D .L 0?L 1?L 2=L 3 7.词法分析的任务是 A .识别单词 B .分析句子的含义 C .识别句子 D .生成目标代码 8.常用的中间代码形式不含 A .三元式 B .四元式 C .逆波兰式 D .语法树 9. 代码优化的目的是 A .节省时间 B .节省空间 C .节省时间和空间 D .把编译程序进行等价交换 10.代码生成阶段的主要任务是 A .把高级语言翻译成汇编语言 B .把高级语言翻译成机器语言 C .把中间代码变换成依赖具体机器的目标代码 装 订 线

D.把汇编语言翻译成机器语言 二、填空题(本大题共5小题,每小题2分,共10分) 1.编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。2.编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即(静态存储分配)方案和(动态存储分配)方案。 5.对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。 三、名词解释题(共5小题,每小题4分,共20分) 1.词法分析 词法分析的主要任务是从左向右扫描每行源程序的符号,按照词法规则 从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位, 并转换成统一的内部表示(token),送给语法分析程序。 2.LL(1)文法 若文法的任何两个产生式A →α | β都满足下面两个条件: (1)FIRST(α) ? FIRST(β ) = φ; (2)若β?* ε,那么FIRST(α) ? FOLLOW( A ) = φ。 我们把满足这两个条件的文法叫做LL(1)文法,其中的第一个L代表从左 向右扫描输入,第二个L表示产生最左推导,1代表在决定分析器的每步 动作时向前看一个输入符号。除了没有公共左因子外,LL(1)文法还有一 些明显的性质,它不是二义的,也不含左递归。 3.语法树 句子的树结构表示法称为语法树(语法分析树或语法推导树)。 给定文法G=(V N,V T,P,S),对于G的任何句型都能构造与之关联的 语法树。这棵树具有下列特征: (1)根节点的标记是开始符号S。 (2)每个节点的标记都是V中的一个符号。 (3)若一棵子树的根节点为A,且其所有直接子孙的标记从左向右的排列 次序为A1A2…A R,那么A→A1A2…A R一定是P中的一条产生式。

相关文档