Курсовик по ТЯПру / PART2
.DOC
Цепочки замен:
Замена(PEx,+ ) = Trm PE1 Номер правила = 1
Замена(PEx,not) = Trm PE1 Номер правила = 1
Замена(PEx,( ) = Trm PE1 Номер правила = 1
Замена(PEx,cid) = Trm PE1 Номер правила = 1
Замена(PEx,cpx) = Trm PE1 Номер правила = 1
Замена(PEx,id ) = Trm PE1 Номер правила = 1
Замена(PEx,int) = Trm PE1 Номер правила = 1
Замена(PEx,rea) = Trm PE1 Номер правила = 1
Замена(PEx,com) = Trm PE1 Номер правила = 1
Замена(PEx,abs) = Trm PE1 Номер правила = 1
Замена(PEx,re ) = Trm PE1 Номер правила = 1
Замена(PEx,im ) = Trm PE1 Номер правила = 1
Замена(PEx,len) = Trm PE1 Номер правила = 1
Замена(PEx,mls) = Trm PE1 Номер правила = 1
Замена(PE1,+ ) = S+ Trm PE1 Номер правила = 2
Замена(PE1,or ) = S+ Trm PE1 Номер правила = 2
Замена(PE1,) ) = Номер правила = 3
Замена(PE1,Eps) = Номер правила = 3
Замена(S+ ,+ ) = + Номер правила = 4
Замена(S+ ,or ) = or Номер правила = 5
Замена(Trm,+ ) = Mul Tr1 Номер правила = 6
Замена(Trm,not) = Mul Tr1 Номер правила = 6
Замена(Trm,( ) = Mul Tr1 Номер правила = 6
Замена(Trm,cid) = Mul Tr1 Номер правила = 6
Замена(Trm,cpx) = Mul Tr1 Номер правила = 6
Замена(Trm,id ) = Mul Tr1 Номер правила = 6
Замена(Trm,int) = Mul Tr1 Номер правила = 6
Замена(Trm,rea) = Mul Tr1 Номер правила = 6
Замена(Trm,com) = Mul Tr1 Номер правила = 6
Замена(Trm,abs) = Mul Tr1 Номер правила = 6
Замена(Trm,re ) = Mul Tr1 Номер правила = 6
Замена(Trm,im ) = Mul Tr1 Номер правила = 6
Замена(Trm,len) = Mul Tr1 Номер правила = 6
Замена(Trm,mls) = Mul Tr1 Номер правила = 6
Замена(Tr1,+ ) = Номер правила = 8
Замена(Tr1,or ) = Номер правила = 8
Замена(Tr1,* ) = S* Mul Tr1 Номер правила = 7
Замена(Tr1,and) = S* Mul Tr1 Номер правила = 7
Замена(Tr1,) ) = Номер правила = 8
Замена(Tr1,Eps) = Номер правила = 8
Замена(S* ,* ) = * Номер правила = 9
Замена(S* ,and) = and Номер правила = 10
Замена(UnS,+ ) = + Номер правила = 11
Замена(UnS,not) = not Номер правила = 12
Замена(Mul,+ ) = UnS Mul Номер правила = 13
Замена(Mul,not) = UnS Mul Номер правила = 13
Замена(Mul,( ) = ( ex ) Номер правила = 20
Замена(Mul,cid) = cid Номер правила = 14
Замена(Mul,cpx) = cpx Номер правила = 15
Замена(Mul,id ) = T() Номер правила = 19
Замена(Mul,int) = T() Номер правила = 19
Замена(Mul,rea) = T() Номер правила = 19
Замена(Mul,com) = T() Номер правила = 19
Замена(Mul,abs) = OpC ( cpx ) Номер правила = 16
Замена(Mul,re ) = OpC ( cpx ) Номер правила = 16
Замена(Mul,im ) = OpC ( cpx ) Номер правила = 16
Замена(Mul,len) = len ( vec ) Номер правила = 17
Замена(Mul,mls) = mls ( vec , vec ) Номер правила = 18
Замена(OpC,abs) = abs Номер правила = 21
Замена(OpC,re ) = re Номер правила = 22
Замена(OpC,im ) = im Номер правила = 23
Замена(T(),id ) = Typ ( PEx ) Номер правила = 24
Замена(T(),int) = Typ ( PEx ) Номер правила = 24
Замена(T(),rea) = Typ ( PEx ) Номер правила = 24
Замена(T(),com) = Typ ( PEx ) Номер правила = 24
Замена(Typ,id ) = id Номер правила = 28
Замена(Typ,int) = int Номер правила = 25
Замена(Typ,rea) = rea Номер правила = 26
Замена(Typ,com) = com Номер правила = 27
7) ДМП-процессор для грамматики GR7 (Начальный символ Ex).
УПРАВЛЯЮЩАЯ ТАБЛИЦА LL1-АНАЛИЗАТОРА
|
pex |
rel |
= |
Eps |
Ex |
З |
|
|
|
Ex) |
|
З |
З |
З |
pex |
В |
|
|
|
rel |
|
В |
|
|
= |
|
|
В |
|
┴ |
|
|
|
Д |
Цепочки замен:
Замена(Ex ,pex) = pex Ex) Номер правила = 1
Замена(Ex),rel) = rel pex Номер правила = 2
Замена(Ex),= ) = = pex Номер правила = 3
Замена(Ex),Eps) = Номер правила = 4
8) ДМП-процессор для грамматики GR8 (Начальный символ Vec).
УПРАВЛЯЮЩАЯ ТАБЛИЦА LL1-АНАЛИЗАТОРА
|
id |
( |
) |
, |
mlC |
sum |
dif |
cid |
Eps |
Vec |
З |
|
|
|
З |
З |
З |
|
|
id |
В |
|
|
|
|
|
|
|
|
( |
|
В |
|
|
|
|
|
|
|
) |
|
|
В |
|
|
|
|
|
|
, |
|
|
|
В |
|
|
|
|
|
mlC |
|
|
|
|
В |
|
|
|
|
sum |
|
|
|
|
|
В |
|
|
|
dif |
|
|
|
|
|
|
В |
|
|
cid |
|
|
|
|
|
|
|
В |
|
┴ |
|
|
|
|
|
|
|
|
Д |
Цепочки замен:
Замена(Vec,id ) = id Номер правила = 1
Замена(Vec,mlC) = mlC ( Vec , cid ) Номер правила = 2
Замена(Vec,sum) = sum ( Vec , Vec ) Номер правила = 3
Замена(Vec,dif) = dif ( Vec , Vec ) Номер правила = 4
9) ДМП-процессор для грамматики GR9 (Начальный символ Cpx).
УПРАВЛЯЮЩАЯ ТАБЛИЦА LL1-АНАЛИЗАТОРА
|
id |
# |
, |
[ |
] |
cid |
vec |
pex |
Eps |
Cpx |
З |
З |
|
|
|
|
З |
|
|
id |
В |
|
|
|
|
|
|
|
|
# |
|
В |
|
|
|
|
|
|
|
, |
|
|
В |
|
|
|
|
|
|
[ |
|
|
|
В |
|
|
|
|
|
] |
|
|
|
|
В |
|
|
|
|
cid |
|
|
|
|
|
В |
|
|
|
vec |
|
|
|
|
|
|
В |
|
|
pex |
|
|
|
|
|
|
|
В |
|
┴ |
|
|
|
|
|
|
|
|
Д |
Цепочки замен:
Замена(Cpx,id ) = id Номер правила = 1
Замена(Cpx,# ) = # cid , cid # Номер правила = 2
Замена(Cpx,vec) = vec [ pex ] Номер правила = 3
10) ДМП-процессор для грамматики GR10 (Начальный символ Cid).
УПРАВЛЯЮЩАЯ ТАБЛИЦА LL1-АНАЛИЗАТОРА
|
id |
+ |
num |
nat |
Eps |
Cid |
З |
З |
З |
З |
|
Num |
|
|
З |
З |
|
id |
В |
|
|
|
|
+ |
|
В |
|
|
|
num |
|
|
В |
|
|
nat |
|
|
|
В |
|
┴ |
|
|
|
|
Д |
Цепочки замен:
Замена(Cid,id ) = id Номер правила = 1
Замена(Cid,+ ) = + Num Номер правила = 3
Замена(Cid,num) = Num Номер правила = 2
Замена(Cid,nat) = Num Номер правила = 2
Замена(Num,num) = num Номер правила = 4
Замена(Num,nat) = nat Номер правила = 5