编译原理复习题

一、简答题
1. 高级语言的编译在逻辑上划分为哪些阶段?并简述每个阶段的基本任务。

2. 什么是确定的有限自动机?给出其五元组的定义,并说明每个元组的含义。
3. 什么是非确定的有限自动机?给出其五元组的定义,并说明每个元组的含义。
4. 什么是文法?给出其四元组的定义,并说明每个元组的含义。
5. 什么是正则式?给出字母表达式的正则式的规则和对应正则式所描述的语言
4. 什么是文法的二义性?什么是文法的等价性?
5. 什么是综合属性?什么是继承属性?
二、文法题
1. 给定下面的文法G(s),S—>AB S—>ab | aAb B—>cd | cBd
(1)写出句子aabbccdd的最右推导。

(2)画出该推导对应的语法数。
三、词法分析题。
1. 将正则表达式 (ab)*aba*b* 转化为对应的NFA。

2. 将下面的NFA确定化为DFA,要求写出确定化过程。
3. 将下面的DFA化简,要求写出化简过程。
四、LL语法分析题。
1. 对下面的文法消除左递归和提取坐公共因子。
A —> aABe | a
B —> Bb | d
2. 判断下面的文法是否为LL(1)文法,要求写出判断过程。
A —> baB | Ƹ
B —> Abb | d

五、LR语法分析题。
S—> AA A—>aA A—>b
1. 画出上面文法的LR(1) DFA。

2. 构造上面文法的LR(1)分析表。
六、中间代码生成题。
1. 对于表达式 (a+b*(c-d))-a*b
(1)写出对应的逆波兰式。

(2)写出对应的三地址码。
(3)画出对应的抽象语法树。
2. 已知B.true、B.false,填写下面SDD缺少的部分,使之完整。
B—>B¹ or B²
B¹.true=B.true;
B¹.false=newlabel ( );
B².true=( );
B².false=( );
B—>B¹ and B²
B¹.true=newlabel( );
B¹.false=( );
B².true=( );
B².false=( );

合集下载

编译原理复习题答案

编译原理复习题答案

8
# Expr
id((id)) #
9
# ExprTail Var
id((id)) #
Expr →Var ExprTail
10 # ExprTail VarTail id
id((id)) #
Var→id VarTail
11 # ExprTail VarTail
((id)) #
12 # ExprTail )Expr(
(要求:先将正规式转化为 NFA,再将 NFA确定化,最小化) 答案: ( 一) 相应的正规式为 (a|b)*ab(a|b)* ( 二) ①与此正规式对应的 NFA为
②状态转换矩阵为:
③ 最小化:
{0 ,1,2} {3 ,4,5}
{0 , 2} ,1, {3 ,4, 5}
b
a
a
a
b
0
1
3
b
④所以此等价的 DFA为:开始状态为 0 ,终态集为 {3} ,状态集为 {0,1,3} ,
2、证明下面文法是 SLR(1)但不是 LR(0) 的。
S→ A
A→ Ab|bBa
B→ aAc|a|aAb
解:文法 G[S] : 0: S→A 1:A→Ab 2:A→bBa 3:B→aAc 4:B→a 5:B→aAb
构造 LR(0) 项目集规范族:
状态 项目集
转换函数
0
S→·A
GO[0,A] =1
答案:文法 G(S):S → AC A→ aaAbb/ab C→ ccCcc/cc
四、词法分析题
1、构造下面正规式相应的 DFA
*
**
((0|1) |(11) )
(要求:先将正规式转化为 NFA,再将 NFA确定化,最小化)

编译原理复习题

编译原理复习题

编译原理(一)一、是非题1、算符优先关系表不一定存在对应的优先函。

………………………………………()2、数组元素的地址计算与数组的存储方式有关。

……………………………()3、仅考虑一个基本块,不能确定一个赋值是否真是无用的。

…………………………()4、每个文法都能改写为LL(1)文法。

……………………………………………()5、对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。

………………()二、填空题1、从功能上说,程序语言的语句大体可分为()语句和()语句两大类。

2、扫描器的任务是从()中识别出一个个()。

3、所谓最右推导是指:()。

4、语法分析最常用的两类方法是()和()分析法。

5、一个上下文无关文法所含四个组成部分是()。

6、所谓语法制导翻译方法是()。

