编译原理填空

合集下载

(完整word版)编译原理填空题

(完整word版)编译原理填空题

编译原理填空题1.计算机执行用高级语言编写的程序主要有两种途径:___解释__和__编译___。

2.扫描器是__词法分析器___,它接受输入的__源程序___,对源程序进行___词法分析__并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。

3.自上而下分析法采用___移进__、归约、错误处理、___接受__等四种操作。

4.一个LR分析器包括两部分:一个总控程序和___一张分析表__。

5.后缀式abc-/所代表的表达式是___a/(b-c)__。

6.局部优化是在__基本块___范围内进行的一种优化。

7、语义分析的基本功能包括: 确定类型、类型检查、语义处理和某些静态语义检查。

2.编译过程可分为(词法分析),(语法分析),(语义分析与中间代码生成),(优化)和(目标代码生成)五个阶段。

3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是(二义性的)。

4.从功能上说,程序语言的语句大体可分为(执行性)语句和(说明性)语句两大类。

5.语法分析器的输入是(单词符号),其输出是(语法单位)。

6.扫描器的任务是从(源程序中)中识别出一个个(单词符号)。

7.符号表中的信息栏中登记了每个名字的有关的性质,如(类型、种属、所占单元大小、地址)等等。

8.一个过程相应的DISPLAY表的内容为(现行活动记录地址和所有外层最新活动记录的地址)10.常用的两种动态存贮分配办法是(栈式)动态分配和(堆式)动态分配。

11.一个名字的属性包括( 类型)和(作用域 )。

12.常用的参数传递方式有(传地址),(传值),(传名)13.根据优化所涉及的程序范围,可将优化分成为(局部优化),(循环优化),(全局优化)三个级别。

14.语法分析的方法大致可分为两类,一类是(自上而下)分析法,另一类是(自下而上)分析法。

15.预测分析程序是使用一张(分析表)和一个(符号栈)进行联合控制的。

17.一张转换图只包含有限个状态,其中有一个被认为是(初)态;而且实际上至少要有一个(终)态。

编译原理填空集锦

编译原理填空集锦

1-01.编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,之间代码生成,代码优化等几个基本阶段,同时还会伴有表格处理和出错处理 .1-02.若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为编译程序.1-03.编译方式与解释方式的根本区别在于是否生成目标代码 .1-04.翻译程序是这样一种程序,它能够将用甲语言书写的程序转换成与其等价的用乙语言书写的程序 .1-05.对编译程序而言,输入数据是源程序,输出结果是目标程序.1-06.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段: 编译阶段和运行阶段 .如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为三个阶段:编译阶段, 汇编阶段和运行阶段 .1-07.若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为编译程序。

1-08.一个典型的编译程序中,不仅包括词法分析、语法分析、中间代码生成、代码优化、目标代码生成等五个部分,还应包括表格处理和出错处理。

其中,词法分析器用于识别单词。

1-09.编译方式与解释方式的根本区别为是否生成目标代码。

2-01.所谓最右推导是指:任何一步α?β都是对α中最右非终结符进行替换的。

2-02.一个上下文无关文法所含四个组成部分是一组终结符号、一组非终结符号、一个开始符号、一组产生式。

2-03.产生式是用于定义语法成分的一种书写规则。

2-04.设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:L(G)={x│S x,x∈VT*} 。

2-05.设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈V*),则称x是文法的一个句型。

2-06.设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈VT*),则称x是文法的一个句子。

3-01.扫描器的任务是从源程序中识别出一个个单词符号。

4-01.语法分析最常用的两类方法是自上而下和自下而上分析法。

编译原理

编译原理

一、选择1.将编译程序分成若干个“遍”是为了_使程序的结构更加清晰__。

2.正规式 MI 和 M2 等价是指__.M1 和 M2 所识别的语言集相等_。

3.中间代码生成时所依据的是 _语义规则_。

4.后缀式 ab+cd+/可用表达式__(a+b)/(c+d)_来表示。

6.一个编译程序中,不仅包含词法分析,_语法分析 ____,中间代码生成,代码优化,目标代码生成等五个部分。

7.词法分析器用于识别__单词___。

8.语法分析器则可以发现源程序中的___语法错误__。

9.下面关于解释程序的描述正确的是__解释程序的特点是处理程序时不产生目标代码 ___。

10.解释程序处理语言时 , 大多数采用的是__先将源程序转化为中间代码 , 再解释执行___方法。

11.编译过程中 , 语法分析器的任务就是__(2)(3)(4)___。

