编译原理填空集
编译原理填空集锦

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..已知文法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 称为该句型的句柄。
编译原理-填空题

2型文法又称为 (上下文无关)文法;3型文法又称为(正则)文法。
编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,中间代码生成,代码优化等几个基本阶段,同时还会伴有_(_表格处理_)__和_(出错处理)__。
编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。
通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。
一个LR分析器包括两部分:一个总控程序和___(一张分析表_)。
一个典型的编译程序中,不仅包括__词法分析___、__语法分析___、__中间代码生成___、代码优化、目标代码生成等五个部分,还应包括表格处理和出错处理。
自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行___直接归约__,力求归约到文法的__开始符号___。
自顶向下的语法分析方法的基本思想是:从文法的__开始符号____开始,根据给定的输入串并按照文法的产生式一步一步的向下进行__直接推导____,试图推导出文法的__句子____,使之与给定的输入串___匹配___。
局限于基本块范围的优化称( 局部优化 )。
每条指令的执行代价定义为(指令访问主存次数加1)
如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( 二义性的 )。
扫描器的任务是从( 源程序中 )中识别出一个个( 单词符号 )。
算符优先分析法每次都是对(最左素短语)进行归约。
所谓自上而下分析法是指(从开始符号出发,向下推导,推出句子)
语法分析最常用的两类方法是___自上而下__和___自下而上__分析法
编译原理

第一套一、是非题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. 符号表中名字的有关信息在词法分析和语法语义分析过程中陆续填入。
编译原理小题答案