7、符号表中的信息栏中登记了每个名字的有关的性质,如()等等。

8、一个过程相应的DISPLA Y表的内容为()。

9、常用的两种动态存贮分配办法是()动态分配和()动态分配。

10、产生式是用于定义()的一种书写规则。

三、名词解释1、遍--2、无环路有向图(DAG)--3、语法分析--4、短语--5、后缀式--四、简述题1、考虑下面程序…………V ar a:integer;Procedure S(X);V ar X:integer;Begina:=a+1;X:=a+XEnd;Begina:=5;S(a);Print(a)End.试问:若参数传递方式分别采取传名和传值时,程序执行后输出a的值是什么?2、画出Pascal中实数(不带正负号,可带指数部分)的状态转换图。

3、写出表达式(a+b*c)/(a+b)-d的逆波兰表示及三元式序列。

4、已知文法G(S)S→a|∧|(T)T→T,S|S写出句子((a,a),a)的规范归约过程及每一步的句柄。

5、何谓优化?按所涉及的程序范围可分为哪几级优化?6、目标代码有哪几种形式?生成目标代码时通常应考虑哪几个问题?五、计算题1、写一个文法,使其语言是奇数集,且每个奇数不以0开头。

编译原理期末总结复习

编译原理期末总结复习

编译原理期末总结复习编译原理期末总结复习篇一:一、简答题1.什么是编译程序?答:编译程序是一种将高级语言程序(源程序)翻译成低级语言(目标程序)的程序。

将高级程序设计语言程序翻译成逻辑上等价的低级语言(汇编语言,机器语言)程序的翻译程序。

2.请写出文法的形式定义?答:一个文法G抽象地表示为四元组 G=(Vn,Vt,P,S)–其中Vn表示非终结符号– Vt表示终结符号,Vn∪Vt=V(字母表),Vn∩Vt=φ– S是开始符号,–P是产生式,形如:α→β(α∈V+且至少含有一个非终结符号,β∈V*)3.语法分析阶段的功能是什么?答:在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语(例:程序、语句、表达式)。

确定整个输入串是否构成语法上正确的程序。

4.局部优化有哪些常用的技术?答:优化技术1—删除公共子表达式优化技术2—复写传播优化技术3—删除无用代码优化技术4—对程序进行代数恒等变换(降低运算强度)优化技术5—代码外提优化技术6—强度削弱优化技术7—删除归纳变量优化技术简介——对程序进行代数恒等变换(代数简化)优化技术简介——对程序进行代数恒等变换(合并已知量)5.编译过程分哪几个阶段?答:逻辑上分五个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成。

每个阶段把源程序从一种表示变换成另一种表示。

6. 什么是文法?答:文法是描述语言的语法结构的形式规则。

是一种工具,它可用于严格定义句子的结构;用有穷的规则刻划无穷的集合;文法是被用来精确而无歧义地描述语言的句子的构成方式;文法描述语言的时候不考虑语言的含义。

7. 语义分析阶段的功能是什么?答:对语法分析所识别出的各类语法范畴分析其含义,进行初步的翻译(翻译成中间代码);并对静态语义进行审查。

8.代码优化须遵循哪些原则?答:等价原则:不改变运行结果有效原则:优化后时间更短,占用空间更少合算原则:应用较低的代价取得较好的优化效果9.词法分析阶段的功能是什么?答:逐个读入源程序字符并按照构词规则切分成一系列单词任务:读入源程序,输出单词符号—滤掉空格,跳过注释、换行符—追踪换行标志,指出源程序出错的行列位置—宏展开,……10.什么是符号表?答:符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。

编译原理复习题-ans

编译原理复习题-ans

