Скачиваний:
9
Добавлен:
01.05.2014
Размер:
301.06 Кб
Скачать

wr ( LWr ) ┴

writeln ( length ( id ) , id )

end .

Выброс x 2

2, 7, 27

LWr ) ┴

length ( id ) , id )

end .

Вызов PEx(3)

2, 7, 27

Стек вызовов: S(0), OpL(4), PEx(3)

ДМП-процессор PEx(3)

PEx ┴

length ( id ) , id )

end .

Замена по правилу 1:

(PEx  Trm PE1)

Trm PE1┴

length ( id ) , id )

end .

Замена по правилу 6:

(Trm  Mul Tr1)

1

Mul Tr1 PE1┴

length ( id ) , id )

end .

Замена по правилу 17:

(Mul 

len ( vec ) )

1,6

len ( vec ) Tr1 PE1┴

length ( id ) , id )

end .

Выброс x 2

1,6, 17

vec ) Tr1 PE1┴

id ) , id )

end .

Вызов Vec(0)

1,6, 17

Стек вызовов: S(0), OpL(4), PEx(3), Vec(0)

ДМП-процессор Vec(0)

Vec ┴

id ) , id )

end .

Замена по правилу 1:

(Vec  id )

id ┴

id ) , id )

end .

Выброс

1

) , id )

end .

Возврат в PEx(3)

{L(Vec(0))} = 1

Стек вызовов: S(0), OpL(4), PEx(3)

ДМП-процессор PEx(3)

vec ) Tr1 PE1┴

vec {из Vec(0)}

) , id ) end .

Выброс x 2

1,6, 17, {L(Vec(0))}

Tr1 PE1┴

, id ) end .

Замена по правилу 8:

(Tr1  )

1,6, 17, {L(Vec(0))}

PE1┴

, id ) end .

Замена по правилу 3:

(PE1  )

1,6, 17, {L(Vec(0))}, 8

, id ) end .

Возврат в OpL(4)

{L(PEx(3))} =

1,6, 17, {L(Vec(0))}, 8, 3

Стек вызовов: S(0), OpL(4)

ДМП-процессор OpL(4)

LWr ) ┴

pex {из PEx(3)}

, id ) end .

Замена по правилу 28:

(LWr  pex Wr1 )

2, 7, 27, {L(PEx(3))}

pex Wr1 ) ┴

pex {из PEx(3)}

, id ) end .

Выброс

2, 7, 27, {L(PEx(3))}, 28

Wr1 ) ┴

, id ) end .

Замена по правилу 29:

(Wr1  , LWr )

2, 7, 27, {L(PEx(3))}, 28

, LWr ) ┴

, id ) end .

Выброс

2, 7, 27, {L(PEx(3))}, 28, 29

LWr ) ┴

id ) end .

Вызов PEx(4)

2, 7, 27, {L(PEx(3))}, 28, 29

Стек вызовов: S(0), OpL(4), PEx(4)

ДМП-процессор PEx(4)

PEx ┴

id ) end .

Работа ДМП-процессора PEx(4)

) end .

Допуск

Возврат в PEx(4)

{L(PEx(4))} = …

Стек вызовов: S(0), OpL(4)

ДМП-процессор OpL(4)

LWr ) ┴

pex {из PEx(4)}

) end .

Замена по правилу 28:

(LWr  pex Wr1 )

2, 7, 27, {L(PEx(3))}, 28, 29, {L(PEx(4))}

pex Wr1) ┴

pex {из PEx(4)}

) end .

Выброс

2, 7, 27, {L(PEx(3))}, 28, 29, {L(PEx(4))}, 28

Wr1) ┴

) end .

Замена по правилу 30:

(Wr1  )

2, 7, 27, {L(PEx(3))}, 28, 29, {L(PEx(4))}, 28

) ┴

) end .

Выброс

2, 7, 27, {L(PEx(3))}, 28, 29, {L(PEx(4))}, 28, 30

end .

Допуск

Возврат в S(0)

{L(OpL(4))} =

2, 7, 27, {L(PEx(3))}, 28, 29, {L(PEx(4))}, 28, 30