《编译原理》常见题型一、填空题1.编译程序的工作过程一般可以划分为词法分析,语法分析,中间代码生成,代码优化(可省) ,目标代码生成等几个基本阶段。
2.若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为编译程序.3.编译方式与解释方式的根本区别在于是否生成目标代码 .5.对编译程序而言,输入数据是源程序,输出结果是目标程序 .7.若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为编译程序。
8.一个典型的编译程序中,不仅包括词法分析、语法分析、中间代码生成、代码优化、目标代码生成等五个部分,还应包括表格处理和出错处理。
其中,词法分析器用于识别单词。
10.一个上下文无关文法所含四个组成部分是一组终结符号、一组非终结符号、一个开始符号、一组产生式。
12.产生式是用于定义语法成分的一种书写规则。
13.设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:L(G)={x│S=>*x,x∈VT*} 。
14.设G是一个给定的文法,S是文法的开始符号,如果S*⇒x(其中x∈V*),则称x是文法的一个句型。
15.设G是一个给定的文法,S是文法的开始符号,如果S*⇒x(其中x∈V T*),则称x是文法的一个句子。
16.扫描器的任务是从源程序中识别出一个个单词符号。
17.语法分析最常用的两类方法是自上而下和自下而上分析法。
18.语法分析的任务是识别给定的终结符串是否为给定文法的句子。
19.递归下降法不允许任一非终结符是直接左递归的。
20.自顶向下的语法分析方法的关键是如何选择候选式的问题。
21.递归下降分析法是自顶向下分析方法。
22.自顶向下的语法分析方法的基本思想是:从文法的开始符号开始,根据给定的输入串并按照文法的产生式一步一步的向下进行直接推导,试图推导出文法的句子,使之与给定的输入串匹配。
23.自底向上的语法分析方法的基本思想是:从给定的终结符串开始,根据文法的规则一步一步的向上进行直接归约,试图归约到文法的开始符号。
编译原理试题及答案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.编译程序的工作过程一般可以划分为词法分析、语法分析、语义分析与中间代码产生、优化和生成目标程序等几个基本阶段,同时还伴有符号表管理和出错处理。
2.若源程序是用高级语言编写的,目标程序是汇编或机器语言,则其翻译程序称为编译程序。
3.编译方式与解释方式的根本区别在于运行目标程序时的控制权在解释器而不是目标程序。
4.翻译程序是这样一种程序,它能将用甲种语言书写的程序转换成与其等价的乙种语言书写的程序。
5.对编译程序而言,输入数据是高级语言(源)程序,输出结果是低级语言(目标)程序。
6.运行编译程序的计算机称宿主机,运行编译程序所产生目标代码的计算机称目标机。
7.当把编译程序划分成编译前端和编译后端时,前端主要由与源语言有关但与目标机无关的部分组成,编译后端包括编译程序中与目标机有关的部分,编译后端不依赖于源语言而仅仅依赖于中间语言。
8.描述词法规则的有效工具是词法分析器,通常使用语法分析器来描述语法规则,使用语义分析(与中间代码产生)器描述语义规则。
二.综合题(该答案仅供参考)1、给出C语言编译程序对下面语句进行编译时从词法分析到目标代码生成5个分析阶段的分析过程。
c=a+b*30;(1)给出每个阶段的输入和输出代码或其它数据形式。
(2)给出符号表,说明在哪些阶段会对符号表进行填写或查找。
(3)编译过程是否进行了代码优化?若有,请指出优化之处,并给出属于哪种优化?答:词法分析:出入源程序;输出识别出的记号流。
c=a+b*30 id1=id2+id3*30语法分析器:输入记号流,构造句子结构;输出语法树。
=id1 +id2 *id3 30语义分析与中间代码生成:出入语法树,输出中间代码变量地址数值注:赋值阶段会对符号表进行填写或查找1. id1 0 c (itr,30,,t1)2. id2 4 x (*,id3,t1,t2)3. id3 8 y (+,id2,t2,t3)4. t1 12 30 (=,t3,,id1)优化:1.(*,id3,30.0,t1)2.(+,id2,t1,id1)精简掉多余的复写传播mulf #30.0,r2 mov id2,r1 sub r1,r2 mov r2,id1第二章一.填空题1.上下文无关文法包括以下四个组成部分:一组终结符号,一组非终结符号,一个开始符号,以及一组产生式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注:题目前带*号为很有疑问的。
其余的也不是很对,总之答案仅供参考1.扫描器的任务是从源程序中识别出一个个__单词符号____。
2.语法分析最常用的两类方法是自顶向下和___ 自底向上______分析法。
3.所谓语法制导翻译方法是____为每个产生式配上一个语义子程序,并在语法分析的同时执行这些程序 ___________。
4.源程序执行的途径有翻译和解释途径两类。
5.符号表的作用是语义检查的依据和辅助目标代码的生成。
6.词法分析的任务是从左至右逐个字符地对源程序进行扫描,产生一个个单词序列,用以语法分析。
7.素短语是指至少含有一终结符除自身外不含其它素短语的短语。
8.LL(1)分析法的文法须满足的条件是无回溯和无左递归。
9.DFA和NFA间的区别是后继状态是否唯一和匹配速度快慢。
10.二义性的解决办法是修改编译算法和修改文法。
11.常用的两种动态存贮分配办法是栈式动态分配和__堆式___动态分配。
12.从功能上说,程序语言的语句大体可分为执行性语句和__说明性____语句两大类。
13.一个上下文无关文法包含四个组成部分是一组终结符号、一组非终结符号、一个开始符号和一组产生式。
14.产生式是用于定义__ 语法成分___的一种书写规则。
15.动态存储分配实现的方式有栈式分配和堆式分配两种。
16.表达式a*(b+c)/d- (f+e)的逆波兰式表示是abc+*d/fe+- 。
28.常见的中间语言的形式有三元式、四元式、逆波兰式和树表示。
17.可用属性文法来说明源语言语义。
属性文法由一个上下文无关文法和一系列附加在文法上的语义规则构成。
18.词法分析器的另一个名称为扫描程序。
19.代码优化可以分局部优化、全局优化和循环优化三类。
20.文法G[S]:S→aSb∣ε描述的语言L(G[S])是L(G[S])={(a^nb^n|n>=0} 。
21.素短语是指至少含有一终结符和除自身外不包含其它素短语的短语。
22.无环路有向图(DAG)是指如果有向图中任一通路都不是环路,则称庐有向图为无环路有向图,简称DAG 。
23.所谓优化是指加快运行速度和减少存储空间。
24.翻译程序分为解释程序、编译程序和汇编程序三种。
25.单词的描述工具有有穷自动机、正规式和正规方法。
26.文法G[S]:S→aSa∣cc描述的语言L(G[S])是 L(G[S])={(a^ncc^n|n>=0} 。
27.算符优先方法每次是对最左短语进行归约,规范归约每次是对句柄进行归约。
*28.中间代码的产生是随编译中语法分析处理而进行的,所以叫做的中间代码生成。
*29.文法G[S]:S→aAb|aBb B→cBd∣ε描述的语言L(G[S])是。
30.说明语句的翻译的任务是把有关属性填入符号表和为变量分配空间。
31.算符文法是指它的任何产生式的右部都不含两个相继(并列)的非终结符,算符优先文法是指构造算符优先表时,不产生冲突的文法。
32.符号表的主要操作包括符号表的初始化、符号表的查找和符号表中分程序结构层次的管理。
33.字母表{a,b}上,每个a均有一个b紧跟其后的所有符号串的集合的正规式表示为(b)*(ab)*(b)* 。
34.下推自动机是一个七元组,通常表示为( Q, Σ, Γ, δ, q0, Z0, F ) 。
35.PDA的含义是指下推自动机。
*36.文法G[S]:S→aAb|aaBbb B→cBd∣cd 描述的语言L(G[S])是。
37.一个确定有穷自动机可以通过消除__ 无用状态和等价状态而转换成一个最小的与之等价的有穷自动机。
38.LR(K)方法可以分为LR(0)、SLR(1)、 LR(1)和LALR(1)四种。
39.高级语言的翻译方式有解释和编译,它们的主要区别在于是否产生目的代码。
40.字母表{a,b,c}上,以aa结尾的所有符号串的集合的正规式表示为(a|b|c)*aa 。
41.下推自动机是用来识别 2型语言,有穷自动机用来识别3型语言。
42.从功能上说,程序语言的语句大体可分为说明性语句和__ 执行性____语句两大类。
43.汇编程序是将汇编语言程序翻译成机器语言。
44.编译程序是将高级语言翻译成汇编语言程序。
45.句柄是指____ 一个句型的最左直接短语。
46.过程信息表中必须包括过程名、参数信息和过程入口地址___。
47.表达式A/(B-C)*(D/F+E*G)的逆波兰式表示是ABC-/DF/EG*+* 。
48.与机器有关的优化包括__ 多处理器优化、无用代码优化、寄存器优化和特殊指令优化。
49.左线性文法的每条规则形如A→a和_ A→Ba __。
50.OPG的含义是指:算符优先文法。
51.词法分析器用于区分单词,语法分析器则用于发现源程序中的语法错误。
52.全局优化是指____ 跨越多个基本块的全局范围内的优化。
53.一个程序设计语言应具备语法、语义和语用三个方面。
54.表达式-A/(B+C)/((D+F)*(E-G))的逆波兰式表示是A-BC+/DF+EG-*/ 。
55.Chomsky把文法分为四种形式,它们分别是0型文法、1型文法、2型文法和3型文法。
56.自底向上语法分析方法的基本思想是:由输入的符号串出发,利用文法的规则一步步进行向上规约__,试图归约到文法的开始符号。
57.LR(0)项目集的相容性是指无移进—规约项目并存_____和无两归约项目并存。
58.在某些特殊情况下利用提取公因子和消除左递归使一个非LL(1)文法转换为LL(1)文法。
59.局部优化是指基本块内的优化。
60.LL分析器由三个部份组成,它们总控程序、预测分析表__和分析栈。
61.语句x=A/(B-C)-(D+F*(E+G))的逆波兰式表示是xABC-/DFEG+*+-= 。
62.LR(0)的项目集的项目类型可分为归约项目、待约项目、接受项目和移进项目。
63.句子分析分为自底向上和自顶向下两种类型。
64.DAG的含义是指:无回路有向图。
65.优先函数有两种构造方法,它们是关系图法和构造优先函数法。
66.文法G[S]:S→ABC A→aA∣a B→bB∣εC→cC∣cc 描述的语言L(G[S])是L(G[S])={a^ib^jc^k|i>=1,j>=0,k>=2} 。
67.在有穷自动机中,两个状态等价的条件是蔓延性条件和一致性条件。
68.自顶向下分析方法一般有LL(1)方法和递归下降法两种分析方法。
69.属性文法是一个三元组(G,V,F),分别表示一个上下文无关文法、属性的集合和关于属性的属性断言或一组属性的计算规则。
70.3型文法要求每条规则形如A→a和 A→ aB 。
71.3型文法有两种特殊形式,它们是左线性文法和右线性文法。
72.文法G[S]:S→aAb|B B→cBd∣ccdd 描述的语言L(G[S])是。
73.多余规则是指某条规则的左部终结符不在其他任何规则中出现和一旦用到此规则推不出终结符号串出来。
74.3型语言可以被有穷自动机来识别,2型语言可以被下推自动机来识别。
75.字母表{a,b}上,以aa打头的所有符号串的集合的正规式表示为aa(a|b)* 。
76.素短语是指至少含有一终结符和不含其它素短语的短语。
77.优先分析方法可分为简单优先分析方法和算符优先分析方法。
78.文法的实用性限制是不能有有害规则和__ 多余规则______。
79.词法分析的任务是__逐个读入源程序字符并按照构词规则切分成一系列单词_________________。
80.LR分析器有三个部份组成,它们总控程序、预测分析表__和分析栈。
81.语句x=-a+(b-c)*d+f+e/g的逆波兰式表示是xa-bc-d*+f+eg/+= 。
82.语义子程序的功能是改变变量的值、查填符号表、产生中间代码和发现并报错。
83.一个确定有穷自动机可以通过消除无用状态和_ 多余状态__而转换成一个最小的与之等价的有穷自动机。
84.DFA所能识别的语言定义为:(正则文法的定义)。
85.根据与机器的相关性,优化可以分为与机器有关的优化和___ 与机器无关的优化____两类。
86.引入中间语言的目的是便于目标代码的生成和___ 便于移植______。
87.语法分析的任务是____ 识别由词法分析给出的单词符号序列是否是给定文法的正确句子_________________。
88.LR的含义是_ 自左向右规约___。
89.语句x=a*(b+c)/d+(f+e)*g的逆波兰式表示是xabc+*d/fe+g*+= 。
90.与机器无关的优化常见的有合并常量、消除公共子表达式、削减运算强度和外提循环式中的变量。
91.语义分析含有如下两方面的任务一是静态语义审查,二是动态语义解释执行。
92.文法G[S]:S→AB A→aA∣a B→bB∣ε描述的语言L(G[S])是 L(G[S])={a^i b^j|i>=1,j>=0} 。
93.词法分析的单词可以分为常量、运算符、特殊符号、关键字和界符。
94.局部优化是指在只有一个入口和一个出口的基本程序块上进行的优化。
95.符号表的表项排列结构可以分为线性表组织、有序表组织和散列表组织三种结构。
96.递归子程序分析法属于自顶向下语法分析方法,LR语法分析方法属于自底向上语法分析文法。
97.一个DFA要求初态唯一和后继状态唯一。
98.上下文无关文法的每一条规则形如 A→β。
99.下推自动机的英文简称为PDA 。
100.单词的描述工具有有穷自动机、正规则文法和正规式三类。
101G[S]:S→SS∣β描述的语言L(G[S])是L(G[S])={(β)^n|n>=2} 。
102系统的关键字和系统定义的运算符、分隔符都各自单独定义为一个词类,那么词类定义中除了常量和标识符以外,别的词类就一般不需附加信息。
103分析的文法须满足的条件是和无回溯。
104符号表表的内容包括两部份:标识符的名字和名字有关的信息。
105 编译中,各个阶段广泛采用的数据结构是表,它记录不同阶段时的不同信息,以便查询和修改。
其中使用期最长的是符号表。
106G优化的基本方法是:第一步___从四元式序列构造DAG _____,第二步再从DAG图重新写成四元式序列。
107制导翻译时修改文法的目的是便于生成四元和__ ______。
108式a+(b-c)*d+(f+e)/g的逆波兰式表示是abc-d*+fe+g/+ 。
109自动机一般分为NFA和_ DFA __。
112[S]是一个文法,它产生所有句子的全体是该文法所定义的语言。