新建试卷20181220104955一、单选题(共65题,65分)1、语言是A、句子的集合B、产生式的集合C、符号串的集合D、句型的集合2、编译程序前三个阶段完成的工作是A、词法分析、语法分析和代码优化B、代码生成、代码优化和词法分析C、词法分析、语法分析、语义分析和中间代码生成D、词法分析、语法分析和代码优化3、一个句型中称为句柄的是该句型的最左A、非终结符号B、短语C、句子D、直接短语4、下推自动机识别的语言是A、 0型语言B、 1型语言C、 2型语言D、 3型语言5、扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A、字符B、单词C、句子D、句型6、词法分析的任务是B、分析句子的含义C、识别句子D、生成目标代码7、常用的中间代码形式不含A、三元式B、四元式C、逆波兰式D、语法树8、代码优化的目的是A、节省时间B、节省空间C、节省时间和空间D、把编译程序进行等价交换9、代码生成阶段的主要任务是A、把高级语言翻译成汇编语言B、把高级语言翻译成机器语言C、把中间代码变换成依赖具体机器的目标代码D、把汇编语言翻译成机器语言10、将编译程序分成若干个“遍”是为了( )A、 . 提高程序的执行效率B、使程序的结构更加清晰C、利用有限的机器内存并提高机器的执行效率D、利用有限的机器内存但降低了机器的执行效率11、11.正规式MI 和M等价是指()。

A、 . MI 和M2 的状态数相等B、 Ml 和M2 的有向弧条数相等。

C、 .M1 和M2 所识别的语言集相等D、 Ml 和M2 状态数和有向弧条数相等12、中间代码生成时所依据的是()。

A、语法规则C、语义规则D、等价变换规则13、后缀式ab+cd+/可用表达式()来表示。

A、 a+b/c+dB、 (a+b)/(c+d)C、 a+b/(c+d)D、 a+b+c/d14、一个编译程序中,不仅包含词法分析,(),中间代码生成,代码优化,目标代码生成等五个部分。

编译原理期末考试复习题

