您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页编译原理3答案

编译原理3答案

来源:尚车旅游网
编译原理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、在编译过程中,常见的中间语言形式有(逆波兰表示 )、(三元式 )、(四元式)和(树形表示)。

14、在编译程序中安排中间代码生成的目的是(便于代码优化)和(便于目标程序的移植)。

15、表达式-a+b*(-c+d)的逆波兰表示为( a-bc-d+*+ )。 16、表达式a+b*(c+d/e)的逆波兰表示为(abcde/+*+ )。

17、表达式a:=a+b*c↑(d/e)/f的逆波兰表示为( aabcde/↑*f/+:= )。 18、文法符号的属性有( 继承属性 )和( 综合属性 )两种。

19、一个文法符号的继承属性是通过语法树中它的(兄弟结点与父 )结点的相应文法符号的属性来计算的。

20、一个文法符号的综合属性是通过语法树中它的(子 )结点的属性来计算的。

21、语法制导的编译程序能同时进行( 语法 )分析和( 语义 )分析。

22、编译过程中扫描器所完成的任务是从( 源程序 )中识别出一个个具有( 独立语法意义的单词 )。

23、确定的有穷自动机是一个( 五元组 ),通常表示为( dfa=(k,∑,m,s,z))。 24、已知文法g(e): e-t|e+t|e-t t-f|t*f|t/f f-(e)|i

该文法的开始符号是( e ),终结符号集合vt是( { +,-,*./,(,),i } ),非终结符号集合vn是( { e,t,f } ),句型t+t*f+i的短语有( t+t*f+i ,t*f第一个t,i)。 25、已知文法g(e): e-t|e+t|e-t t-f|t*f|t/f f-(e)|i

26、已知文法g(z): z-u0|v1 u-z1|1 v-z0|0

请写出全部由此文法描述的只含四个符号的句子:( 0101,1010,1001,0110 )。 该文法是chomsky( 3 )型文法。

27、chomsky定义的四种形式语言文法分别为:( 0型)文法--又称(短语文法 )文法,(1型)文法--又称(上下文有关)文法,(2型 )文法--又称(上下文无关 )文法,(3型)文法--又称(正则)文法。

28、文法g(s): s-ab

a-aab|ab

其描述的语言l(g[s])=( anbncm,n≥1,m≥0 )。 29、文法g(s): s-sas|b|c a-aaa|a

其描述的语言l(g[s])=(b,c,或者是以b开头、以c结尾的、中间是任意个由b或c间

隔开的奇数个a组成的符号串)。

30、过程与过程引用中信息交换的方法是(全局变量的使用)和(参数传递 )。

31、形式参数和实在参数之间的对应关系通常按(它们在源程序中的位置)来确定。

32、按传结果的方式进行形实参数结合,是一种把(传地址 )和(传值)的特点相结合的参数传递方式。

33、在pascal中,由于允许用户动态申请与释放内存空间,所以必须采用( 堆)存储分配方式。

34、编译程序进行数据流分析的目的是( 为了进行全局优化)。 35、根据所涉及程序的范围,优化可分为( 局部优化 )、( 循环优化 )和( 全局优化 )三种。

36、局部优化是局限于一个( 基本块 )范围内的一种优化。

37、词法分析阶段的错误主要是( 拼写错误 ),可通过( 最小距离匹配 )的办法去纠正错误。

38、对错误的处理方法一般有( 校正法 )和( 局部优化法 )。 39、源程序中的错误一般有( 词法错误 )、( 语法错误 )、( 语义错误 )和( 违反环境限制的错误 )四种。

40、翻译程序是这样一种程序,它能够将( 用甲语言书写的程序 )转换成与其等价的( 用乙语言书写的程序 )。

41、编译程序的工作过程一般可以划分成( 词法分析、语法分析、语义分析、中间代码生成、代码优化 )等五个基本阶段。

42、编译程序的工作过程还会伴有( 表格处理 )和( 出错处理 )。

二、选择题:

1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部(a )错误和部分(b )错误。

a、语法 b、语义 c、语用d、运行

2、程序语言的处理程序是一种( a )。

a、系统软件 b、应用软件c、实时系统d、分布式系统

3、(b)是两类程序语言处理程序,它们的主要区别在于是否生成目标代码。

a、高级语言和低级语言b、解释程序和编译程序c、编译程序和操作系统d、系统程序和应用程序

4、汇编语言是将( a)翻译成( b );编译程序是将( c )翻译成( d)。