(1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的(3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构12.编译程序是一种__解释程序__。

13.文法 G 所描述的语言是_由文法的开始符号推出的所有终极符串___的集合。

14.文法分为四种类型,即 0 型、1 型、2 型、3 型。

其中 3 型文法是___正则文法__。

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

16.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_表格处理和出错处理__。

17.文法 G[N]= ( {b} , {N , B} , N , {N→b│ bB , B→bN} ),该文法所描述的语言是L(G[N])={b2i+1│ i ≥0}18.一个句型中的最左_简单短语___称为该句型的句柄。

19.设 G 是一个给定的文法,S 是文法的开始符号,如果 S->x( 其中 x∈V*), 则称 x 是文法 G 的一个__句型__。

编译原理选择填空

编译原理选择填空

一.填空题1..已知文法G[E]:E →E+T|TT →T*F|FF →(E)|a该文法终结符集合V T = {+,*,(,),a} ,文法非终结符集合V N = {E,T,F} ,该 文法在乔姆斯基文法分类中属于 2型 文法。

2.给出下列文法的适合自上而下翻译的语义动作,使得当输入是aabb 时其输出串是12020。

(1)A →aB {printf('0');}(2)A →c {printf('1');}(3)B →Ab {printf('2');}二.选择题1..为了使编译程序能对程序设计语言进行正确的翻译,必须采用 C 方法定义程序设计语言。

A.非形式化B.自然语言猫鼠问题C.形式化D.自然语言和符号体系相结合2.设X 是符号串,符号串的幂运算x0= CA.1B.xC.εD.∅3.若有源程序是高级语言编写的程序,目标程序是 C ,则称它为编译程序。

A.汇编语言程序或高级语B. 高级语言程序或机器语言程序C.汇编语言程序或机器语言程序D.连接程序或运行程序4.编译程序对 A 程序进行翻译。

A.高级语言B.机器语言C.自然语言D.汇编语言5.编译过程中,语法分析阶段的任务是 B .A.语言识别B.识别语言单词C.识别语句D.识别程序6.字母表示的元素可以是 DA.字母B. 字母和数字C. 数字D.字母 数字和其他符号7.在规则(产生式)中,符号“→”(“::=”)表示 DA.恒等式B.等于C.取决于D.自定义8.在规则(产生式)中,符号“|”表示 BA.与B. 或C. 非D.引导开关参数9.设有文法G [S]=({S,B},{b},{S →bB|b,B →bS},S),改文法所描述的语言是 CA. L(G[S]) ={b n |n >=n 2|n >= C. L(G[S]) ={b 12+n |n >=12+n |n >=10.一个句型最左边的 C 称为该句型的句柄。

编译原理

编译原理

第一套一、是非题1.编译程序是对高级语言程序的解释执行。

2.一个有限状态自动机中,有且仅有一个唯一的终态。

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

4.语法分析时必须先消除文法中的左递归。

5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

6.波兰表示法表示表达式时无须使用括号。

7.2 型文法一定是3型文法。

8.编译过程中,语法分析器的任务是分析单词是怎样构成的。

9.并不是每个文法都能改写成LL(1)文法。

10.一个LL(1)文法一定是无二义的。

11.逆波兰法表示的表达式亦称前缀式。

12.正规文法产生的语言都可以用上下文无关文法来描述。

13.3型文法一定是2型文法。

14.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。

15.计算机高级语言翻译成低級语言只有解释一种方式。

16.在编译中进行语法检查的目的是为了发现程序中所有错误。

17.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。

18.每个文法都能改写为LL(1)文法。

19.递归下降法不允许任一非终极符是直接左递归的。

20.自底而上语法分析方法的主要问题是候选式的选择。

21.LR法是自顶向下语法分析方法。

22.一个句型的句柄一定是文法某产生式的右部。

23.编译程序与具体的机器有关,与具体的语言无关。

24.递归下降分析法是自顶向下分析方法。

24.综合属性是用于“自上而下”传递信息。

25.正规文法产生的语言都可以用上下文无关文法来描述。

26.逆波兰法表示的表达式亦称后缀式。

27.如果一个文法存在某个句子对应两颗不同的语法树,则称这个文法是二义的。

28.一个有限状态自动机中,有且仅有一个唯一的终态。

29.r和s分别是正规式,则有L(r|s)=L(r)L(s)。

30.确定的自动机以及不确定的自动机都能正确地识别正集。

31.词法分析作为单独的一遍来处理较好。

32.LR分析器的任务就是产生LR分析表。

编译原理填空

编译原理填空

1.编译程序的工作过程一般可以划分为词法分析_、_语法分析_、_语义分析、_中间代码生成、_代码优化_等几个基本阶段,同时还会伴有表格处理和出错处理(6分)。

2. 在目标代码生成阶段,符号表是地址分配的依据。

(2分)。

3. 符号表的数据结构可以是无序符号表、有序符号表、栈式符号表。

4. 词法分析阶段的错误主要是单词拼写错误,可通过最小距离匹配的办法纠正错误。

5. 在大部分现有编译中采用的方案主要有两种:动态分配方案和静态分配方案。

1.编译程序与具体的机器无关,与具体的语言有关。

2.SLR(1)分析法中,L的含义是自左向右进行分析,R含义是采用最右推导的逆过程,S含义是简单的,“1”的含义是向貌似句柄的符号串的查看一个输入符号。

4.确定的有穷自动机是一个五元组,通常表示为M(Q,∑,t,q0,F)。

5.在大部分现有编译中采用的方案主要有两种:动态分配方案和___静态____分配方案。

6.假定G是一个文法,S是它的开始符号,如果S * α,则称_α__是一个句型,仅含终结符号的句型是一个句子。

文法G所产生的句子的全体是一个语言,将它记为L(G)。

1.程序的翻译方式有两种,分别是_编译方式_和_解释方式_。

2.字的前缀是指该字的任意首部。

(2分)3.LR(1)分析法中,L的含义是自左向右进行分析,R含义是采用最右推导的逆过程-最左归约,“1”的含义是向貌似句柄的符号串后查看一个输入符号。

4.编译过程中,常见的中间语言形式有三元式、逆波兰式和四元式。

5.程序的可再入性指的是:当程序在执行时,可以_随时中断__它的执行,也可随时_执行进程__恢复其原来的_执行进程_;而且可以在_中断时间里_,又从该程序的_头上开始一个新的执行过程。

1. 编译程序工作过程中,第一段输入是源程序,最后阶段的输出为目标程序。

2.若二个正规式所表示的正规集相同,则认为二者是等价的(2分)。

3. 符号表中名字的有关信息在词法分析和语法语义分析过程中陆续填入。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题5分,共20分)1. 编译器的主要功能是什么?A. 代码优化B. 代码翻译C. 代码调试D. 代码运行答案:B2. 下列哪个选项不属于编译器的前端部分?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,文法的产生式通常表示为:A. A -> αB. A -> βC. A -> γD. A -> δ答案:A4. 下列哪个算法用于构建语法分析树?A. LL(1)分析B. LR(1)分析C. SLR(1)分析D. LALR(1)分析答案:A二、填空题(每空5分,共20分)1. 编译器的前端通常包括词法分析、语法分析和________。

答案:语义分析2. 编译器的后端主要负责________和目标代码生成。

答案:代码优化3. 编译器中的词法分析器通常使用________算法来识别单词。

答案:有限自动机4. 语法分析中,________分析是一种自顶向下的分析方法。

答案:递归下降三、简答题(每题10分,共30分)1. 简述编译器的作用。

答案:编译器的主要作用是将高级语言编写的源代码转换成计算机能够理解的低级语言或机器代码,以便执行。

2. 解释一下什么是语法制导翻译。

答案:语法制导翻译是一种翻译技术,它利用源语言的语法信息来指导翻译过程,使得翻译过程能够更好地理解源代码的语义。

3. 什么是词法分析器?答案:词法分析器是编译器前端的一部分,它的任务是将源代码文本分解成一系列的标记(tokens),这些标记是源代码的最小有意义的单位。

四、计算题(每题10分,共30分)1. 给定一个简单的文法G(E):E → E + T | TT → T * F | FF → (E) | id请计算文法的非终结符号E的FIRST集和FOLLOW集。

答案:E的FIRST集为{(, id},FOLLOW集为{), +, $}。

2. 假设编译器在进行语法分析时,遇到一个语法错误的代码片段,请简述编译器如何处理这种情况。

编译原理试题及答案3

编译原理试题及答案3

编译原理复习题一、填空题:1、编译方式与解释方式的根本区别在于(是否生成目标代码)。

2、对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。

3、如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:(编译阶段)和(运行阶段)。

4、如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分成三个阶段:(编译阶段)、(汇编阶段)和(运行阶段)。

5、自顶向下语法分析方法会遇到的主要问题有(回溯)和((左递归带来的)无限循环)。

6、LL(k)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“k”的含义是(向输入串中查看K个输入符号)。

7、LL(1)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“1”的含义是(向输入串中查看1个输入符号)。

8、自顶向下语法分析方法的基本思想是:从(识别符号)出发,不断建立(直接推导),试图构造一个推导序列,最终由它推导出与输入符号相同的(符号串)。

9、自底向上语法分析方法的基本思想是:从待输入的符号串开始,利用文法的规则步步向上进行(直接归约),试图(归约)到文法的(识别符号|开始符号)。

10、LR(0)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“0”的含义是(向貌似句柄的符号串后查看0个输入符号)。

11、LR(1)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。

12、SLR(1)分析法的名字中,“S”的含义是(简单的),“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。

13、在编译过程中,常见的中间语言形式有(逆波兰表示)、(三元式)、(四元式)和(树形表示)。

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

1.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即方案和方案。

静态存储分配、动态存储分配
2.对编译程序而言,输入数据是,输出结果是。

源程序、目标程序
3.在语法分析中,最常见的两种方法一种是分析法,另一种是分析法。

自上而上、自下而上
4.常用的两种动态存贮分配办法是_____动态分配和_____动态分配。

栈式、堆式
5.符号表中的信息栏中登记了每个名字的有关的性质,如____、_、__、地址等。

类型、种属、所占单元大小
6.所谓最右推导是指:____。

任何一步αβ都是对α中最右非终结符进行替换的
7.语法分析最常用的两类方法是________和_________分析法。

自上而下、自下而上
8.一个上下文无关文法所含四个组成部分是_______________。

一组终结符号,一组非终结符号、一个开始符号、一组产生式
9.所谓语法制导翻译方法是_____________________。

为每个产生式配上一个翻译子程序,并在语法分析的同时执行这些子程序
10.从功能上说,程序语言的语句大体可分为_______语句和______语句两大类。

执行性、说明性
11.扫描器的任务是从________中识别出一个个_______。

源程序、单词符号
12.所谓最右推导是指:_______。

任何一步αβ都是对α中最右非终结符进行替换的
13.语法分析最常用的两类方法是________和_________分析法。

自上而下、自下而上
14.文法中的终结符和非终结符的交集是。

词法分析器交给语法分析器的文法符号一定是,它一定只出现在产生式的部。

空集、终结符、右
15.最左推导是指每次都对句型中的非终结符进行扩展。

最左
16.一个上下文无关文法所含四个组成部分是_______________。

一组终结符号,一组非终结符号、一个开始符号、一组产生式
17.所谓语法制导翻译方法是_____________________。

为每个产生式配上一个翻译子程序,并在语法分析的同时执行这些子程序
18.符号表中的信息栏中登记了每个名字的有关的性质,如_________等等。

类型、种属、所占单元大小、地址
19.一个过程相应的DISPLAY表的内容为________。

现行活动记录地址和所有外层最新活动记录的地址
20.常用的两种动态存贮分配办法是_____动态分配和_____动态分配。

栈式、堆式
21.产生式是用于定义_____的一种书写规则。

语法范畴
22.树代表推导过程,树代表归约过程。

语法、分析
23.自下而上分析法采用、归约、错误处理、等四种操作。

移进、接受
24.Chomsky把文法分为种类型,编译器构造中采用和文法,它们分别产生和语言,并分别用下推自动机和自动机识别所产生的语言。

4 、2 型、3型、上下文无关语言、正规语言、有限
25.一个句型中的最左简单短语称为该句型的_____。

句柄
26.对于文法的每个产生式都配备了一组属性的计算规则,称为 _____ 。

语义规则
27.一个典型的编译程序中,不仅包括__ ___、、、代码优化、目标代码生成
等五个部分,还应包括表格处理和出错处理。

词法分析、语法分析、中间代码生成
28.通常把编译过程分为分析前端与综合后端两大阶段。

词法、语法和语义分析
是对源程序的,中间代码生成、代码优化与目标代码的生成则是对源程序的。

分析、综合
29.从功能上说,程序语言的语句大体可分为_____语句和____语句两大类。

执行
性、说明性
30.扫描器的任务是从___中识别出一个个_____。

源程序、单词符号
31.产生式是用于定义__ ___的一种书写规则。

语法范畴
32.编译程序首先要识别出源程序中每个,然后再分析每个并翻译其意义。

单词、
句子
33.对编译程序而言,输入数据是,输出结果是。

源程序、目标程序。

相关文档
最新文档