编译原理复习资料(试题)

上传人:m**** 文档编号:563751069 上传时间:2023-04-21 格式:DOC 页数:10 大小:186.51KB
返回 下载 相关 举报
编译原理复习资料(试题)_第1页
第1页 / 共10页
编译原理复习资料(试题)_第2页
第2页 / 共10页
编译原理复习资料(试题)_第3页
第3页 / 共10页
编译原理复习资料(试题)_第4页
第4页 / 共10页
编译原理复习资料(试题)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《编译原理复习资料(试题)》由会员分享,可在线阅读,更多相关《编译原理复习资料(试题)(10页珍藏版)》请在金锄头文库上搜索。

1、一、单项选择题(将正确答案的字母填入括号,每题1.5分,共30分)1、一般程序设计语言的定义都涉及到( 1.2.3)3个方面。(1)语法 (2)语义 (3)语用 (4)程序基本符号的确定2、程序语言一般分为( 1 )和( 2 )。(1)高级语言;(2)低级语言;(3)专用程序语言;(4)通用程序语言3、面向机器语言指的是( B )。A用于解决机器硬件设计问题的语言B特定计算机系统所固有的语言C各种计算机系统都通用的语言D只能在一台计算机上使用的语言4面向机器语言的特点是( D )。A程序的执行效率低,编制效率低,可读性差B程序的执行效率高,编制效率高,可读性强C程序的执行效率低,编制效率高,可

2、读性强D程序的执行效率高,编制效率低,可读性差5、程序设计语言常见的数据类型有:1.2.3.4(1)数值型数据 (2)逻辑数据 (3)字符数据 (4)指针类型6、下列程序设计语言中是应用式语言的是:BA、PASCAL B、LISP C、VB D、PROLOG7、任何语法结构都可以用( C )来表示。A、语法树 B、树 C、抽象语法树 D、二义文法树8、字母表是符号的有穷集合,由( C )组成词和句子。A、字符串 B、字符 C、符号 D、语言9、下列符号是终结符的是( A)。A、c B、A C、S D、10、语法树用( C )关系说明了句子中以操作符为核心的操作顺序,同时也说明了每一个操作符的操

3、作对象。A、上下 B、先后 C、层次 D、关联11、循环语句的语法树为( D )A、 B、 C、 D、12、表达式中间代码的生成可采用( B )。A、三地址代码 B、四元式 C、三元式 D、间接三元式13、下列文法中,赋值语句的文法是( C )。A、 B、 C、 D、EE op E 14、词法分析的任务是( A )A、识别单词 B、分析句子的含义 C、识别句子 D、生成目标代码15、常用的中间代码形式中不含( D )A、三元式 B、四元式 C、 逆波兰式 D、语法树16、代码优化的目的是( C )A、节省时间 B、节省空间 C、节省时间和空间 D、把编译程序进行等价转换17、代码生成阶段的主要

4、任务是( C )A、把高级语言翻译成汇编语言 B、把高级语言翻译成机器语言 C、把中间代码变换成依赖具体机器的目标代码 D、把汇编语言翻译成机器语言18、词法分析器的输入是( B )A、单词符号串 B、源程序 C、语法单位 D、目标程序19、中间代码的生成所遵循的是( C )A、语法规则 B、词法规则 C、语义规则 D、等价变换规则20、编译程序是对( D )A、汇编程序的翻译 B、高级语言程序的解释并执行 C、机器语言的执行 D、高级语言的翻译21、语法分析应遵循( C )A、语义规则 B、语法规则 C、构词规则 D、等价变换规则 22、编译程序各阶段的工作都涉及到( B )A、语法分析 B

5、、表格管理、出错处理 C、语义分析 D、词法分析23、编译程序工作时,通常有( 1.2.3.4 )阶段。(1)词法分析 (2)语法分析 (3)中间代码生成 (4)语义检查 (5)目标代码生成24、由文法的开始符经0步或多步推导产生的文法符号序列是 C 。A、短语 B、句柄 C、句型D、句子25、产生正规语言的文法为 D 。A、0型 B、1型 C、 2型D、3型26、对无二义性文法来说,一棵语法树往往代表了 D 。(1) 多种推导过程(2) 多种最左推导过程(3)一种最左推导过程(4)仅一种推导过程(5)一种最左推导过程A、 B、(1)(3)(5) C、 D27、如果文法G存在一个句子,满足下列

6、条件 之一时,则称该文法是二义文法。BCDa. 该句子的最左推导与最右推导相同 b. 该句子有两个不同的最左推导c. 该句子有两棵不同的最右推导 d. 该句子有两棵不同的语法树 e.该句子的语法树只有一个28、优化可生成( D )的目标代码。A、运行时间较短 B、占用存储空间较小 C、运行时间短且占用内存空间大 D、运行时间短且存储空间小29、构造编译程序应掌握( D )A、源程序 B、目标程序 C、编译方法 D、以上三项都是30、赋值语句x=a+b*c-d的逆波兰式为( B)A、xab+c*d-= B、xabc*+d-= C、xabcd*+-= D、x=abc*+d-31、词法分析器的输出结

