东南大学编译原理试题.docx
- 文档编号:26852212
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:30
- 大小:27.22KB
东南大学编译原理试题.docx
《东南大学编译原理试题.docx》由会员分享,可在线阅读,更多相关《东南大学编译原理试题.docx(30页珍藏版)》请在冰豆网上搜索。
东南大学编译原理试题
东南大学一九九三年攻读硕士学位研究生入学考试试题
试题编号:
553
试题名称:
编译原理
一:
(15分)判断下列命题的真假,并简述理由:
1.文法G的一个句子对应于多个推导,则G是二义的.
2.LL
(1)分析必须对原有文法提取左因子和消除左递归.
3.算符优先分析法采用"移近-归约"技术,其归约过程是规范的.
4.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号).
5.一个BASIC解释程序和编译程序的不同在于,解释程序由语法制导翻译成目标代码并立即执行之,而编译程序需产生中间代码及优化.
二:
(15分)设计一个最小状态有穷自动机,识别由下列子串组成的任意字符串.
GO,GOTO,TOO,ON
例如:
GOTOONGOTOOGOON是合法字符串.
三:
(15分)构造一个LL
(1)文法G,识别语言L:
L={ω|ω为{0,1}上不包括两个相邻的1的非空串}
并证明你的结论.
四:
(20分)设有一台单累加器计算机,并汇编语言含有通常的汇编指令LOAD,STORE,ADD和MUL.
1.写一个递归下降分析程序,将如下文法所定义的赋值语句翻译成汇编语言:
A→i:
=E
E→E+E|E*E|(E)|i
2.利用加,乘法满足交换率这一性质,改进你的分析程序,以期产生比较高效的目标代码.
五:
(15分)C为大家熟知的程序语言.
1.C的参数传递采用传值的方式,而且允许函数定义和调用时的参数个数不一致(如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]
(13)T4[T3]:
=T10+J
(14)I:
=I+1
(15)goto
(2)
(16)ret
1.分划基本块.
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:
│
│ │-→│ │-→│ │-→│ │
└──────┘ └──┘ └──┘ └──┘
┌──┬────────┬───┐
│ │ action │goto│
│状态├──┬──┬──┼───┤
│ │( │) │# │ T │
├──┼──┼──┼──┼───┤
│0 │ │ │ │ │
├──┼──┼──┼──┼───┤
│1 │ │ │ │ │
├──┼──┼──┼──┼───┤
│2 │ │ │ │ │
├──┼──┴──┴──┼───┤
│ │ │ │
│...│ ... │... │
│ │ │ │
└──┴────────┴───┘
二:
已知文法G2,请用类pascal语言写出它的递归下降分析程序.
G2:
A→[B
B→X]|BA
X→Xa|Xb|a|b
三:
已知文法G3,要求:
1.写出各非终极符的首终极符集合和尾终极符集合;
2.填写opt表:
│ +│ *│ @│↑│ i│ #│
──┼──┼──┼──┼──┼──┼──┤
+│ │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼──┤
*│ │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼──┤
@│ │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼──┤
↑│ │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼──┤
i│ │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼──┤
#│ │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼──┤
│ │ │ │ │ │ │
G3:
E→E+T|T|@T
T→T*F|F
F→p↑F|P
p→i
四:
请写出产生下列语言的文法.
1.L1={a^ib^j|i>j>=1}
2.L2={ω1|ω1∈{0,1}*&ω1中包含0,1个数相等的任意串}
3.L3={ω2|ω2∈{a,b}*&ω2中a之后必定跟b}
4.L4={ω3+ω3|ω3∈{0,1}*}
五:
简要回答问题.
1.对编译程序而言,模块,遍,子程序这三个概念的主要区别?
2.静态存储分配与动态存储分配的主要区别?
3.何谓自适应线性表?
六:
翻译如下布尔表达式成四元式序列,结果留待填的真假链的四元式序号.
A∧B-C _____________________________________________________________________ 东南大学一九九五年攻读硕士学位研究生入学考试试题 试题编号: 553 试题名称: 编译原理 一: 按算法构造文法G1: S→#M# M→(L|a L→M,a) 的算符优先矩阵.(即填写下列矩阵) │ a│ ,│ (│ )│ #│ ──┼──┼──┼──┼──┼──┼ a│ │ │ │ │ │ ──┼──┼──┼──┼──┼──┼ ,│ │ │ │ │ │ ──┼──┼──┼──┼──┼──┼ (│ │ │ │ │ │ ──┼──┼──┼──┼──┼──┼ )│ │ │ │ │ │ ──┼──┼──┼──┼──┼──┼ #│ │ │ │ │ │ ──┼──┼──┼──┼──┼──┼ 二: 将下列cfg文法修改成正规文法. S→AB A→M|N|P B→aB|a M→bM|b N→cN|c P→αP|ε 三: 已知文法G2: (1)S'→S (2)S→AAA (3)S→1A (4)S→0 1.列出LR(0)项目集族; 2.构造SLR分析表; 3.试给处语句01100#的LR分析过程. 四: 1.构造由下列三型文法G3所对应的FA. 2.将构造的FA确定化和最小化. 3.写出该DFA所识别的语言. G3: S→aA|bS|dC A→dE C→aD|bC|b D→bE|b E→aD|bE|b 五: 设有源语句A[I+1,J+2]: =A[B[K+2],5] 1.列出计算两个数组的下标地址(按行存放) A[I+1,J+2]的地址D1=? B[K+2]的地址D2=? 2.按语法制导翻译该语句成四元式序列.(设数组首地址分别为a,b;数组按行存放,每个元素占一字编址.数组说明: A: array[1..10,-5..5],B: array[-5..5]) 六: 求文法G4: A→BCc|gDB B→bcDE|ε C→Dab|ca D→dD|ε E→gAf|c 的各非终结符的随符集. 七: 1.简述由基本块寻找循环结点的算法. 2.对于如下一段程序,若参数传递分别采用: (a)传名 (b)传结果 (c)传地址 试问程序执行结果,Y值是什么? procQ(B,C) begin B: =B+2; B: =B*C end; begin Y: =2; Q(Y,2*Y); print(Y) end; 3.文法G5: E→P↑E|P P→P*Q|Q Q→Q+R|R R→(E)|a a→整常数 试给出下列表达式计值结果(语法制导). 3+2*5↑2*2+3 2+(2↑2↑3)*2+3 _____________________________________________________________________ 东南大学一九九六年攻读硕士学位研究生入学考试试题 试题编号: 553 试题名称: 编译原理 一: 1.试写一正规文法,使其定义的语言是不以0打头的偶整数集合.其中数字可以用简名表示,比如α1→0|2|4|6|8,并把α1看作是终结符. 2.试写一上下文无关文法,它能产生下列语言: L={ω|ω∈{a,b}*,且ω中a的个数是b的两倍,例如aab等} 二: 请写出由下列文法所确定的语言. 1.G1: S→10S01 S→aA A→bA A→a 2.G2: S→aSS S→a 三: 已知NFA的状态转换图如下,试对它确定化并化简,并写出该FA接受的语言. ∩b a →S──────→A d│ │c ↓a b ↓ b<C──→D──→E>b │ b│←──│ b│ ↓ a │b └─→T←──┘ 四: 已知文法G4: S'→S S→AS S→b A→SA A→a 1.试求closure({(S'→·S,#)})和GO(closure({(S'→·S,#)}),S) 2.文法是LR (1)吗? 为什么? 五: 试将下面语句按语法制导翻译成四元式序列. while(a ifa=1thenc: =c+1 elsewhilea<=ddoa: =a+2; 六: 1.试对如下四元式序列划分成基本块,并化出程序流图; 2.写出源语句. (1)I: =1 (2)ifI>Mgoto(19) (3)J: =1 (4)ifJ>Ngoto(17) (5)T1: =I*N (6)T2: =T1+J (7)T3: =addr(A)-C (8)T4: =I*2 (9)T5: =J+2 (10)T6: =T4*N (11)T7: =T6+T5 (12)T8: =addr(A)-C (13)T9: =T8[T7] (14)T3[T2]: =T9 (15)J: =J+1 (16)goto(4) (17)I: =I+1 (18)goto (2) (19)... 七: 1.求文法G7的各非终结符的终结首符集First和随符集Follow. 2.判定该文法是LL (1)吗? G7: A→BCc|gDB B→bCDE|ε C→DaB|ca D→dD|ε E→gAf|c _____________________________________________________________________ 东南大学一九九七年攻读硕士学位研究生入学考试试题 试题编号: 553 试题名称: 编译原理 一: 文法G1: E→ET+|T T→TF*|F F→FP↑|P P→E|i 1.试证明符号串TET+*i↑是G1的一个句型(要求画出语法树). 2.写出该句型的所有短语,简单短句和句柄. 二: 1.给出下图FA的正规式. a b ──→ ──→② →◎ ① a↑↓ε ←── ←──③ ε b 2.已知正规文法G2: S→aS|A A→bB B→aB|ε 试构造一确定有限自动机DFA(要求化简),使得它接受的语言正是该文法产生的语言,要求画出状态图. 三: 1.试写出一个上下文无关文法G3,它能产生配对的圆括号串(例如,(),(()),()(())等,甚至包含0对括号). 2.使用文法G3给出输入串(())()#的自上而下分析过程. 四: 已知文法G4: S→aAb|Sc|ε A→aAb|ε 1.给出G4文法的LR(0)项目集规范族; 2.构造SLR分析表; 3.G4文法所定义的语言; 4.已知有如下文法及相应的LR分析表,试给出语句01001#的LR分析过程(填写下表). S→AAA A→1A A→0 LR分析表: ───┬──┬──┬──┰──┬── 状态│1 │0 │# ┃S │A ───┼──┼──┼──╂──┼── 0 │S3│S4│ ┃1 │2 ───┼──┼──┼──╂──┼── 1 │ │ │acc┃ │ ───┼──┼──┼──╂──┼── 2 │S3│S4│ ┃ │5 ───┼──┼──┼──╂──┼── 3 │S3│S4│ ┃ │6 ───┼──┼──┼──╂──┼── 4 │r3│r3│r3┃ │ ───┼──┼──┼──╂──┼── 5 │S3│S4│ ┃ │7 ───┼──┼──┼──╂──┼── 6 │r2│r2│r2┃ │ ───┼──┼──┼──╂──┼── 7 │ │ │r1┃ │ ───┴──┴──┴──┸──┴── 分析过程: ──────┬──────┬────── 状态栈 │ 符号栈 │ 输入串 ──────┼──────┼────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ ──────┴──────┴────── 五: 1.翻译下面语句成四元式中间代码序列和后缀式(逆波兰式); whilex+y>ado ifa<10thena: =a+1elsex: =x-1; 2.翻译布尔表达式 (a>b)or(c=d)andnot(e 成转移四元式序列(即四元式中仅包含(zθ,-,-,-)和(j,-,-,-)两类语句,其中θ为关系运算符.) 六: 1.有如下Fortran说明语句,试借助符号表登记等价环链EQ和相对数OFFSET,即填写下表的EQ栏和OFFSET栏.设每个整型量占1子编址. integera,b,c(10,10),d(10) equivalence(a,d(8),c(5,5)) equivalence(b,c(5,8)) 符号表 ┌───┬──────┬───┬───┐ │name│ ... │ EQ │OFFSET│ ├───┼──────┼───┼───┤ 1│ a │ ... │ │ │ ├───┼──────┼───┼───┤ 2│ b │ ... │ │ │ ├───┼──────┼───┼───┤ 3│ c │ ... │ │ │ ├───┼──────┼───┼───┤ 4│ d │ ... │ │ │ └───┴──────┴───┴───┘ 2.有如下pascal语言的程序轮廓,当运行该程序且第一次递归调用Q过程(即在过程Q中又调用了Q)时,数据区建立情况.假定各数据区首址用SP(i)(i=0,1,……)表示,试给出P,Q数据区的display表. ┌main │┌P ││┌Q │││CallQ ││└ ││CallQ │└ │┌R ││CallP │└ │┌S ││CallR │└ │CallS └ 七: 已知如下流图,试给出回边与循环. ↓ ┌─→①←┐ │ / \ / │↓ ↓/ \② ③ \\ /↑ \↓↓/ ┌→④──┐ │ │ ↓ │ │┌→⑤ │ ↓/ │ └─⑥←─┘ _____________________________________________________________________ 东南大学一九九八年攻读硕士学位研究生入学考试试题 试题编号: 553 试题名称: 编译原理 一: 已知文法G1: S→aB|ε B→bC|bD C→cB|c D→d 1.试构造一个最小DFA,画出状态转换图. 2.由该DFA给出它所识别的语言(用正规式表示). 二: 已知正规式α=ab*c*d, 1.试构造一个DFAM,其接受的语言为此α(画出图); 2.由该DFAM写出对应的正规文法(古线性). 三: 文法G3: S→A[B] A→[B]|Aa B→a 1.求出各非终结符N的Firstvt(N)和Lastvt(N),构造包括语句括号'#'在内的算符优先表; 2.给出语句#[a][a]#的算符优先分析过程,即填写如下格式的表: 步骤 │ 栈内 │输入串│ 动作 ────┼────┼────┼───── 0 │# │[a][a]#│ ... │ │ │ 四: 已知文法G4: T→T*F|F F→(T)|i 1.试给出语句(i*i)#的自上而下分析过程(填下表); 2.画出对应的语法树,指出每一步归纳的句柄. 步骤 │ 栈内 │ 输入 │ 动作 ────┼────┼────┼───── 0 │#T │(i*i)#│ ... │ │ │ 五: 已知文法G5: 0.E'→E 1.E→E+T 2.E→T 3.T→i 列出LR(0)项目集规范族,求出各非终结符N的Follow集合,构造SLR分析表. 六: 翻译如下语句成四元式序列(由语法制导生成). whilea>banda ifa=5thenb: =b+1else repeat a: =a+1 untila>=d; 七: 按语法制导翻译下段程序成四元式序列(不要优化),设数组A: array[1..10,1..10]ofint;每个下标变量占1字编址,数组按行存放,Z为函数名. begin A[i,j]: =A[i,j]+2; B: =Z(A[i,j])*5 end 八: 将如下一段四元式序列进行块内优化和循环优化(强度减弱及删除基本归纳变量),写出优化后的四元式序列.(要求先划分基本块) (1)i: =1 (2)ifi>100goto(10) (3)T1: =20*i (4)M: =J+T1 (5)T2: =20*i (6)N: =K+T2 (7)O: =M+N (8)i: =i+1 (9)goto (2) (10)... 九: 已知如下一段程序,试给出运行时整个数据区结构.假定num初值为2,每个数据区的活动记录包含内容如下图所示,数据区从k单元开始编址. ┌─────┐ programfactoral; │函数返回值│ varnum,fact: int; ├─────┤ functionf(n: int): int │变量单元│ ifn>0thenf: =n*f(n-1) ├─────┤ elsef: =1; │display表│ begin ├─────┤ read(num); │形参单元│ fact: =f(num) ├─────┤ end │返回地址│ ├─────┤ │ 基SP│ └─────┘ _____________________________________________________________________ 东南大学一九九九年攻读硕士学位研究生入学考试试题 试题编号: 553 试题名称: 编译原理 一: 已知正规文法中的左线性文法 G1: S→Sa|Sb|c 试构造无ε产生式的等价右线性文法,并构造相应的确定有限自动机DFA,画出状态转换图即可. 二: 已知正规文法(X为开始符号) G2: X→0Y|1Z|0 Y→0X|1Y|1 Z→1X 1.该文法产生语言是什么? 请用正规式表示. 2.构造最简的确定有限自动机DFA,并画出状态转换图. 三: 已知上下文无关文法(E为开始符号) G3: E→ET+|T T→TF*|F F→E|i 1.消除文法左递归,并给出改写后的文法产生式; 2.给出文法改写以后的各非终结符X的First(X)与Follow(X)集合,并由此判定它是否是LL (1)文法(按下表填). V(N)│ First(X) │ Follow(X) ────┼──────┼─────── X │ │ ... │ │ │ │ 四: 已知表达式文法(已拓广) G4: E'→E E→E+E|i 1.试构造文法G4的LR(0)项目集规范族; 2.若'+'服从右结合率,请给出LR分析表. 五: 已知文法(Z为开始符号) G5: Z→bMb M→(Ma)|a 1.试构造算符优先分析表(即填下表); │ a│ b│ (│ )│ #│ ──┼──┼──┼──┼──┼──┼ a│ │ │ │ │ │ ──┼──┼──┼──┼──┼──┼ b│ │ │
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学 编译 原理 试题