一:按算法构造文法G1:
S→#M#
M→(L|a
L→M,a)
的算符优先矩阵.(即填写下列矩阵)
│ a │ , │ ( │ ) │ # │
──┼──┼──┼──┼──┼──┼
a │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼
, │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼
( │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼
) │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼
# │ │ │ │ │ │
──┼──┼──┼──┼──┼──┼
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值是什么?
proc Q(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