编译原理期末考试复习题
6.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。(Y )
7.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。(N )
8.算符优先关系表不一定存在对应的优先函数。( N)
9.数组元素的地址计算与数组的存储方式有关。(N )
10.编译程序与具体的机器有关,与具体的语言无关。(N )
SELECT(F'->*F')={*};
SELECT(F'->ε)=FOLLOW(F')={(,a,b,^,+,),#};
SELECT(P->(E))={(}
SELECT(P->a)={a}
SELECT(P->b)={b}
SELECT(P->^)={^}
可见,相同左部产生式的SELECT集的交集均为空,所以文法G[E]是LL(1)文法。
A.候选式B.句型C.单词D.产生式
5.文法G[E]:
E→T∣E+T
T→F∣T﹡F
F→a∣(E)
该文法句型E+F﹡(E+T)的简单短语是下列符号串中的_____。
①(E+T)②E+T③F④F﹡(E+T)
A.①和③B.②和③C.③和④D.③
6.若一个文法是递归的,则它所产生的语言的句子_____。
A.( )是无穷多个B.( )是有穷多个
参考答案:
解:根据题意有NFA图:
下表由子集法将NFA转换为DFA:
下面将该DFA最小化:
(1)首先将它的状态集分成两个子集:P1={A,D,E},P2={B,C,F}
(2)区分P2:由于F(F,1)=F(C,1)=E,F(F,0)=F并且F(C,0)=C,所以F,C等价。由于F(B,0)=F(C,0)=C, F(B,1)=D,F(C,1)=E,而D,E不等价(见下步),从而B与C,F可以区分。有P21={C,F},P22={B}。

编译原理期末复习题

编译原理期末复习题

3.2是非判断,对下面的陈述,正确的在陈述后的括号内写T,否则写F。

(1)有穷自动机接受的语言是正则语言。

()(2)若r1和r2是Σ上的正规式,则r1|r2也是。

()(3)设M是一个NFA,并且L(M)={x,y,z},则M的状态数至少为4个。

()(4)令Σ={a,b},则Σ上所有以b为首的字构成的正规集的正规式为b*(a|b)*。

()(5)对任何一个NFA M,都存在一个DFA M',使得L(M')=L(M)。

()(6)对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。

()答案(1) T (2) T (3) F(4) F (5) T (6) T3.3描述下列各正规表达式所表示的语言。

(1) 0(0|1)*0(2) ((ε|0)1*)*(3) (0|1)*0(0|1)(0|1)(4) 0*10*10*10*(5) (00|11)*((01|10)(00|11)*(01|10)(00|11)*)*答案(1) 以0开头并且以0结尾的,由0和1组成的符号串。

(2) {α|α∈{0,1}*}(3) 由0和1组成的符号串,且从右边开始数第3位为0。

(4) 含3个1的由0和1组成的符号串。

{α|α∈{0,1}+,且α中含有3个1 }(5) {α|α∈{0,1}*,α中0和1为偶数}3.4对于下列语言分别写出它们的正规表达式。

(1) 英文字母组成的所有符号串,要求符号串中顺序包含五个元音。

(2) 英文字母组成的所有符号串,要求符号串中的字母依照词典顺序排列。

(3) Σ={0,1}上的含偶数个1的所有串。

(4) Σ={0,1}上的含奇数个1的所有串。

(5) 具有偶数个0和奇数个1的有0和1组成的符号串的全体。

(6) 不包含子串011的由0和1组成的符号串的全体。

(7) 由0和1组成的符号串,把它看成二进制数,能被3整除的符号串的全体。

答案(1) 令Letter表示除这五个元音外的其它字母。

编译原理复习题2

编译原理复习题21、(10分)下面的文法G[S]是否是LL(1)文法,说明理由,构造LL(1)分析表S→aBc|bABA→aAb|BbB→cB|2、(5分)消除下列文法的左递归,消除左递归后判断是否是LL(1)文法。

S→SaB|bBA→S|aB→Ac3、(5分)构造下面算符文法的优先矩阵,判断是否是算符优先文法S→A[]A→[A→aAA→B]B→a4、(10分)将表达式A+B某(C-D)-E/F↑G分别表示为三元式、四元式、逆波兰式序列5、(10分)现有文法如下:S→aS|bS|a判断该文法是哪一类LR文法,说明理由,并构造相应的分析表。

1、已知文法GA::=aABe|aB::=Bb|d(1)给出与上述文法等价的LL(1)文法G’。

(2)构造预测分析表并给出输入串aade#分析过程。

(10分)2、设已给文法G:E::=E+TE::=TT::=T某FT::=FF::=P↑FF::=PP::=(E)P::=i构造此文法的算符优先矩阵。

(10分)某某某某3、有正规式babb(abb)(1)构造该正规式所对应的NFA(画出状态转换图)。

(2)将所求的NFA确定化。

(画出确定化的状态转换图)。

(3)将所求的NFA最小化。

(画出最小化后的状态转换图)。

(10分)4、若有文法G(S)的产生式如下:S::=L=RS::=RL::=某RL::=iR::=L,构造识别所有项目集规范族的DFA。

(15分)(1)判断该文法是否是LR(0)文法,说明理由。

(2)判断该文法是否是SLR(1)文法,说明理由。

(3)判断该文法是否是LR(1)文法,说明理由。

(4)判断该文法是否是LALR(1)文法,说明理由1、(10分)将表达式((B某D+A)/E+D)某F+G分别表示为三元式、四元式、逆波兰式序列2、(10分)对基本块P画出DAG图B:=3D:=A+CE::=A某CF:=E+DG:=B某FH:=A+CI:=A某CJ:=H+IK:=B某5L:=K+JM:=L假定只有L在基本块出口之后活跃,写出优化后的四元式序列。

编译原理课后复习题答案(陈火旺+第三版)

第二章P36-6(1)L G ()1是0~9组成的数字串(2)最左推导:N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒0010120127334556568最右推导:N ND N ND N ND N D N ND N D N ND N ND N D ⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒77272712712701274434886868568P36-7G(S)O N O D N S O AO A AD N→→→→→1357924680|||||||||||P36-8文法:E T E T E T TF T F T F F E i→+-→→|||*|/()| 最左推导:E E T T TF T i T i T F i F F i i F i i i E 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 TF E T i E F i E i i T i i F i i i i i E 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 ⇒+⇒+⇒+⇒+⇒+⇒+⇒+⇒+⇒⇒⇒⇒⇒+⇒+⇒+⇒+⇒+⇒+⇒+**********()*()*()*()*()*()*()*()语法树:/********************************EE FTE +T F F T +iiiEEFTE-T F F T -iiiEEFT+T F FTiii*i+i+ii-i-ii+i*i*****************/P36-9句子iiiei 有两个语法树:S iSeS iSei iiSei iiiei S iS iiSeS iiSei iiiei ⇒⇒⇒⇒⇒⇒⇒⇒P36-10/**************)(|)(|S T TTS S →→***************/P36-11/*************** L1:ε||cC C ab aAb A AC S →→→ L2:bcbBc B aA A AB S ||→→→εL3:εε||aBb B aAb A AB S →→→ L4:AB B A A B A S |01|10|→→→ε ***************/第三章习题参考答案P64–7(1)确定化:最小化:{,,,,,},{}{,,,,,}{,,}{,,,,,}{,,,}{,,,,},{},{}{,,,,}{,,}{,,,},{},{},{}{,,,}{,012345601234513501234512460123456012341350123456012310100==== 3012312401234560110112233234012345610101}{,,,}{,,}{,},{,}{},{},{}{,}{}{,}{,}{,}{}{,}{}{},{},{,},{},{},{}=====P64–8(1)01)0|1(*(2))5|0(|)5|0()9|8|7|6|5|4|3|2|1|0)(9|8|7|6|5|4|3|2|1(*(3)******)110|0(01|)110|0(10P64–12(a)确定化:给状态编号:最小化:{,},{,}{,}{}{,}{}{,}{,}{,}{}{,},{},{}012301101223032330123a ba b ====(b)已经确定化了,进行最小化最小化:{{,}, {,,,}}012345011012423451305234523452410243535353524012435011012424{,}{}{,}{,}{,,,}{,,,}{,,,}{,,,}{,}{,}{,}{,}{,}{,}{,}{,}{{,},{,},{,}}{,}{}{,}{,}{,}a b a b a b a b a b a =============={,}{,}{,}{,}{,}{,}{,}10243535353524 b a baP64–14(2):给状态编号:最小化:{,},{,}{,}{}{,}{}{,}{,}{,}{}{,},{},{}0123011012231323301230101====第四章P81–1(1) 按照T,S 的顺序消除左递归ε|,)(||^)(T S T TS T T a S S G '→''→→' 递归子程序: procedure S; beginif sym='a' or sym='^' then abvance else if sym='('then beginadvance;T;if sym=')' then advance;else error;endelse errorend;procedure T;beginS;'Tend;procedure 'T;beginif sym=','then beginadvance;S;'Tendend;其中:sym:是输入串指针IP所指的符号advance:是把IP调至下一个输入符号error:是出错诊察程序(2)FIRST(S)={a,^,(}FIRST(T)={a,^,(}FIRST('T)={,,ε}FOLLOW(S)={),,,#}FOLLOW(T)={)}FOLLOW('T)={)}预测分析表是LL(1)文法P81–2文法:|^||)(|*||b a E P F F F P F T T T F T E E E T E →'→''→→''→+→''→εεε(1)FIRST(E)={(,a,b,^} FIRST(E')={+,ε} FIRST(T)={(,a,b,^} FIRST(T')={(,a,b,^,ε} FIRST(F)={(,a,b,^} FIRST(F')={*,ε} FIRST(P)={(,a,b,^} FOLLOW(E)={#,)} FOLLOW(E')={#,)} FOLLOW(T)={+,),#} FOLLOW(T')={+,),#}FOLLOW(F)={(,a,b,^,+,),#} FOLLOW(F')={(,a,b,^,+,),#} FOLLOW(P)={*,(,a,b,^,+,),#} (2)考虑下列产生式:'→+'→'→'→E E T T F F P E a b ||*|()|^||εεεFIRST(+E)∩FIRST(ε)={+}∩{ε}=φ FIRST(+E)∩FOLLOW(E')={+}∩{#,)}=φ FIRST(T)∩FIRST(ε)={(,a,b,^}∩{ε}=φ FIRST(T)∩FOLLOW(T')={(,a,b,^}∩{+,),#}=φ FIRST(*F')∩FIRST(ε)={*}∩{ε}=φFIRST(*F')∩FOLLOW(F')={*}∩{(,a,b,^,+,),#}=φ FIRST((E))∩FIRST(a) ∩FIRST(b) ∩FIRST(^)=φ 所以,该文法式LL(1)文法.(4)procedure E;beginif sym='(' or sym='a' or sym='b' or sym='^' then begin T; E' endelse errorendprocedure E';beginif sym='+'then begin advance; E endelse if sym<>')' and sym<>'#' then error endprocedure T;beginif sym='(' or sym='a' or sym='b' or sym='^' then begin F; T' endelse errorendprocedure T';beginif sym='(' or sym='a' or sym='b' or sym='^' then Telse if sym='*' then errorendprocedure F;beginif sym='(' or sym='a' or sym='b' or sym='^' then begin P; F' endelse errorendprocedure F';beginif sym='*'then begin advance; F' endendprocedure P;beginif sym='a' or sym='b' or sym='^'then advanceelse if sym='(' thenbeginadvance; E;if sym=')' then advance else error endelse errorend;P81–3/***************(1) 是,满足三个条件。

编译原理期末复习题+答案-北华航天工业学院

一、单项选择题概述部分1.构造编译程序应掌握 。

DA. 源程序B. 目标语言C. 编译方法D. 以上三项都是2.编译程序绝大多数时间花在 上。

DA. 出错处理B. 词法分析C. 目标代码生成D. 表格管理3.编译程序是对 。

DA. 汇编程序的翻译B. 高级语言程序的解释执行C. 机器语言的执行D. 高级语言的翻译4. 将编译程序分成若干“遍”,是为了 。

BA. 提高程序的执行效率B. 使程序的结构更为清晰C 利用有限的机器内存并提高机器的执行效率D. 利用有限的机器内存但降低了机器的执行效率词法分析部分1.DFA M(见图1-1)接受的字集为 。

DA. 以0开头的二进制数组成的集合B. 以0结尾的二进制数组成的集合C. 含奇数个0的二进制数组成的集合D. 含偶数个0的二进制数组成的集合 2.词法分析器的输出结果是 。

C A. 单词的种别编码 B. 单词在符号表中的位置C. 单词的种别编码和自身值D. 单词自身值3.正规式M1和M2等价是指 。

CA. M1和M2的状态数相等B. M1和M2的有向边条数相等C. M1和M2所识别的语言集相等D. M1和M2状态数和有向边条数相等4.词法分析器的加工对象是 。

CA .中间代码B .单词C .源程序D .元程序5.同正规式(a|b )*等价的正规式为 。

DA .(a|b)+B .a*|b*C .(ab)*D .(a*|b*)+6. 两个DFA 等价是指: 。

DA. 这两个DFA 的状态数相同B. 这两个DFA 的状态数和有向弧条数都相等C. 这两个DFA 的有向弧条数相等D. 这两个DFA 接受的语言相同7. 下列符号串不可以由符号集S ={a,b}上的正闭包运算产生的是:(A )A. εB. aC. aaD. ab8.称有限自动机A1和A2等价是指________。

DA .A1和A2都是定义在一个字母表上的有限自动机B .A1和A2状态数和有向边数相等C .A1和A2状态数或有向边数相等图1-11D.A1和A2所能识别的字符串集合相等9.同正规式(a|b)+等价的正规式是_______。

编译原理期末总复习题(含答案)

第八节习题一、单项选择题1、将编译程序分成若干个“遍”是为了 b 。

a.提高程序的执行效率b.使程序的结构更加清晰c.利用有限的机器存并提高机器的执行效率d.利用有限的机器存但降低了机器的执行效率2、构造编译程序应掌握 d 。

a.源程序b.目标语言c.编译方法d.以上三项都是3、变量应当 c 。

a.持有左值b.持有右值c.既持有左值又持有右值d.既不持有左值也不持有右值4、编译程序绝大多数时间花在 b 上。

a.出错处理b.词法分析c.目标代码生成d.管理表格5、 d 不可能是目标代码。

a.汇编指令代码b.可重定位指令代码c.绝对指令代码d.中间代码6、使用 a 可以定义一个程序的意义。

a.语义规则b.词法规则c.产生规则d.词法规则7、词法分析器的输入是 a 。

a.单词符号串b.源程序c.语法单位d.目标程序8、中间代码生成时所遵循的是- d 。

a.语法规则b.词法规则c.语义规则d.等价变换规则9、编译程序是对 d 。

a.汇编程序的翻译b.高级语言程序的解释执行c.机器语言的执行d.高级语言的翻译10、语法分析应遵循 b 。

a.语义规则b.语法规则c.构词规则d.等价变换规则解答1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。

2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。

3、对编译而言,变量既持有左值又持有右值,故选c。

4、编译程序打交道最多的就是各种表格,因此选d。

5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。

6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义。

因此选a。

7、b 8、c 9、d 10、c二、多项选择题1、编译程序各阶段的工作都涉及到bc 。

a.语法分析b.表格管理c.出错处理d.语义分析e.词法分析2、编译程序工作时,通常有abce 阶段。

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