编译原理简答Word文档下载推荐.docx
- 文档编号:15107134
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:16
- 大小:71.42KB
编译原理简答Word文档下载推荐.docx
《编译原理简答Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《编译原理简答Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
a、(SdG)、SdG、G、a
简单(直接)短语:
G、a
句柄:
G
最左素短语:
SdG
4、目标代码有哪几种形式?
生成目标代码时通常应考虑哪几个问题?
三种形式:
可立刻执行的机器语言代码;
汇编语言程序;
待装配的机器语言代码模块
考虑的问题包括:
每一个语法成分的语义;
目标代码中需要哪些信息,怎样截取这些信息。
5、符号表的作用是什么?
符号表的查找的整理技术有哪几种?
作用:
登记源程序中出现的各种名字及其信息,以及编译各阶段的进展状况。
主要技术:
线性表,对折查找与二叉树,杂凑技术。
1、实现高级语言程序的途径有哪几种?
它们之间的区别?
计算机执行用于高级语言编写的程序主要有两种途径:
解释和编译。
在解释方式下,翻译程序并不对高级语言进行彻底的翻译,而是读入一条语句,就解释其含义并执行,然后再读入下一条语句,再执行。
在编译方式下,翻译程序先对高级语言进行彻底的翻译并生成目标代码,然后再对目标代码进行优化,即对源程序的处理是先翻译后执行。
从速度上看,编译方式下,源程序的执行比解释方式下快,但在解释方式下,有利于程序的调试。
2、文法G[S]为:
S->
Ac|aB
A->
ab
B->
bc
该文法是否为二义的?
为什么?
对于串abc
(1)S=>
Ac=>
abc
(2)S=>
aB=>
即存在两不同的最右推导
所以,该文法是二义的。
3、将文法G[S]改写为等价的G'
[S],使G'
[S]不含左递归和左公共因子。
G[S]:
S→SAe|Ae
A→dAbA|dA|d
文法G[S]改写为等价的不含左递归和左公共因子的G'
[S]为:
S→AeS'
S'
→AeS'
|ε
A→dA'
A'
→AB|ε
B→bA|ε
4、证明LL
(1)文法是无二义性文法
证明:
LL
(1)文法中任意两个产生式Pi,Pj,(Pi,Pj具有相同的左部非终极符)
Predict(Pi)∩Predict(Pj)为空
设Pi:
A→α1α2…αn
Pj:
A→α11α21…αm1
(A∈VN,α1α2…αn,α11α21…αm1∈VN∪VT)
因为Predict(Pi)∩Predict(Pj)为空,因此Pi,Pj中的A经一步推导,
最左的终极符肯定不同,因此,对于一个字符串,不可能有两种方法推导。
5、文法G[S]为:
写出L(G[S])的全部元素
S=>
或S=>
所以L(G[S])={abc}
1、解释什么是推导?
我们称αAβ直接推出αγβ,即αAβTαγβ,仅当A→γ是一个产生式,且α、β∈(VN∪VT)*。
如果α1α2…αn,则我们称这个序列是从α1至α2的一个推导。
若存在一个从α1αn的推导,则称α1可推导出αn。
推导是归约的逆过程。
2、将文法G[S]改写为等价的G′[S],使G′[S]不含左递归和左公共因子。
S→bSAe|bA
A→Ab|d
S→bB
B→SAe|A
A→dA'
→bA'
|ε
3、写出Pascal或C语言的字母表。
pascal语言的字母表是:
{0,1,……,9}∪{a,……,z}∪{A,……,Z}∪{+,-,*,/,\,↑,?
,?
,_,(,),[,],;
,:
,=,<
,>
,'
,"
,Enter,Space,Tab}
C语言的字母表是:
_,0……9,a……z,A……Z,+,-,*,/,\,%,(,),[,],.,&
|,!
=,#,{,},’,”,?
:
,<
,Enter,Space,Tab
4、有文法G[Z]:
Z→aZbZ|aZ|a
该文法是否是二义的,试证明之。
对于句子aaaba,画出二棵不同的语法树,因而是二义的。
5、LL
(1)分析法对文法有哪些要求?
LL
(1)分析法对文法的要求是:
对于G的每个非终结符A的任何两个不同产生式A->
α|β,有下述条件成立:
First(α)∩First(β)=Ф
若β=*>
ε,则First(α)Follow(A)=Ф
1、解释编译程序中“遍”的概念,何谓“单遍扫描”?
遍指编译程序对源程序或中间代码程序从头到尾扫描一次
对于源程序或中间代码程序,从头到尾扫描一次并完成所规定的工作称为一遍。
单遍扫描是编译程序的一种极端情形。
在这种情形下,整个编译程序同时驻留在内存中,编译程序的各部门之间采用“调用转接”方式连接在一起。
2、设有文法G[S]为:
S→a|b|(A)
A→SdA|S
给出句型(SdSdS)的短语、简单短语、句柄、素短语和最左素短语。
S,SdS,SdSdS,(SdSdS)
简单短语(即直接短语):
S
句柄(即最左直接短语):
素短语:
SdS,它同时也是该句型的最左素短语。
图5-7-3 句型(SdSdS)的语法树
3、写出表达式A+B*(C-D)+E/(C-D)*N的逆波兰表示及三元式序列。
(1)(_,C,D)
(2)(*,B,
(1))
(3)(+,A,
(2))
(4)(_,C,D)
(5)(/,E,(4))
(6)(*,N,(5))
(7)(+,(3),(6))
4、画出编译程序的总体结构图。
编译程序的总框图见下图。
5、给出0,1,2,3型文法的定义。
乔姆斯基(chomsky)把文法分成类型,即0型,1型,2型和3型,0型强于1型,1型强于2型,2型强于3型。
如果它的每个产生式α->
β的结构是α∈(VnUVt)*且至少含有一个非终结符,而β∈(VnUVt)*,我们说G=(Vt,VN,S,δ)是一个0型文法。
0型文法也称短语文法。
一个非常重要的理论结果是,0型文法的能力相当于图灵(Tunring)机。
或者说,任何0型语言都是递归可枚举的;
反之,递归可枚举集必定是一个0型语言。
如果把0型文法分别加上以下的第i条限制,则我们就得i型文法为:
1.G的任何产生式α->
β均满足|α|<
=|β|;
仅仅S->
ε例外,但S不得出现在任何产生式的右部。
2.G的任何产生式为A->
β,A∈Vn,β∈(VnUVt)*
3.G的任何产生式为A->
aB或A->
a,其中A,B∈Vn
1型文法也称上下文有关文法。
这种文法意味着,对非终结符进行替换时务必考虑上下文,而且,—般不允许替换成空串。
2型文法对非终结符进行替换时无须考虑上下文,
3型文法也称线性文法。
1、什么是规范推导?
每个句型都有规范推导吗?
规范推导就是最右推导
每一个句子都有一个规范推导,而每一个句型则不一定都有规范推导,比如说采用非规范推导得到的句型。
2、已知文法G[E]:
E→ET+|TT→TF*|FF→F^|a
试证:
FF^^*是文法的句型,指出该句型的短语、简单短语和句柄。
该句型对应的语法树如下:
该句型相对于E的短语有FF^^*;
相对于T的短语有FF^^*,F;
相对于F的短语有F^;
F^^;
简单短语有F;
F^;
句柄为F.
3、写出表达式w+(a+b)*(c+d/(e-10)+8)的逆波兰表示及三元式序列。
(1)(+,a,b)
(2)(-,e,10)
(3)(/,d,
(2))
(4)(+,c,(3))
(5)(+,(4),8)
(6)(*,
(1),(5))
(7)(+,w,(6))
4、何谓优化?
按所涉及的程序范围可分为哪几级优化?
所谓优化,一般是指为提高目标程序的质量而进行的各项工作,即对程序或中间代码进行各种等价变换,使得从变换后的程序出发,能生成更有效的目标代码。
在源程序级在语义动作的设计上在中间代码级在目标代码级
5、简述自顶向下分析法。
从识别符号出发,不断建立直接推导,试图构造一个推导序列,最终由它推导出与输入符号串相同的符号串。
从语法树角度看,自顶向下分析过程是以识别符号为根结点,试图向下构造一棵语法树,使其末端结点符号串正好与输入符号串相同。
1、计算机执行用高级语言编写的程序有那些途径?
它们之间的主要区别是什么?
2、编译程序的实现途径有那些?
编译程序的实现途径可有:
-手工构造:
用机器语言、汇编语言或高级程序设计语言书写。
-自动构造工具:
Lex,Yacc。
Lex,Yacc分别是词法和语法分析器的生成器。
-移植方式:
目标程序用中间语言
-自展方式:
用T型图表示
3、文法G[E]为:
E→E+T|T
T→T*F|F
F→(E)|i
试给出句型(E+F)*i的短语,简单(直接)短语,句柄和最左素短语。
短语有:
(E+F)*i,(E+F),E+F,F,i
简单(直接)短语有:
F,i
句柄是:
F
最左素短语是:
E+F
4、有人认为:
“1型文法对规则的限制比2型文法对规则的限制要多一些”,这种说法对吗?
文法是严格按照规则的形式来分类的
1型文法的规则是:
xUy->
xuyu∈Vnu∈V+x,y∈V*
要求将U替换为u时,U的前后一定要有x和y。
而2型文法的规则形式为
U->
uu∈Vnu∈V*
没有什么要求,似乎1型的规则限制要多一些。
但仔细看看1型规则中的条件x和y时,就不难发现当x和y为空时,正好是2型文法。
从0型文法到3型文法,是依次增加对文法的限制,所以描述的语言集合越来越小。
5、简述自底向上分析法。
基本思想是:
从待输入的符号串开始,利用文法的规则步步向上归约,试图归约到文法的识别符号。
从语法树的角度看,自底向上分析的过程是以输入符号串作为末端结点符号串,向着根结点方向往上构造语法树,使识别符号正好是该语法树的根结点。
如果最终根结点是识别符号,则输入符号串被识别是相应语言的一个句子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理