资源描述:
《东南大学历年编译原理osds考研试卷》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、东南大学历年编译原理考研试卷试题编号:553试题名称:编译原理一:(15分)判断下列命题的真假,并简述理由:1.文法G的一个句子对应于多个推导,则G是二义的.2.LL(1)分析必须对原有文法提取左因子和消除左递归.3.算符优先分析法采用"移近-归约"技术,其归约过程是规范的.4.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号).5.一个BASIC解释程序和编译程序的不同在于,解释程序由语法制导翻译成目标代码并立即执行之,而编译程序需产生中间代码及优化.二:(15分)设计一个最小状态有穷自动机,识别由下列子串组成的任意字符串.GO,GOTO,
2、TOO,ON例如:GOTOONGOTOOGOON是合法字符串.三:(15分)构造一个LL(1)文法G,识别语言L:L={ω
3、ω为{0,1}上不包括两个相邻的1的非空串}并证明你的结论.四:(20分)设有一台单累加器计算机,并汇编语言含有通常的汇编指令LOAD,STORE,ADD和MUL.1.写一个递归下降分析程序,将如下文法所定义的赋值语句翻译成汇编语言:A→i:=EE→E+E
4、E*E
5、(E)
6、i2.利用加,乘法满足交换率这一性质,改进你的分析程序,以期产生比较高效的目标代码.五:(15分)C为大家熟知的程序语言.1.C的参数传递采用传值的方式,而且允许函数定
7、义和调用时的参数个数不一致(如printf).请指出其函数调用语句: f(arg1,arg2,...,argn)翻译成的中间代码序列,并简述其含义.2.C语言中的变量具有不同的作用范围,试述C应采用的存储分配策略.六:(20分)设有一个子程序的四元式序列为:(1)I:=1(2)ifI>20GOTO(16)(3)T1:=2*J(4)T2:=20*I(5)T3:=T1+T2(6)T4:=addr(A)-22(7)T5:=2*I(8)T6:=T5*20(9)T7:=2*J(10)T8:=T6+T7(11)T9:=addr(A)-22(12)T10:=T9[T8]
8、(13)T4[T3]:=T10+J(14)I:=I+1(15)goto(2)(16)ret1.分划基本块.2.对代码施行各种可能的优化,并写出优化过程中采用了何种优化策略.试题编号:553试题名称:编译原理一:由文法G1构造LR(1)部分分析表:1.列出4个项目集I0,I1,I2,I3;(如下图)2.填写LR(1)分析表的状态0,1,2的action和goto表的内容.(如下图)G1:(0)S→T (1)T→T(T) (2)T→ε┌──────┐ ┌──┐ ┌──┐ ┌──┐│I0:S→·T,#│T│I1:│(│I2:│T│I3:││ │-→│ │-→
9、│ │-→│ │└──────┘ └──┘ └──┘ └──┘┌──┬────────┬───┐│ │ action │goto││状态├──┬──┬──┼───┤│ │( │)│# │ T│├──┼──┼──┼──┼───┤│0 │ │ │ │ │├──┼──┼──┼──┼───┤│1 │ │ │ │ │├──┼──┼──┼──┼───┤│2 │ │ │ │ │├──┼──┴──┴──┼───┤│ │ │ ││...│ ... │... ││ │ │ │└──┴───
10、─────┴───┘二:已知文法G2,请用类pascal语言写出它的递归下降分析程序.G2:A→[B B→X]
11、BA X→Xa
12、Xb
13、a
14、b三:已知文法G3,要求:1.写出各非终极符的首终极符集合和尾终极符集合;2.填写opt表: │ +│ *│ @│↑│ i│ #│──┼──┼──┼──┼──┼──┼──┤ +│ │ │ │ │ │ │──┼──┼──┼──┼──┼──┼──┤ *│ │ │ │ │ │ │──┼──┼──┼──┼──┼──┼──┤ @│ │ │ │ │ │ │──┼──┼──┼──┼──┼──┼──┤↑│
15、 │ │ │ │ │ │──┼──┼──┼──┼──┼──┼──┤ i│ │ │ │ │ │ │──┼──┼──┼──┼──┼──┼──┤ #│ │ │ │ │ │ │──┼──┼──┼──┼──┼──┼──┤ │ │ │ │ │ │ │G3:E→E+T
16、T
17、@T T→T*F
18、F F→p↑F
19、P p→i四:请写出产生下列语言的文法.1.L1={a^ib^j
20、i>j>=1}2.L2={ω1
21、ω1∈{0,1}*&ω1中包含0,1个数相等的任意串}3.L3={ω2
22、ω2∈{a,b}*&ω2中a之后必定跟b}4.L4=
23、{ω3+ω3
24、ω3∈{0,1}*}五: