编译原理-填空题_第1页
编译原理-填空题_第2页
编译原理-填空题_第3页
编译原理-填空题_第4页
编译原理-填空题_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、将编译过程的各阶段划分为前端或后端和将编译程序分遍的主要参考因素都是( )和( )的特征。( )是一种语法分析程序的自动构造工具,用它可以直接构造各种语言的语法分析器;而( )是一种词法分析程序的自动构造工具,用它可以直接构造各种语言的词法分析器。3、假设GS是一个文法,如有S x,则称x是该文法6的();文法G产生 的( )的全体称为该文法所描述的语言。4、所谓2型文法就是指()文法,若用G = (VN, VT, P, S)表示它,则 、 . . . . . . . . . ._. . *它要求G中的所有规则a -B都潴足:口是(),而B属于(Vn U Vt)。5、文法中形如U- U的规则称

2、为()规则;由不可达的非终结符或不可终止的非终结符作为左部的规则称为 ( ) 规则。 在实用文法中一般不允许含有这两类规则。6、在用五元组表示的确定的有穷自动机 DFAM =K, V, F, S, Z)中,元素V 表示字母表;元素S表示唯一的初态,它是状态集K的一个元素;元素F表示(); 元素 Z 表示终态集,它是状态集K 的一个( ) 。语法分析方法分为自上而下与自下而上两类,自上而下的分析方法方要有递归子程序分析法和();而自下而上的分析方法主要有()和LR分析方法。LR(0) 项目集规范族中的项目可分为四类,它们是移进项目、 ( ) 、归约项目和接受项目。其中,接受项目是( )的一种特例

3、。将非LL(1) 文法转换为等价的 LL(1) 文法所采用的两种方法是( ) 和( ) 。但这两种方法并不能保证所有的非LL(1) 文法都能转换为等价的 LL(1) 文法。10、通常局部优化是指基本块内的优化,所谓基本块是指程序中一顺序执行的语句序列,其中只有一个( )语句和一个( )语句。11、算符优先分析时,在句型 NaiNrai-iNaN+iai+iajN+iaj+iN+2中,寻找的 最左素短语NaN+ia+-aMi中的终结符应满足下优先关系:()、()、()。在编译程序中符号表用来存放语言程序中出现的有关标识符的属性信息,这些信息集中反映了标识符的语义特征属性。 符号表的功能可以归结为

4、三个主要方面,即( ) 、作为上下文语义合法性检查的依据和作为( )的依据。13、根据优先关系矩阵计算优先函数可用迭代法或优先关系图法,但先关系图方法计算出来的优先函数不一定有效,当()时,所得的优先函数无效,这时也说明该优先关系矩阵不存在优先函数。14、当一个过程调用其他过程时,调用过程和被调用过程之间的通信经由非局部变量或者经由参数传递,常用的参数传递方式有()、()等。15、现代很多编译程序都采用()翻译方法,它是指在语法分析过程中,随着分析的步步进展,根据每个规则所对应的语义子程序或语义动作进行翻译的办法。这种方法使用()为工具来说明程序设计语言的语义题号1*23参考 答案源语百、目标

5、机YACC LEX句型、句子题号456参考 答案上下文无关文法、 一个非终结符有害规则、多余规则状态转换函数、子集题号789*参答案预测分析方法、算 符优先分析方法待约项目、归约项目提取左公共因子、消除 左递归题号1011*12参答案入口、出口ai-14ai、aj Aaj+1ai 三ai+1 三三 aj-1 = aj 、收集符号属性、目标代 码生成阶段地址分配题号1314*15参答案图中存在划、/回路传值、传地址语法制导、属性文法1、编译阶段按前后端组合,可分为编译前端和编译后端,其中与目标机有关的 阶段一般属于 ,而与源语言相关的阶段一般属于 。2、设文法G = (Vn, V P, S),若

6、P中的每一个规则AB满足:AC VN, 0 C (VnU Vt)* ,则称此文法为 型文法。3、词法分析的结果常常是以二元组形式表示的 序列。4、已知M= (K, M F, S, Z),若M是DFA则S表示初态,它和状态集 K的关 系是 ; 若M是NFA则S表示,它和状态集K的关系是。5、常用的参数传递方式有 和。6、规范推导是指,其逆过程即,称为规范归约。7、LR(0)项目集规范族中的项目可分为四类,即移进项目、 项目、归约 项目和接受项目,其中归约项目和 项目或 项目共存于一个项目集中会引起冲突。8、一个属性文法可表示为三元组 A=(G, V, F),其中的G表示一个二型文法、V 表示属性