Стек вызовов: S(0)

ДМП-процессор S(0)

┴ program id ; def begin opl ; opl ; opl

end .

Перенос

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

┴ program id ; def begin opl ; opl ; opl

end .

Свертка по правилу 5

(Op1  opl)

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

┴ program id ; def begin opl ; opl ; Op1

end .

Свертка по правилу 6

(Op1 

opl ; Op1)

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5

┴ program id ; def begin opl ; Op1

end .

Свертка по правилу 6

(Op1 

opl ; Op1)

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5, 6

┴ program id ; def begin Op1

end .

Свертка по правилу 4

(Ops  Op1)

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5, 6, 6

┴ program id ; def begin Ops

end .

Перенос x 2

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5, 6, 6, 4

┴ program id ; def begin Ops end .

Свертка по правилу 3

(BOp  beg Ops end .)

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5, 6, 6, 4

┴ program id ; def BOp

Свертка по правилу 1

(S 

pro id ; def BOp)

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5, 6, 6, 4, 3

┴ S

Допуск

Завершение разбора

{R(Def(0))}, {L(OpL(0))},

{L(OpL(1))}, {L(OpL(4))},

5, 6, 6, 4, 3, 1

Результат разбора

Разборы подцепочек

Выводы

{R(Def(0))} {L(OpL(0))}{L(OpL(1))} {L(OpL(4))} 5, 6, 6, 4, 3, 1

S (1) pro id ; def BOp (3) pro id ; def beg Ops end . (4) pro id ; def beg Op1 end. (6) pro id ; def beg opl ; Op1 end. (6) pro id ; def beg opl ; opl ; Op1 end . (5) pro id ; def beg opl ; opl ; opl end.

{R(Def(0))} =

{L(Cid(0))}, {L(Cid(1))}, 23, 20, 10, 29, 30, 28, {R(Typ(0))} 29, 28 {R(Typ(1))} 26, 27, 16, 15, 11, 8, 3,1

Def (1) Df (3) Bl1 (8) DfC Bl2 (11) DfC Bl3 (15) DfC DfV (16) DfC var Vrs (27) DfC var LVr : Typ ; Vrs (26) DfC var LVr : Typ ; LVr : Typ (28) DfC var LVr : Typ ; LV1 : Typ  (29) DfC var LVr : Typ ; id : Typ (28) DfC var LV1 : Typ ; id : Typ (30) DfC var id, LV1 : Typ ; id : Typ (29) DfC var id, id : Typ ; id : Typ (10) con LCn var id, id : Typ ; id : Typ (20) con id = Cns; var id, id : Typ ; id : Typ (23) con id = # cid, cid # ; var id, id : Typ ; id : Typ

{L(Cid(0))} = 3, 5

{L(Cid(1))} = 2, 4

{R(Typ(0))} = 3

{R(Typ(1))} = 8

{L(OpL(0))} =

2, 5, 16, 18, {L(PEx(0))}, 19

{L(PEx(0))} = 1, 6 {L(Cid(2))} 14, 8

{L(Cid(2))} = 2, 5

{L(OpL(1))} =

2, 8, 11, {L(Ex(0))}, {L(OIf(0))},2

{L(Ex(0))} = {L(PEx(1))}, 1, 2, {L(PEx(2))}

{L(PEx(1))} = …

{L(PEx(2))} = …

{L(OIf(0))} = 1, {L(Ex(1))}, {L(OpL(2))}, 2, {L(OpL(2))}

{L(Ex(1))} = …

{L(OpL(2))} = …

{L(OpL(3))} = …

{L(OpL(4))} =

2, 7, 27, {L(PEx(3))}, 28, 29, {L(PEx(4))}, 28, 30

OpL (2) Op (7) OWr (27) wr ( LWr ) (28) wr ( pex Wr1 ) (29) wr ( pex , LWr ) (28) wr (pex , pex Wr1) (28) wr (pex , pex)

{L(PEx(3))} = 1,6, 17, {L(Vec(0))}, 8, 3

{L(Vec(0))} = 1

{L(PEx(4))} = …

Соседние файлы в папке Курсовик (вар 1)