a、汇编语言程序 b、机器语言程序c、高级语言程序d、汇编或机器语言程序 e、汇编或高级语言程序 f、机器或高级语言程序 5、编译程序与具体的机器( a ),与具体的语言( b )。 a、有关b、无关

6、编译程序生成的目标程序(b )是可执行的程序。 a、一定b、不一定

7、编译程序生成的目标程序( b )是机器语言程序。 a、一定b、不一定

8、把汇编语言程序翻译成机器可执行的目标程序的工作是由(b )完成的。

a、编译器 b、汇编器 c、解释器 d、预处理器 9、编译过程中,语法分析器的任务是(b )。

(1)分析单词是怎样构成的;(2)分析单词串是如何构成语句和说明的;(3)分析语句和说明是如何构成程序的;(4)分析程序的结构 a、(2)(3) b、(2)(3)(4)c、(1)(2)(3) d、(1)(2)(3)(4) 10、文法g所描述的语言是( d)的集合

a、文法g的字母表v中所有符号组成的符号串;b、文法g的字母表v的闭包v*中的所有符号串;

c、由文法的识别符号推出的所有符号串; d、由文法的识别符号推出的所有终结符符号串;

11、描述语言l={ambn|nm1}的文法为( d)。

a、z-abb, a-aa|a, b-bb|b b、z-abb, a-aa|a,b-abb|b c、z-ab, a-aab|a d、z-aab, a-ab|aab|@

12、一个句型中的最左( b )称为该句型的句柄。 a、短语 b、简单短语 c、素短语d、终结符号

13、文法的二义性和语言的二义性是两个( a )的概念。 a、不同 b、相同 c、无法判断

14、上下文无关文法(a )产生语言l={ambnci|i1,n1} a、可以b、不可以

15、( b)正规文法能产生下面的语言:l={ambn|n1} a、存在一个b、不存在任何c、无法判断

16、编译程序中的语法分析器接受以( c)为单位的输入,并产生有关信息供以后各阶段使用。

a、表达式b、产生式c、单词d、语句

17、高级语言编译程序常用的语法分析方法中,递归下降分析法属于( b )分析方法。

a、自左至右 b、自顶向下c、自底向上d、自右至左

18、算符优先分析法每次都是对(e )进行归约,简单优先分析法每次都是对

(c )进行归约。

a、最左短语 b、简单短语c、句柄d、素短语e、最左素短语

19、文法g(s):s—atb|,,t-r,r—r/s|s的句型ar/asb/atb,b的最左素短语为( b )。

a、atb b、asb c、s d、r/ e、,

20、lr语法分析栈中存放的状态是识别(b )的dfa状态。 a、前缀 b、可归前缀c、项目d、句柄

21、已知文法g[s]:s-lar|r,l-br|c,r-l 该文法是(b )。

(1)lr(0)文法;(2)slr(1)文法;(3)lr(1)文法;(4)lalr(1)文法;(5)都不是

a、(1)(2) b、(3)(4)c、(1)(2)(3)(4) d、(5) e、(6)

22、若一个句型中出现了某一产生式的右部,则此右部(b)是该句型的句柄。

a、一定 b、不一定

23、lr(k)方法是( d )。

a、从左到右分析,每次走k步的一种编译方法b、从左到右分析,共经过k步的一种编译方法c、从左到右分析,每次向前预测k步的一种编译方法d、从左到右分析,每次向貌似句柄的符号串后看k个输入符号的一种编译方法

24、文法g[s]:s-aa,a-aa|a 不是lr(1)文法的理由是( d ) 25、下列关于标识符和名字的叙述中,正确的是( c )。

a、标识符有一定的含义b、名字是一个没有意义的字符序列c、名字有确切的属性 d、都不对

26、编译程序在其工作过程中使用最多的数据结构是(c )。它记录着源程序中的各种信息,以便查询或修改。 a、线性表 b、链表c、表 d、符号表

27、在编译程序在其工作过程中使用的各种表中,以( d )最重要,其生存期最长,使用也最频繁。 a、线性表 b、链表c、表 d、符号表

28、编译程序使用(b )区别标识符的作用域。

a、说明标识符的过程或函数名 b、说明标识符的过程或函数的静态层次c、说明标识符的过程或函数的动态层次 d、标识符的行号 29、动态存储分配时,可以采用的分配方法有(c )。

(1)以过程为单位的栈式动态存储分配;(2)堆存储分配;(3)最佳分配方法

a、(1) b、(2) c、(1)(2) d、(1)(2)(3)

30、过程调用时,参数的传递方法通常有( d )。

【篇二:西北工业大学版(蒋立源第三版)编译原理课后

习题答案】