7、的有穷集、F表示 的有穷集。9、表达式s:=a+b*c/d+(b-d) 的逆波兰式表示为 。10、为了实现分程序里面的分层结构中的语义功能,符号表中需要设立下推链域组织。11、编译时能确定其所需占用空间的数据存放在静态数据区;对在程序运行时才 能确定所需占用空间大小的可变数据及管理过程的控制信息, 其空间分配一般采 用 或 的动态存储分配方式。1、编译过程一般分为词法分析、语法分析、 、中间代码生成、代码优 化和 等阶段。2、设文法G = (%, V P, S),若P中的每一个规则都形如:A-aB或 Ka , 其中A、B为非终结符、a为终结符,则称此文法为 型文法或 文法。3、在LR(1)文法

8、中,L表示, R表示。4、LR(0)项目集规范族中的项目可分为四类,即 项目、项目、归 约项目和接受项目,其中归约项目和归约项目或 项目共存于一个项目集 中会引起冲突。5、表达式E:=a*b-d/(b-d) 表示为逆波兰式为 。6、符号表中表项的三种排列方式为 组织、排序组织和。7、编译时能确定其所需占用空间的数据存放在 数据区;对在程序运行时 才能确定所需占用空间大小的可变数据及管理过程的控制信息, 其空间分配一般 采用 或 动态存储分配方式。8、列举出常用的两种自底向上语法分析方法: 和。9、LEX/FLEX是 的自动构造工具,YACC/BISON 的自动构造工具。1、典型高级程序设计语言

9、编译系统的工作过程一般分为六个阶段,即词法分析、语法分析、语义分析、中间代码生成、目标代码生成。编译阶段的两种组合方式是 组合法 和按遍组合法,这两种组合方式的主要参考因素都是 的特征。2、Chomsky将文法按其所表示语言的表达能力,由高往低分为四类:0型,1型,2型,3型文法。其中,2型文法也称 ,它的所有规则 “ 一 3都满足:迂,跃(VnUVt) *且,仅当3 =时例外。3、现代编译系统多采用 方法,即在语法分析过程中根据各个规则所相联的 或所对应的语义子程序进行翻译的办法。该方法使用 为工具来说明程序设计语言的语义。4、构造与NFA M等价的正规文法 G的方法如下:(1)对转换函数f

10、(A, a)=B或f(A , e)=B,改成形如 或 的产生式;(2)对可识别终态 乙增加一个产生式: 。5、代码生成要考虑的主要问题:充分利用 的问题、选择 的问题、选择 的 问题。6、设有穷自动机 M=(K , f, S, Z),若当M为 时,满足z0Cf(S, aHz0CZ,或当M为 时,满足f(S, a尸氏Z,则称符号串 代*可被M所。7、符号表中每一项对应一个多元组。符号表项的组织可分为一组织、组织、一组织等。8、对于AC Vn定义A的后续符号集:FOLLOW(A尸a|S= *uA3, aC Vt,且aC, uCVT*,氏 V+;若,则#e FOLLOW(A)。也可以定义为:FOLL

11、OW(A尸a|S= * Aa, ae Vt。若有,则规定 #e FOLLOW(A)。9、基本块的定义:一个基本块是指程序中一个 执行的语句序列,其中只有一个入口和一个出口。入口是程序第一个语句或转移语句的目标语句,或转移语句的后继第一个语句。出口是程序 或转移语句。在基本块范围内的优化称为 。10、预测分析器由预测分析表、先进后出栈(用来存放分析过程的语法符号)和 三部分组成。其中预测分析表是一个二维矩阵,其形式为MA , a,其中ACVn, aC Vt或#。若有产生式 Za ,使得aC,则将 Za填入MA , a中。(书写时,通常省略规则 左部,只填一 口1对所有 的MA , a标记为出错。

12、题号1234参考 答案代码优化、前后端、 源语言与目标机器上卜文无关文法、Vn、|3 |二| “ |语法制导翻译、语 义动作、属性文法A- aR A- B、Z 一 e题号5678参考 答案寄存器、计算机指令 系统、计算次序NFA、DFA、接受(识别)线性、排序、散列 、 *FIRST( 3、)出 sS=*A题号910经支 答案顺序、最舟-个语句、 局部优化预测分析程序、SELECT-“)、没有值1、典型编译过程一般分为词法分析、语法分析、语义分析、 (并非所有的编译程序都 包含此阶段)、代码优化、目标代码生成六个阶段,其中词法分析的任务是对构成源程序的 字符串进行扫描和分解,识别出 (如标识符

13、等)符号;为代码生成阶段收集类型信息,并 进行类型审查和违背语言规范的报错处理是 的任务。2、文法是一些规则的有穷集合,它是以有穷规则集来刻划无穷集合的工具。文法的四元组表示 G = (Vn, Vt, P, S)中,元素 Vn, Vt分别是非空有限的 。且二者 交集为 代P为产生式/规则集,是文法的核心部分;S C Vn,是文法的开始符号(或识另符), 它是一个非终结符,至少要在一条规则中作为 出现。3、构造LR (0)项目集规范族的项目类型分为四种:形如A- a .a的、形如的待约项目、形如 Z a B3的归约项目、形如 S -a的。4、一个优先关系矩阵对应的优先函数 ;所表示优先关系唯一的

14、矩阵不一定存在优 先函数;当两个终结符对之间无优先关系时,可以将相应元素置出错信息,而使用 却无法识别这种情况,不能准确指出出错位置。5、在编译程序中用符号表来存放语言中出现的有关 的语义特征属性信息。 程序设 计语言中通用的标识符属性主要有如下几种:符号名、符号的 、符号的存储类别、符 号的、符号变量的存储分配信息及数组的内情向量等其它属性。6、如果文法 G= ( Vn, Vt, P, S)中不存在形如 A一BC的产生式,其中 B、C 为非终结符,则称之为 。在此基础上,如果 a,b VT, a三b,*b,a b至 有一个 成立,则称之为。7、分为三类: 的机器语言代码; 的机器语言代码;汇

15、编语言(宏汇编)。8、在程序流中,一个循环必须具有以下性质:1) ,即序列中任意两点都可达,若只有一个结点,则有一条返回本身的回边;2) ,即从序列外某结点,有一条有向边指向它,或它为图中首结点。9、LR分析步骤:1)置输入指针ip指向输入串的第一个符号;令S是栈顶状态,a是ip所指向的符号;将#压入符号栈,将开始状态0压入状态栈;2)根据分析表重复执行如下过程:如果actionS, a=Sj,则把入符号栈,把 入状态栈,并使ip指向下一个输 入符号;如果actionS,a=rj,则从栈顶弹出第j条规则右部串长|即符号,把 压入符号栈,将 压入状态栈,并输出规则 A3 ;如果actionS,a