7、果是( C )A、单词的种别编码 B、单词在符号表中的位置 C、单词的种别编码和自身值 D、单词自身值二、填空题(每空1分,共15分)1、常见的程序设计语言主要有(过程式语言)、(面向对象语言)、(应用式语言)、( 基于规则的语言)4种类型。2、翻译过程中翻译的主要工作就是把高级语言翻译成(中间语言 )。3、编译程序前端主要由与源语言有关而与目标语言无关的部分组成,这些部分包括词法分析、(语法分析)、语义分析和(中间代码生成)。4、编译程序后端主要由编译程序中与目标程序有关的部分组成,主要包括(代码优化)和(目标代码生成)。5、如果按语言结构的形式分类,可以把程序设计语言分为过程式语言、(面向

8、对象语言)、应用式语言和(基于规则的语言)。6、编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。7、编译器常用的语法分析方法有自底向上和自顶向下两种。8、通常把编译过程分为分析前端与综合后端两大阶段,词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。9、对编译程序而言,输入数据是源程序,输出结果是目标程序。10、从功能上说,程序语言的语句大体可分为执行性语句和说明性语句。11、所谓最右推导是指(任何一步都是对a中最右非终结符进行替换的)。12、一个上下文无关法所含四个组成部分是:一组终结符号、一组非终结符号、一个开始符号、一组

9、产生式。13、产生式是用于定义语法范畴的一种书写规则。14、文法中的终结符和非终结符的交集是空集。词法分析器交给语法分析器的文法符号一定是 终结符 ,它一定只出现在产生式的 右 部。15、最左推导是指每次都对句型中的最左非终结符进行扩展。16、语法树代表推导过程,分析树代表归约过程。17、计算机执行用高级语言编写的程序主要由两种途径解释和编译。18、后缀式abc-/所代表的表达式是a/(b-c)。19、编译过程可分为词法分析、语法分析、语义分析与中间代码生成、优化和目标代码生成五个阶段。20、如果一个文法存在某个句子对应两个不同的语法树,则称这个文法是二义性的。21、语法分析是依据语言的语法规

10、则进行,中间代码的产生是依据语言的语义规则进行的。22、对一个文法G,仅含终结符号的句型称为句子。23、2型文法又称为上下文无关文法,3型文法又称为正则文法。三、名词解释1、词法分析:主要任务是是从左到右扫描每行源程序的符号,按照词法规则从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位,并转换成统一的内部表示,送给语法分析程序。2、语法树:句子的树结构表示法称为语法树。给定文法G=(Vn,Vt,P,S),对于G的任何句型都能构造与之关联的语法树(推导树)。语法树具有如下特征: (1) 根节点的的标记是开始符S。 (2)每个节点的标记都是V中的一个符号。(3) 若一颗树的根节点为A,

11、且其具有直接子孙的标记从左向右的排列次序为A1A2AR,那么AA1A2AR一定是P中的一条产生式。(4) 若一标记为A的节点至少有一个除它以外的子孙,则AVn.(5)若树的所有叶节点上的标记从左到右排列为字符串W,则W是文法G的句型;若W中仅含终结符号,则W为文法G所产生的句子。3、推导:我们称A直接推出,即A,仅当A 是一个产生式,且、(VNVT)*。如果12n,则我们称这个序列是从1至2的一个推导。若存在一个从1n的推导,则称1可推导出n。推导是归约的逆过程。4、语法:表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义:表示程序

12、的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。5、上下文无关法:一个上下文无关文法G是一个四元式(VT,VN,S, P),其中:VT是一个非空有限集,它的每个元素称为终结符号;VN是一个非空有限集,它的每个元素称为非终结符号,VTVN=;S是一个非终结符号,称为开始符号;P是一个产生式集合(有限),每个产生式的形式是P,其中,PVN,(VTVN)*。开始符号S至少必须在某个产生式的左部出现一次。 6、翻译程序:把某一种语言程序(称为源语言程序)等价地转换成另一种语言程序(称为目标语言程序)的程序。7、编译程序(compiler):把某一种高级语言程序等价地转换成另一种

13、低级语言程序(如汇编语言或机器语言程序)的程序。8、解释程序:把源语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身。9、源语言:被翻译的语言。 目标语言:翻译后的语言。 中间语言:在编译过程中,把源语言首先转换为一种中间表示形式,然后再把这种中间表示形式翻译为最终的目标语言,这种中间表示形式就叫做中间语言。 编译方式:把一个高级语言的文本文件“翻译”成机器语言的可执行文件。 解释方式:将源语言文件放在一个被称为解释器的程序里执行,把源语言代码中的语句翻译成一小段及其代码并执行之,工作方式是翻译一句执行一句10、抽象语法树 或者语法树(syntax tree),是源代码的抽象

14、语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。 11、 二义性定义:“若对于一个文法的某一句子存在两棵不同的语法树,则该文法是二义性文法。”12、语法:就是描述语言现象这种词汇间的并列关系与嵌套关系的规则。四、简答题1、给出上下文无关文法的定义。解:一个上下文无关文法G是一个四元式(VT,VN,S, P),其中:VT是一个非空有限集,它的每个元素称为终结符号;VN是一个非空有限集,它的每个元素称为非终结符号,VTVN=;S是一个非终结符号,称为开始符号;P是一个产生式集合(有限),每个产生式的形式是P,其中,PVN,(VTVN)*。开始符号S至少必须在某个产生式的左部出现一次。2、何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系? 3、一个典型的编译系统通常由哪些部分组成?各部分的主要功能是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号