解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中,在用户需要时再执行之。即先翻译、后执行。

2解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、信息表管理程序、错误检查处理程序组成。

3解:c语言的关键字有:auto break case char constcontinue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while。上述关键字在c语言中均为保留字。

4解:c语言中括号有三种:{},[],()。其中,{}用于语句括号;[]用于数组;()用于函数(定义与调用)及表达式运算(改变运算顺序)。c语言中无end关键字。逗号在c语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。 5略

第二章 习题解答

1.(1)答:26*26=676 (2)答:26*10=260

(3)答:{a,b,c,...,z,a0,a1,...,a9,aa,...,az,...,zz,a00,a01,...,zzz},共26+26*36+26*36*36=34658个 2.构造产生下列语言的文法 (1){anbn|n≥0}

(2){anbmcp|n,m,p≥0}

(3){an # bn|n≥0}∪{cn # dn|n≥0}

解:对应文法为g(s) = ({s,x,y},{a,b,c,d,#}, {s→x, s→y,x→axb|#,y→cyd|# },s)

(4){w#wr# | w?{0,1}*,wr是w的逆序排列}

解:g(s) = ({s,w,r},{0,1,#}, {s→w#, w→0w0|1w1|# },s) (5)任何不是以0打头的所有奇整数所组成的集合 (6)所有偶数个0和偶数个1所组成的符号串集合

解:对应文法为 s→0a|1b|e,a→0s|1c b→0c|1s c→1a|0b 3.描述语言特点

(1)s→10s0s→aaa→baa→a

解:本文法构成的语言集为:l(g)={(10)nabma0n|n, m≥0}。 解:l(g)={1n10n11n20n2 ? 1nm0nm |n1,n2,?,nm≥0;且

n1,n2,?nm不全为零}该语言特点是:产生的句子中,0、1个数相同,并且若干相接的1后必然紧接数量相同连续的0。 解:本文法构成的语言集为:

l(g)={1p1n0n|p≥1,n≥0}∪{1n0n0q|q≥1,n≥0},特点是具有1p1n0n 或1n0n0q形式,进一步,可知其具有形式1n0mn,m≥0,且n+m0。

解:可知,s=?=basndc n≥0

该语言特点是:产生的句子中,是以ba开头dc结尾的串,且ba、dc个数相同。

(5)s→asss→a

解:l(g)={a(2n-1)|n≥1}可知:奇数个a

4.解:此文法产生的语言是:以终结符a1 、a2 ?an 为运算对象,以∧、∨、~为运算符,以[、]为分隔符的布尔表达式串

5.5.1解:由于此文法包含以下规则:aa→e,所以此文法是0型文法。

5.2证明 :略

6.解:

(1)最左推导:

程序t分程序t标号:分程序tl:分程序 tl:标号:分程序 t l:l:分程序

t l:l:无标号分程序

t l:l:分程序首部;复合尾部

t l:l:分程序首部;说明;复合尾部 t l:l:begin说明;说明;复合尾部 t l:l:begin d;说明;复合尾部 t l:l:begin d;d;复合尾部

t l:l:begin d;d;语句;复合尾部 t l:l:begin d;d;s;复合尾部. t l:l:begin d;d;s;语句 end t l:l:begin d;d;s;s end 最右推导:

程序t分程序t标号:分程序 t标号:标号:分程序

t标号:标号:无标号分程序

t标号:标号:分程序首部;复合尾部

t标号:标号:分程序首部;语句;复合尾部 t标号:标号:分程序首部;语句;语句;end t标号:标号:分程序首部;语句;s;end t标号:标号:分程序首部;s;s;end

t标号:标号:分程序首部;说明;s;s;end t标号:标号:分程序首部;d;s;s;end t标号:标号:begin 说明;d;s;s;end t标号:标号:begin d;d;s;s;end t标号: l:begin d;d;s;s;end tl:l:begin d;d;s;s;end

(2)句子l:l:begin d;d;s;s end的相应语法树是: 7.解:

aacb是文法g[s]中的句子,相应语法树是: 最右推导:s=aacb=aacb=aacb 最左推导:s=aacb=aacb=aacb

(2)aabacbadcd不是文法g[s]中的句子 因为文法中的句子不可能以非终结符d结尾 (3)aacbccb不是文法g[s]中的句子

可知,aacbccb仅是文法g[s]的一个句型的一部分,而不是一个句子。

(4)aacabcbcccaacdca不是文法g[s]中的句子

因为终结符d后必然要跟终结符a,所以不可能出现?dc?这样的句子。

(5)aacabcbcccaacbca不是文法g[s]中的句子

由(1)可知:aacb可归约为s,由文法的产生式规则可知,终结符c后不可能跟非终结符s,所以不可能出现?caacb?这样的句子。 10.证明:因为存在句子:abc,它对应有两个语法树(或最右推导):

stabtabctabc stdctdctabc

所以,本文法具有二义性。 11.解:

(1) stabtaasbtaacbtbaacbtbbaacbtbbaacb

上面推导中,下划线部分为当前句型的句柄。对应的语法树为: 全部的短语:

【篇三:编译原理第三版课后习题答案】

..................................................................................................................................... 2 p36-7 .........................................................................................................

............................. 2 p36-8 ...................................................................................................................................... 2 p36-9 ...................................................................................................................................... 3 p36-10 .................................................................................................................................... 3 p36-11 .................................................................................................................................... 3 p64–

7 ................................................................................................................................... 4 p64–

8 ................................................................................................................................... 5 p64–

12 ................................................................................................................................. 5 p64–

14 ................................................................................................................................. 7 p81–

1 ................................................................................................................................... 8 p81–

2 ................................................................................................................................... 9 p81–

3 ................................................................................................................................. 12 p133–

1 ............................................................................................................................... 12 p133–

2 ............................................................................................................................... 12 p133–

3 ............................................................................................................................... 14 p134–

5 ............................................................................................................................... 15 p164–

5 ............................................................................................................................... 19 p164–

7 ............................................................................................................................... 19 p217–

1 ............................................................................................................................... 19 p217–

3 ............................................................................................................................... 20 p218–

4 .........................................................................................................

...................... 20 p218–

5 ............................................................................................................................... 21 p218–

6 ............................................................................................................................... 22 p218–

7 ............................................................................................................................... 22 p219–

12 ............................................................................................................................. 22 p270–

9 ............................................................................................................................... 24 p36-6 (1)

l(g1)是0~9组成的数字串 (2)

最左推导:

n?nd?ndd?nddd?dddd?0ddd?01dd?012d?0127n?nd?dd?3d?34

n?nd?ndd?ddd?5dd?56d?568 最右推导:

n?nd?n7?nd7?n27?nd27?n127?d127?0127n?nd?n4?d4?34 n?nd?n8?nd8?n68?d68?568 p36-7 g(s)

o?1|3|5|7|9n?2|4|6|8|od?0|ns?o|aoa?ad|n p36-8 文法:

e?t|e?t|e?tt?f|t*f|t/f f?(e)|i 最左推导:

e?e?t?t?t?f?t?i?t?i?t*f?i?f*f?i?i*f?i?i*ie?t?t*f?f*f?i*f?i*(e)?i*(e?t)?i*(t?t)?i*(f?t)?i*(i?t)?i*(i?f)?i*(i?i) 最右推导:

e?e?t?e?t*f?e?t*i?e?f*i?e?i*i?t?i*i?f?i*i?i?i*ie?t?f*t?f*f?f*(e)?f*(e?t)?f*(e?f)?f*(e?i)?f*(t?i)?f*(f?i)?f*(i?i)?i*(i?i) 语法树:/******************************** e

e+ t

e+tf tfi fi i

i+i+i

*****************/ p36-9

句子iiiei有两个语法树:

ss??isesis??iisesisei??iiseiiisei??iiiei iiiei

p36-10

/************** s?ts|tt?(s)|( ) ***************/ p36-11

/*************** l1:

s?aca?aab|ab c?cc|? l2:

s?aba?aa|? b?bbc|bc l3: e e+t t t*f f fi i i i-i-i e e -t e -tf tfi fi i

i+i*i

s?aba?aab|? b?abb|? l4:

s?a|ba?0a1|? b?1b0|a ***************/

第三章习题参考答案 p64–7 (1)

确定化: 最小化:

{0,1,2,3,4,5},{6}

{0,1,2,3,4,5}?{1,3,5} {0,1,2,3,4,5}?{1,2,4,6} 01

{0,1,2,3,4},{5},{6}{0,1,2,3,4}?{1,3,5} {0,1,2,3},{4},{5},{6}

{0,1,2,3}?{1,3} {0,1,2,3}?{1,2,4} 01

{0,1},{2,3}{4},{5},{6} {0,1}?{1} {0,1}?{1,2} 01

{2,3}?{3} {2,3}?{4} 01

{0},{1},{2,3},{4},{5},{6} p64 –8 (1)

(1|0)*01 (2)

(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(0|5)|(0|5) (3)

0*1(0|10*1)*|1*0(0|10*1)* p64–12 (a)

确定化:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务