16、=acc ,则分析成功,否则报错。10、过程(函数)是结构化程序设计的主要手段。调用与被调用过程两者之间的信息主要通过 或参数来传递。参数分为,常用的参数传递方式有传地址、传值、传名等。题号1234参考 答案中间代码生成、单词、 语义分析句子、非终结符号集和 终结符集、左部移进项目、A- a .B0接受项目不唯一、优先矩 阵、优先函数题号5678参考 答案标识符、类型、作用 域和可视性、算符文法、多、算符优 先文法目标代码、已定位、 可重定位强连通、有且只有 一个入口结点题号910经支答案符号a、状态j、归约得到的非终结符A、gotoS,a的值j全局变量、形参和实参1、编译过程的各阶段都需要进

17、行()管理和()处理,所以在典型编译程序框图中,各阶段对应的程序都和上述管理或处理操作程序相联系。2、对给定文法GE,由推导序列E=E+T=T+T=i+T=i+i可知:该推导为()推导,从该推导序列可得到()个句型,其中的()同时也是句子。3、语法分析方法分为自上而下与自下而上两类,自上而下的分析方法方要 有递归子程序分析法和();而自下而上的分析方法主要有()和()。4、用四元组G= (VN, Vt, P, S)表示文法,则其元素 Vn表示()集;元素VT表示()集;元素P表示规则集;元素S表示开始符号,它必须是一个() 符号。5、YAC久一种()分析程序的自动构造工具;而 LEX是一种()

18、分析程 序的自动构造工具。6、用优先函数表示优先关系的优点是(),缺点是()。根据优先关系矩阵计算优先函数可用Floyed迭代法和()法。7、对一个文法G,在其LR(0)项目集规范族DFA中,当有归约项目和()项目或()项目共存于同一个状态中时,该文法就不是LR(0)文法。8、当一个过程调用其他过程时,调用过程和被调用过程之间的通信经由非局 部变量或者经由参数传递,常用的参数传递方式有()、()等。9、在句型 NaNa2N-1 aNaiN+1a+-ajN+1a+1N+2中,寻找最左素短语进行归约时,最左素短语 NaiNl1ai+ajN+1中的终结符应满足如下优先关系:()、()、()10、所谓优化实质上是对代码进行等价变换,使得变换后的代码运行结果与 变换前的代码运行结果相同,但运行速度加大或占用的()减少。常用的优化技 术有删除多余运算、()、强度削弱、变换循环控制条件、合并已知变量与复写 传播及()等。11、在语法分析过程中,随着分析的步步进展,根据每个规则所对应的语义 子程序或语义动作进行翻译的办法,称为()翻译方法,它被现代很多编译程序所采用。12、在编译程序中用符号表来存放语言程序中出现的有关()的属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论