最新编译原理期末试题及答案.docx
- 文档编号:26217061
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:24
- 大小:225.14KB
最新编译原理期末试题及答案.docx
《最新编译原理期末试题及答案.docx》由会员分享,可在线阅读,更多相关《最新编译原理期末试题及答案.docx(24页珍藏版)》请在冰豆网上搜索。
最新编译原理期末试题及答案
这里有营业员们向顾客们示范着制作各种风格炯异的饰品,许多顾客也是学得不亦乐乎。
据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。
可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。
而这也许正是自己制造所能带来最大的快乐吧。
“碧芝”隶属于加拿大的beadworks公司。
这家公司原先从事首饰加工业,自助首饰的风行也自西方,随着人工饰品的欣欣向荣,自制饰品越来越受到了人们的认同。
1996年'碧芝自制饰品店'在迪美购物中心开张,这里地理位置十分优越,交通四八达,由于是市中心,汇集了来自各地的游客和时尚人群,不用担心客流量问题。
迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼拾阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进看一下。
(4)创新能力薄弱
朋友推荐□宣传广告□逛街时发现的□上网□
2003年,上海市人均GDP按户籍人口计算就达到46700元,是1995年的2.5倍;居民家庭人均月可支配收入为14867元,是1995年的2.1倍。
收入不断增加的同时,居民的消费支出也在增加。
2003年上海居民人均消费支出为11040元,其中服务性消费支出为3369元,是1995年的3.6倍。
(二)对“碧芝”自制饰品店的分析
beadorks公司成功地创造了这样一种气氛:
商店和顾客不再是单纯的买卖关系,营业员只是起着参谋的作用,顾客成为商品或者说是作品的作参与者,营业员和顾客互相交流切磋,成为一个共同的创作体
(五)DIY手工艺品的“价格弹性化”
四、影响的宏观环境分析
朋友推荐□宣传广告□逛街时发现的□上网□1、试为表达式w+(a+b)*(c+d/(e-10)+8)写出相应的逆波兰表示。
2、写出表达式a+b*(c-d)/e的逆波兰式和三元序列。
3、写出表达式a:
=(b+c)*e+(b+c)/f的逆波兰式和三元序列。
4、已知文法G(S)及相应翻译方案
S→aAb{print“1”}
S→a{print“2”}
A→AS{print“3”}
A→c{print“4”}
输入acab,输出是什么?
5、已知文法G(S)
S→bAa
A→(B|a
B→Aa)
写出句子b(aa)b的规范归约过程。
6、已知文法G[S]
S→S*aF|aF|*aF
F→+aF|+a
消除文法左递归。
1、设文法G(S):
S→^|a|(T)
T→T,S|S
⑴消除左递归;
⑵构造相应的FIRST和FOLLOW集合;
⑶构造预测分析表
2.语句ifEthenS
(1)改写文法,使之适合语法制导翻译;
(2)写出改写后产生式的语义动作。
4.设某语言的for语句的形式为
fori:
=E
(1)toE
(2)doS
其语义解释为
i:
=E
(1)
LIMIT:
=E
(2)
again:
ifi<=LIMITthen
Begin
S;
i:
=i+1
gotoagain
End;
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。
7.已知文法G(S)
S→a|^|(T)
T→T,S|S
(1)给出句子(a,(a,a))的最左推导;
(2)给出句型((T,S),a)的短语,直接短语,句柄。
8.对于C语言doSwhileE语句
(1)改写文法,使之适合语法制导翻译;
(2)写出改写后产生式的语义动作。
9.已知文法G(S)
S→aAcBe
A→Ab|b
B→d
(1)给出句子abbcde的最左推导及画出语法树;
(2)给出句型aAbcde的短语、素短语。
10.设文法G(S):
S→(T)|aS|a
T→T,S|S
⑴消除左递归和提公共左因子;
⑵构造相应的FIRST和FOLLOW集合;
⑶构造预测分析表。
12.已知文法G(S)
E→E+T|T
T→T*F|F
F→(E)|i
(1)给出句型(i+i)*i+i的最左推导及画出语法树;
(2)给出句型(E+T)*i+F的短语,素短语和最左素短语。
答案:
(1)消除左递,文法变为G’[S]:
S→^|a|(T)'
T→ST’|S
T’→,ST’|ε
此文法无左公共左因子。
(2)构造相应的FIRST和FOLLOW集合:
FIRST(S)={a,^,(},FOLLOW(S)={#,,,)}
FIRST(T)={a,^,(},FOLLOW(T)={}}
FIRST(T’)={,,ε},FOLLOW(F)={)}
(3)构造预测分析表:
a
^
(
)
#
S
S→a
S→^
S→(T)'
T
T→ST’
T→ST’
T→ST’
T’
T’→ε
T’→,ST’
2.
(1)
C→ifEthen
S→CS
(1)
(2)
C→ifEthen{BACK(E.TC,NXQ);C.chain:
=E.FC}
S→CS
(1){S.chain:
=MERG(C.Chain,S
(1).Chain)}
4.
(1)F→fori:
=E
(1)toE
(2)do
S→FS
(1)
(2)F→fori:
=E
(1)toE
(2)do
{GEN(:
=,E
(1).place,_,entry(i));
F.place:
=entry(i);
LIMIT:
=Newtemp;
GEN(:
=,E
(2).place,_,LIMIT);
Q:
=NXQ;
F.QUAD:
=q;
GEN(j≤,entry(i),LIMIT,q+2)
F.chain:
=NXQ;
GEN(j,_,_,0)}
S→FS
(1)
{BACKPATCH(S
(1).chain,NXQ);
GEN(+,F.place,1,F.place);
GEN(j,_,_,F.QUAD);
S.chain:
=F.chain
}
7.最左推导
S=(T)=>(T,S)=>(S,S)=>(a,S)=>(a,(T))=>(a,(T,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
短语
((T,S),a)
(T,S),a
(T,S)
T,S
a
直接短语
T,S
a
句柄
T,S
9.
(1)S=>aAcBe=>AAbcBe=>abbcBe=>abbcde
(2)短语:
aAbcde,Ab,d
素短语:
Ab,d
10.
(1)S→(L)|aS’
S’→S|ε
L→SL’
L’→,SL’|ε
(2)FIRST(S)={a,(}FIRST(S’)={a,(,ε}
FIRST(L)={a,(}FIRST(L’)={,,ε}
FOLLOW(S)={,,),#}FOLLOW(S’)={,,),#}
FOLLOW(L)={)}FOLLOW(L’)={)}
(3)
(
)
a
#
S
S→(L)
S→aS’
S’
S’→S
S’→ε
S’→S
S’→ε
S’→ε
L
L→SL’
L→SL’
L’→,SL’
L’
L’→ε
12.
(1)E=>E+T=>T+T=>T*F+T=>F*F+T=>(E)*F+T=>(E+T)*F+T=>(T+T)*F+T=>(F+T)*F+T=>(i+T)*F+T=>(i+F)*F+T=>(i+i)*F+T=>(i+i)*i+T
=>(i+i)*i+F=>(i+i)*i+i
(2)短语i,F,E+T,(E+T),(E+T)*i,(E+T)*i+F
素短语i,E+T
最左素短语E+T
《编译原理》期末试题
(二)
对于函数f2,由于局部变量x的作用域只是函数体的一部分,不会出现上述问题,因而编译器不报错。
6、正规式b*a(bb*a)*b*体现的特点是,每个a的左边都有若干b,除非a是第一个字母。
该正规式定义的语言是:
至少含一个a,但不含子串aa的所有a和b的串集。
最简DFA如下:
7、消除左递归后的文法:
B→1B'
B'→0B'|1B'|ε
相应的翻译方案如下:
B→1{B'.i:
=1}B'{B.val:
=B'.val}
B'→0{B'1.i:
=B'.i⨯2}B'1{B'.val:
=B'1.val}
|1{B'1.i:
=B'.i⨯2+1}B'1{B'.val:
=B'1.val}
|ε{B'.val:
=B'.i}
《编译原理》期末试题(三)
2、写出表达式a=b*c+b*d对应的逆波兰式、四元式序列和三元式序列。
答:
逆波兰式:
abc*bd*+:
=
3、对于文法G(S):
答:
1)
2)短语:
Ma),(Ma),b(Ma)b
直接短语:
Ma)句柄:
Ma)
三、设有字母表{a,b}上的正规式R=(ab|a)*。
解:
(1)
(2)将
(1)所得的非确定有限自动机确定化
ε
a
b
-0
1
1
3
12
2
1
+3
a
b
-+013
123
+123
123
13
+13
123
(3)对
(2)得到的DFA化简,合并状态0和2为状态2:
(4)令状态1和2分别对应非终结符B和A
G:
A→aB|a|ε;B→aB|bA|a|b|ε;可化简为:
G:
A→aB|ε;B→aB|bA|ε
四、
设将文法G改写成等价的LL
(1)文法,并构造预测分析表。
G:
S→S*aT|aT|*aT;T→+aT|+a
解:
消除左递归后的文法G’:
S→aTS’|*aTS’
S’→*aTS’|ε
T→+aT|+a
提取左公因子得文法G’’:
S→aTS’|*aTS’
S’→*aTS’|ε
T→+aT’
T’→T|ε
Select(S→aTS’)={a}
Select(S→*aTS’)={*}
Select(S→aTS’)∩Select(S→*aTS’)=Ф
Select(S’→*aTS’)={*}
Select(S’→ε)=Follow(s’)={#}
Select(S’→*aTS’)∩Select(S’→ε)=Ф
Select(T→+aT’)={+}
Select(T’→T)=First(T)={+}
Select(T’→ε)=Follow(T’)={*,#}
Select(T’→T)∩Select(T’→ε)=Ф
所以该文法是LL
(1)文法。
预测分析表:
*
+
a
#
S
→*aTS’
→aTS’
S’
→*aTS’
→ε
T
→+aT’
T’
→ε
→T
→ε
6设文法G为:
S→A;A→BA|ε;B→aB|b
解:
(1)拓广文法G’:
(0)S’→S
(1)S→A
(2)A→BA(3)A→ε(4)B→aB(5)B→b;FIRST(A)={ε,a,b};FIRST(B)={a,b}
构造的DFA如下:
项目集规范族看出,不存在冲突动作。
∴该文法是LR
(1)文法。
(2)LR
(1)分析表如下:
(3)输入串abab的分析过程为:
五、对文法G(S):
S→a|^|(T);T→T,S|S
答:
(1)
a
^
(
)
#
a
>
>
>
^
>
>
>
(
<
<
<
=
<
)
>
>
>
<
<
<
>
>
#
<
<
<
=
(2)是算符优先文法,因为任何两个终结符之间至多只有一种优先关系。
(2分)
(3)给出输入串(a,a)#的算符优先分析过程。
步骤
栈
当前输入字符
剩余输入串
动作
1
#
(
a,a#
#<(移进
2
#(
a
a)#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 编译 原理 期末 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)