|
||||||||||||||||
|
||||||||||||||||
1998年编译原理部分(共50分)
一 生成语言L= {a1bmc1anbn | 1≥0,rn≥1, n≥2}的文法是什么?它是chomsky哪一型文法?(5分)
二 文法G1: P→aPQR | abR
RQ→QR
bQ→bb
bR→bc
cR→cc
它是chomsky哪一型文法?请证实aaabbbccc是Gl的一个句子(5分)
三 文法G2: P→aPb | Q
Q→bQc | bSc
S→Sa | a
1请构造它的SLR分析表,以说明它是不是SLR文法?(7分)
2在消除左递归、提取公共左因子后可得等价文法G2',它是不是LL (1)文法(6分)
四 求与正规式R = (a | b) *a | (a | b) *a (b)a)*等价的minDFA。(8分)
五 文法G3及相应翻译方案为: P→bQb {print“1”}
Q→cR {print“2”}
Q→a {print“3”}
R→Qad {print“4”}
1该文法是不是算符优先文法,请构造算符优先关系表证实之。(5分)
2输入串为bcccaadadadb时,该翻译方案的输出是什么?(4分)
六 三维数组a[2:5, -2:2, 5:7]首址为100,每个数组元素占4个存储单元,求数组元
素a(3,1,6)的地址。(5分)
七 右列程序段若以B表示循环体 i:=1:
A表示初始化.I-./ while i≤n do
B表示增量 begin
C 表示测试 sun:=sun +a[i];
i=i+l;
end
请用正规表达式表示这个程序段可能的执行序列(5分)