西电软院编译原理试题Word文档下载推荐.docx
- 文档编号:22355806
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:9
- 大小:304.36KB
西电软院编译原理试题Word文档下载推荐.docx
《西电软院编译原理试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西电软院编译原理试题Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
1.3有两个因素使得有限自动机是不确定的,一个是具有ε状态转移,另一个是对同一字符,可能有多于一个的下一状态转移。
1.4词法分析器有四个作用,请给出其中的任意两个:
识别记号并交给语法分析器/滤掉源程序中的无用成分/处理与具体平台有关的输入/调用符号表管理器或出错管理器。
1.5一个定义正确的上下文无关文法,非终结符集合和终结符集合的交集为空,所有出现在产生式左部的文法符号均是非终结符,仅出现在产生式右部的文法符号均是终结符。
1.6编译源程序的过程中,发现函数定义末尾缺少花括号,该情况是语法错误;
发现除数为0,该情况是语义错误。
1.7推导S=>
?
H=>
FTP=>
FTc=>
Fbc=>
abc是最右/规范推导。
1.8产生式F→A*F|A提取左因子的结果为F->
AF'
F'
->
*F|ε。
1.9对于算术表达式“a*b+c”,当采用预测分析方法时,接受格局中的“当前剩余输入”应该为空,初始格局中的“当前剩余输入”应该是a*b+c。
1.10最左归约是最右推导/规范推导的逆过程,每步直接归约均是用产生式左部非终结符替换右句型中的句柄,直到归约为文法开始符号。
1.11在引用调用的参数传递方式中,调用时传递的是实参的地址,要求实参必须是左值,过程内部对形参的修改等价于对实参的修改。
1.12假定运算+与*都是左结合的,且运算*比运算+优先级高,则算术表达式x+y*(u+v)的后缀式是xyuv+*+。
1.13拉链-回填技术是语法制导翻译过程中使用的一种基本技术,其基本思想是当三地址码中的转向不确定时将所有转向同一地址的三地址码拉成一个链,而一旦所转向的地址被确定,则为此链上所有的三地址码回填入此地址。
2、简答题(20分)
2.1简述语言的语法和语义,并举一个实际的例子加以说明。
答:
语法规定了句子形成的规则,表述了语言的形式,或者说语言的样子和结构,也被称为语法规则。
根据语法规则可以识别记号流中的语言结构,也被称为语法分析。
语义揭示了语言本身的含义、施加于语言结构上的限制或要执行的动作。
例如“猫吃老鼠”和“老鼠吃猫”都是语法正确的句子,但后者表述的语义不对。
(自己组织语言即可)
2.2如果一个集合中的元素都是长度不小于1且均不以ab开始的a、b串,请给出描述该集合的正规式。
a|(aa|b)(a|b)*
2.3语法分析器在编译器中应完成什么任务?
语法分析器根据语法规则识别出记号流中的结构,并构造一棵能够正确反映该结构的语法树。
检查输入中的错误,调用出错管理器进行适当处理。
2.4给定文法G:
C→ChT|TT→TaF|FF→v请给出该文法的终结符集合、非终结符集合,并指出文法的开始符号。
终结符:
h、a、v非终结符:
C、T、F开始符号:
C
2.5给出下图中的树对应的三地址码序列。
解:
2.6假设数组下标从0开始,对于有5行6列的数组a[5][6],已知该数组
的存储空间首地址为a,每个元素占用存储空间大小为w,请给出数组以行为
主存放时元素a[2][3]的地址。
a+(2*6+3)*w=15w+a
3、计算题(50分)
3.1给定正规式R=a(a|b)*
<
1>
用Thompson算法构造识别L(R)的NFAN;
2>
用“子集法”把N确定化(写出完整过程),得到识别L(R)的DFAD;
3>
如果D不是最简DFA,请找出最简DFAD’。
笔误:
红线一端从1开始。
E_闭包({0})={0}A
E_闭包(smove(A,a))={1,2,3,5,8}B
E_闭包(smove(B,a))={2,3,4,5,7,8}C
E_闭包(smove(B,b))={2,3,5,6,7,8}D
E_闭包(smove(C,a))={2,3,4,5,7,8}CE_闭包(smove(C,b))={2,3,5,6,7,8}DE_闭包(smove(D,a))={2,3,4,5,7,8}C
E_闭包(smove(D,b))={2,3,5,6,7,8}D
a
b
A
B
-
C
D
DFA:
Move(C,a)=CMove(C,b)=DMove(D,a)=CMove(D,b)=D
B、C、D不可分。
合并为一。
DFAA’:
3.2给定文法G:
B→B&
C|C
C→E<
E|EE→~E|n和右句型“B&
n<
~n”。
画出该句型对应的分析树;
<
指出句型中的所有短语、直接短语和句柄。
短语:
B&
~n(B1)、n<
~n(C)、~n(E2)、n(E1)、n(E3)直接短语:
n(E1)、n(E3)句柄:
n(E1)
3.3给定文法G的拓广文法如下:
S’→S
S→E$
E→id
E→id(E)
E→E+id
构造识别G所有活前缀的DFA;
G是SLR
(1)文法吗?
为什么?
G是LL
(1)文法吗?
若不是,请改写为等价的LL
(1)文法。
I3中存在移进规约冲突。
FOLLOW(E)Π(=Ø
则冲突可解决。
因此,是SLR
(1)文法。
不是因为存在左递归和左因子。
E→E+id|id|id(E)消除左递归:
E→idE’|id(E)E’E’=+idE’|ε消除左因子:
E→idFF→E’|(E)E’
3.4给定上下文无关文法和语义规则如下:
S→aS1a{S.count:
=S1.count+2;
}
|bS1b{S.count:
|C{S.count:
=C.count;
C→cC1{C.count:
=C1.count+1;
|c{C.count:
=1;
画出输入序列aabbccbbaa的分析树;
根据语义规则标注分析树上对应文法符号的.count值;
注:
.c就是.count,此处为简略表示。
如上图示。
3.5忽略过程参数的快排序的部分Pascal声明代码如下:
programsort;
vara:
array[10]ofinteger;
x:
integer;
procedurequicksort;
vari,v:
functionpartition:
vari,j:
给出上述代码中三个过程(sort、quicksort及partition)的嵌套层次;
给出上述定义对应的嵌套层次的符号表及每个符号表中的符号(假设每个整型数占用4个单元)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西电软院 编译 原理 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)