Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по ТЯП(РЯП).doc
Скачиваний:
17
Добавлен:
01.05.2014
Размер:
572.42 Кб
Скачать
  1. Сокращенная форма.

Входная конструкция:

Последовательность тетрад:

IF

<Выражение>

1

Перевод выражения (R – результат)

THEN

2

BF

L1

R

<Операторы>

3

Перевод операторов

4

DEFL

L1

3. 3. 2. Оператор while.

Входная конструкция:

Последовательность тетрад:

WHILE

1

DEFL

L1

<Выражение>

2

Перевод выражения (R – результат)

DO

3

BF

L2

R

<Операторы>

3

Перевод операторов

BRL

L1

7

DEFL

L2

3. 4. Построение атрибутной транслирующей грамматики.

1) Грамматика G.

1) S -> pro Id ; Def beg Ops end . {вызов Def} {вызов Ops}

2) S -> pro Id ; beg Ops end . {вызов Ops}

3) S -> pro Id ; Def beg end . {вызов Def}

4) S -> pro Id ; beg end .

2) Грамматика G1.

1) Def -> lab DL

2) Def -> con DC

3) Def -> var DV

4) Def -> lab DL con DC

5) Def -> lab DL var DV

6) Def -> con DC var DV

7) Def -> lab DL con DC var DV

8) DL -> Lbs ;

9) Lbs -> Lq {SETLABEL}p

pq

10) Lbs -> Lbs , Lq {SETLABEL}p

pq

11) Lp -> Nat {GETLABEL}q

pq

12) DC -> Iq1 = Cns ; {вызов Cns}q2 {SETCONST}p1 {SETVAL}p2,p3

p1,p2q1

p3q2

13) DC -> DC Iq1 = Cns ; {вызов Cns}q2 {SETCONST}p1 {SETVAL}p2,p3

p1,p2q1

p3q2

14) DV -> Idsq1 : Typq2,q3 ; {SETTYPE}p1,p2,p3

p1q1

p2q2

p3q3

15) DV -> DV Idsq1 : Typq2,q3 ; {SETTYPE}p1,p2,p3

p1q1

p2q2

p3q3

  1. Idsp -> Iq

pq

17) Idsp -> Idsq1 , Iq2

pq1+q2

18) Ip -> Id {GETID}q

pq

19) Typp1,p2 -> reareal

p1real

p20

20) Typp1,p2 -> intinteger

p1integer

p20

21) Typp1,p2 -> vecvector [ Id ] {GETID}q2 {GETIDVAL}q3

q3q2

p1vector

p2q3

22) Typp1,p2 -> vecvector [ Nat ] {GETNAT}q

qNewId

p1vector

p2q

3. Грамматика G2.

1) Ops -> Op

2) Ops -> Ops ; Op

3) Op -> Lab OpE

4) Op -> Lab OpC

5) Op -> OpE

6) Op -> OpC

7) Lab -> Nat : {GETNAT}q {DEFL}p

pq

8) OpC -> B Ops E

9) OpC -> beg end {BLBEG} {BLEND}

10) B -> beg {BLBEG}

11) E -> end {BLEND}

12) OpE -> Op1

13) OpE -> Op2

14) OpE -> Op3

15) OpE -> Op4

16) OpE -> Op5

17) OpE -> Op6

18) Op1 -> Iq1 := ArEq2 {:=}p2,p1

p1q1

p2q2

19) Ip -> Id {GETID}q

pq

20) Ip -> CVe {вызов CVe}q

pq

21) Op2 -> rd ( Str )

22) Op2 -> rdl ( Str ) {CR} {LF}

23) Str -> Iq {READ}p

pq

24) Str -> Str , Iq {READ}p

pq

25) Op3 -> wr ( Out )

26) Op3 -> wrl ( Out ) {CR} {LF}

27) Out -> SO

28) SO -> ArE {вызов ArE}q {WRITE}p,0,-1

pq

29) SO -> ArE : ArE {вызов ArE}q1 {вызов ArE}q2 {WRITE}p1,p2,-1

p1q1

p2q2

30) SO -> ArE : ArE : ArE {вызов ArE}q1 {вызов ArE}q2

{вызов ArE}q3 {WRITE}p1,p2,p3

p1q1

p2q2

p3q3

31) Op4 -> got Nat {GETNAT}q {BRL}p

pq

32) Op5 -> if Expq1 {BF}q2,p1 T1 {BRL}q3 {DEFL}p2 T2 {DEFL}p3

q2NewLabel // Генерация новой метки с занесением в таблицу целых чисел

q3NewLabel

p1q1

p2q2

p3q3

33) Op5 -> if Expq1 {BF}q2,p1 THE Op {DEFL}p2

q2NewLabel // Генерация новой метки с занесением в таблицу целых чисел

p1q1

p2q2

34) T1 -> THE Op

35) T2 -> ELS Op

  1. THE -> the

37) ELS -> els

38) Op6 -> WHI {DEFL}q1 Expq2 DO {BF}q3,p2 Op {BRL}p1 {DEFL}p3

q1NewLabel

q3NewLabel

p1q1

p2q2

p3q3

39) WHI -> whi

40) DO -> do

41) Expp4 -> ArE rel ArE {вызов ArE}q1{вызов ArE}q2 {GETREL}q3 {REL}p3,p1,p2,q4

q4NewId

p1q1

p2q2

p3q3

p4q4

42) Expp3 -> ArE = ArE {вызов ArE}q1 {вызов ArE}q2 {=}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

4. Грамматика G3.

1) ArEs -> Eq1,q2 Tq3 {+}p2,p1,p3,t

tNewId // Генерация нового идентификатора c занесением в таблицу

p1q1

p2q2

p3q3

st

2) ArEs -> Tt

st

3) Ep1,p2 -> ArE + {вызов ArE}q1 {GETOP}q2

p1q1

p2q2

4) Ts -> T1q1,q2 Pq3 {*}p2,p1,p3,t

tNewId

p1q1

p2q2

p3q3

st

5) Ts -> Pt

st

6) T1p1,p2 -> Tq1 * {GETOP}q2

p1q1

p2q2

7) Pp -> Cns {вызов Cns}q

pq

8) Pp -> Id {GETID}q

pq

9) Pp -> CVe {вызов CVe}q

pq

10) Pp -> VOp {вызов VOp}q

pq

11) Pp -> ( ArE ) {вызов ArE}q

pq

5. Грамматика G4.

1) VOpp2 -> len ( Id ) {GETID}q1 {LENGTH}p1,q2

q2NewId

p1q1

p2q2

2) VOpp2 -> len ( VOp ) {вызов VOp}q1 {LENGTH}p1,q2

q2NewId

p1q1

p2q2

3) VOpp3 -> sum ( Id , Id ) {GETID}q1 {GETID}q2 {SUM}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

4) VOpp3 -> sum ( Id , VOp ) {GETID}q1 {вызов VOp}q2 {SUM}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

5) VOpp3 -> sum ( VOp , Id ) {вызов VOp}q1 {GETID}q2 {SUM}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

6) VOpp3 -> sum ( VOp , VOp ){вызов VOp}q1 {вызов VOp}q2 {SUM}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

7) VOpp3 -> ms ( Id , Id ) {GETID}q1 {GETID}q2 {MULTSCAL}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

8) VOpp3 -> ms ( Id , VOp ) {GETID}q1 {вызов VOp}q2{MULTSCAL}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

9) VOpp3 -> ms ( VOp , Id ) {вызов VOp}q1{GETID}q2 {MULTSCAL}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

10) VOpp3 -> ms ( VOp, VOp ){вызов VOp}q1 {вызов VOp}q2{MULTSCAL}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

11) VOpp3 -> mc ( Id , Cns ){GETID}q1 {вызов Cns}q2 {MULTCONST}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

12) VOpp3 -> mc ( VOp , Cns ) {вызов VOp}q1 {вызов Cns}q2{MULTCONST}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

13) VOpp3 -> mc ( Id , Id ) {GETID}q1 {GETID}q2 {MULTCONST}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

14) VOpp3 -> mc ( VOp, Id ) {вызов VOp}q1 {GETID}q2 {MULTCONST}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

6. Грамматика G5.

1) Cnsp -> Nat {GETNAT}q

qNewId

pq

2) Cnsp3 -> + Nat {GETOP}q1 {GETNAT}q2 {+}p1,p2,q3

q2NewId

q3NewId

p1q1

p2q2

p3q3

3) Cnsp -> Num {GETNUM}q

qNewId

pq

4) Cnsp3 -> + Num {GETOP}q1 {GETNUM}q2 {+}p1,p2,q3

q2NewId

q3NewId

p1q1

p2q2

p3q3

7. Грамматика G6.

1) CVep3 -> Id [ Id ] {GETID}q1 {GETID}q2 {SUBS}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

2) CVep3 -> Id [ Nat ] {GETID}q1 {GETNAT}q2 {SUBS}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

3) CVep3 -> Id [ ArE ] {GETID}q1 {вызов ArE}q2 {SUBS}p1,p2,q3

q3NewId

p1q1

p2q2

p3q3

3. 5. Описания операционных сиволов.

Операционный символ

Семантика

{вызов Def}, {вызов Ops}

Вызов соответствующих ДМП-процессоров

{вызов ArE}q, {вызов VOp}q, {вызов Cns}q, {вызов CVe}q

Вызов соответствующих ДМП-процессоров. Результат их работы запоминается как атрибут q.

{GETLABEL}p

Получить из таблицы целых чисел константу и запомнить её номер как p.

{SETLABEL}p

Установить в поле «метка» константы из таблицы целых чисел, определяемой атрибутом p, значение TRUE.

{GETNAT}q

Получить из таблицы целых чисел константу и записать её значение в поле «значение идентификатора» идентификатора, определяемого атрибутом q. Установить в поле «тип идентификатора» значение integer.

{GETNUM}q

Получить из таблицы вещественных чисел константу и записать её значение в поле «значение идентификатора» идентификатора, определяемого атрибутом q. Установить в поле «тип идентификатора» значение real.

{SETCONST}p

Установить в поле «константа» идентификатора, определяемого атрибутом p, значение TRUE.

{SETTYPE}p1,p2,p3

Установить в таблице идентификаторов в поле «тип» идентификатора, определяемого атрибутом p1, значение, определяемое атрибутом p2; в поле «размерность вектора» – значение, определяемое атрибутом p3

{SETVAL}p1,p2

Установить в таблице идентификаторов в поле «значение» идентификатора, определяемого атрибутом p1, значение, определяемое атрибутом p2.

{GETID}q

Получить из таблицы идентификаторов имя идентификатора и запомнить его как атрибут q

{GETIDVAL}q

Получить из таблицы идентификаторов значение идентификатора. Если оно целое число, то запомнить его как атрибут q, иначе синтаксическая ошибка.

{DEFL}p

Определить, есть ли в таблице целых чисел константа-метка, определяемая атрибутом p. Если есть, то записать на выход тетраду DEFL, p, , . Если нет, то синтаксическая ошибка.

{BLBEG}

Записать на выход тетраду BLBEG, , ,

{BLEND}

Записать на выход тетраду BLEND, , ,

{:=}p2,p1

Получить из таблицы идентификаторов значение поля «константа» идентификатора, определяемого атрибутом p1. Если TRUE, то синтаксическая ошибка, иначе получить из таблицы идентификаторов типы идентификаторов, определяемых атрибутами p1, p2. Если p1 - real и p2 - real или p1 - integer и p2 - integer, то записать на выход тетраду :=, p2, , p1. Если p1 - real, p2- integer, то записать на выход тетрады ITOA, p2, , t и :=, t, , p1 . Во всех остальных случаях – синтаксическая ошибка.

{READ}p

Получить из таблицы идентификаторов тип идентификатора, определяемого атрибутом p. Если real или integer, то записать на выход тетраду read, p, , . Иначе синтаксическая ошибка.

{WRITE}p1,p2,p3

Получить из таблицы идентификаторов типы идентификаторов, определяемых атрибутами p1, p2, p3. Если значения типов real, integer, integer или integer, integer, integer, то записать на выход тетраду write, p1, p2, p3 . Иначе синтаксическая ошибка.

{CR}

Записать на выход тетраду CR, , ,

{LF}

Записать на выход тетраду LF, , ,

{BRL}p

Определить, есть ли в таблице целых чисел константа-метка, определяемая атрибутом p. Если есть, то записать на выход тетраду BRL, p, , . Иначе синтаксическая ошибка.

{BF}p1,p2

Определить, есть ли в таблице целых чисел константа-метка, определяемая атрибутом p1. Если есть, то записать на выход тетраду

BF, p1, p2,

{GETREL}q

Получить из таблицы однолитерных или двухлитерных разделителей знак отношения и запомнить его как атрибут q.

{REL}p1,p2,p3,q

Получить из таблицы идентификаторов типы идентификаторов, определяемых атрибутами p2, p3. Если значение хотя бы одного типа – vector, то синтаксическая ошибка. Иначе если p2 – real, p3 – real или p2 – integer, p3 – integer, то записать на выход тетраду rel, p2, p3, q . Если p2 – real, p3 – integer, то записать на выход тетрады ITOA, p3, , t и rel, p2, t, q. Если p2 – integer, p3 – real, то записать на выход тетрады ITOA, p2, , t и rel, t, p3, q . Здесь rel – знак отношения, определяемого атрибутом p1.

{=}p1,p2,q

Получить из таблицы идентификаторов типы идентификаторов, определяемых атрибутами p1, p2. Если значение хотя бы одного типа – vector, то синтаксическая ошибка. Иначе если p1 – real, p2 – real или p1 – integer, p2 – integer, то записать на выход тетраду =, p2, p3, q . Если p1 – real, p2 – integer, то записать на выход тетрады ITOA, p2, , t и =, p1, t, q. Если p1 – integer, p2 – real, то записать на выход тетрады ITOA, p1, , t и =, t, p2, q .

{GETOP}q

Получить из таблицы однолитерных разделителей знак операции и запомнить его как атрибут q.

{+}p3,p1,p2,q

{*}p3,p1,p2,q

Получить из таблицы идентификаторов типы идентификаторов, определяемых атрибутами p1, p2. Если значение хотя бы одного типа – vector, то синтаксическая ошибка. Иначе установить в поле «тип» идентификатора, определяемого атрибутом q, значение в соответствии с операцией, определяемой атрибутом p3, и типами идентификаторов, определяемых атрибутами p1, p2 (см. таблицу преобразования типов для бинарных арифметических операций). Записать на выход тетраду op, p1, p2, q .

Здесь op – операция, определяемая атрибутом p3.

{LENGTH}p,q

Получить из таблицы идентификаторов идентификатор, определяемый атрибутом p. Если тип идентификатора не vector, то синтаксическая ошибка. Иначе установить в поле «тип» идентификатора, определяемого атрибутом q, значение real. Записать на выход тетраду length, p, , q .

{SUM}p1,p2,q

Получить из таблицы идентификаторов идентификаторы, определяемые атрибутами p1, p2. Если тип хотя бы одного идентификатора не vector или значения размерности векторов идентификаторов не равны, то синтаксическая ошибка. Иначе установить в поле «тип» идентификатора, определяемого атрибутом q, значение vector, в поле «размерность вектора» – значение размерности вектора идентификатора, определяемого атрибутом p1. Записать на выход тетраду sum, p1, p2, q

{MULTSCAL}p1,p2,q

Получить из таблицы идентификаторов идентификаторы, определяемые атрибутами p1, p2. Если тип хотя бы одного идентификатора не vector или значения размерности векторов идентификаторов не равны, то синтаксическая ошибка. Иначе установить в поле «тип» идентификатора, определяемого атрибутом q, значение real. Записать на выход тетраду multscal, p1, p2, q .

{MULTCONST}p1,p2,q

Получить из таблицы идентификаторов идентификаторы, определяемые атрибутами p1, p2. Если тип первого идентификатора не vector или тип второго идентификатора vector, то синтаксическая ошибка. Иначе установить в поле «тип» идентификатора, определяемого атрибутом q, значение vector, в поле «размерность вектора» – значение размерности вектора идентификатора, определяемого атрибутом p1. Если p2 – real, то записать на выход тетраду multconst, p1, p2, q , иначе записать на выход тетрады ITOA, p2, , t и multconst, p1, p2, q .

{+}p1,p2,q

Получить из таблицы идентификаторов значение типа идентификатора, определяемого атрибутом p2, и установить его в поле «тип» идентификатора, определяемого атрибутом q. Если значение атрибута p1 – «+», то записать на выход тетраду :=, p2, , q , если «-», то тетраду -, p2, , q .

{SUBS}p1,p2,q3

Получить из таблицы идентификаторов тип идентификатора, определяемого атрибутом p1. Если не vector, то синтаксическая ошибка. Иначе установить в поле «тип» идентификатора, определяемого атрибутом p3, значение real; проверить, что тип константы или идентификатора, определяемого атрибутом p2 – целый. Если нет, то синтаксическая ошибка, иначе записать на выход тетраду SUBS, p1, p2, q3

3. 6. Построение атрибутных ДМП-процессоров.

1) ДМП-процессор для грамматики G.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 11 * 9 ) :

============================================

I IDef!Ops!pro!beg!end!; !. !Id !EpsI

============================================

IS IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IDef IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOps IОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Ipro IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

Ibeg IОШ !ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iend IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I; IПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I. IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IId IОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I + IОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I + S IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

============================================

---- функция "свертка" ( количество элементов : 10 * 4 ) :

====================

I I1 !2 !3 !4 I

====================

IS IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

IDef IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

IOps IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

Ipro IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

Ibeg IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

Iend IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I; IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I. IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

IId IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I + I1 !2 !3 !4 I

====================

2) ДМП-процессор для грамматики G1.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 26 * 16 ) :

========================================================================

I Ilab!con!var!; !, !: != !Cns!Id !Nat![ !] !rea!int!vec!EpsI

========================================================================

IDef IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IDL IОШ !ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ILbs IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IL IОШ !ОШ !ОШ ! C ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IDC IОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IDV IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IIds IОШ !ОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

II IОШ !ОШ !ОШ !ОШ ! C ! C !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ITyp IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ilab IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Icon IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ivar IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I; IОШ ! C ! C !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I, IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I: IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I= IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ICns IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IId IОШ !ОШ !ОШ !ОШ ! C ! C ! C !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

INat IОШ !ОШ !ОШ ! C ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I[ IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I] IОШ !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Irea IОШ !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iint IОШ !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ivec IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I + IПЕР!ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I + DefIОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

========================================================================

---- функция "свертка" ( количество элементов : 25 * 22 ) :

=======================================================================

I I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11!12!13!14!15!16!17!18!19!20!21I

=======================================================================

IDef IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IDL IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ILbs IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IL IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IDC IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!18!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IDV IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!12!ОШ!14!ОШ!16!17!18!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IIds IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

II IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ITyp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ilab IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!8 !9 !10!11!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Icon IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!12!13!ОШ!ОШ!16!ОШ!18!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ivar IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!12!ОШ!14!15!16!17!18!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I; IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I, IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!11!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!18!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I: IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I= IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ICns IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IId IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

INat IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I[ IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I] IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Irea IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iint IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ivec IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I + I1 !2 !3 !4 !5 !6 !7 !ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

=======================================================================

===========

I I22I

===========

IDef IОШI

I------I--I

IDL IОШI

I------I--I

ILbs IОШI

I------I--I

IL IОШI

I------I--I

IDC IОШI

I------I--I

IDV IОШI

I------I--I

IIds IОШI

I------I--I

II IОШI

I------I--I

ITyp IОШI

I------I--I

Ilab IОШI

I------I--I

Icon IОШI

I------I--I

Ivar IОШI

I------I--I

I; IОШI

I------I--I

I, IОШI

I------I--I

I: I22I

I------I--I

I= IОШI

I------I--I

ICns IОШI

I------I--I

IId IОШI

I------I--I

INat IОШI

I------I--I

I[ IОШI

I------I--I

I] IОШI

I------I--I

Irea IОШI

I------I--I

Iint IОШI

I------I--I

Ivec IОШI

I------I--I

I + IОШI

===========

  1. ДМП-процессор для грамматики G2.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 50 * 25 ) :

========================================================================

I Ibeg!end!rd !rdl!wr !wrl!got!if !the!els!whi!do !; !: !( !) I

========================================================================

IOps IОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ILab IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOpC IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IB IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IE IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOpE IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp1 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

II IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp2 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IStr IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕРI

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp3 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOut IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕРI

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ISO IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp4 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp5 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IT1 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IT2 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ITHE IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IELS IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IOp6 IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IWHI IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IDO IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IExp IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ibeg I C !ПЕР! C ! C ! C ! C ! C ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iend IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ird IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Irdl IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iwr IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iwrl IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Igot IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iif IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ithe I C !ОШ ! C ! C ! C ! C ! C ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iels I C !ОШ ! C ! C ! C ! C ! C ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Iwhi IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Ido I C !ОШ ! C ! C ! C ! C ! C ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I; IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I: I C !ОШ ! C ! C ! C ! C ! C ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I( IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I) IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I, IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I= IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I:= IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IId IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

INat IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ ! C !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

Irel IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

IArE IОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C ! C !ОШ ! C ! C !ПЕР!ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

ICVe IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I + IПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---I

I + OpsIОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

========================================================================

============================================

I I, != !:= !Id !Nat!rel!ArE!CVe!EpsI

============================================

IOps IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOp IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

ILab IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOpC IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IB IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IE IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IOpE IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IOp1 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

II I C !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOp2 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IStr IПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOp3 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IOut IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

ISO IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOp4 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IOp5 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IT1 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IT2 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

ITHE IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IELS IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IOp6 IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IWHI IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IDO IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IExp IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Ibeg IОШ !ОШ !ОШ ! C ! C !ОШ !ОШ ! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iend IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

Ird IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Irdl IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iwr IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iwrl IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Igot IОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iif IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Ithe IОШ !ОШ !ОШ ! C ! C !ОШ !ОШ ! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iels IОШ !ОШ !ОШ ! C ! C !ОШ !ОШ ! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Iwhi IОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

Ido IОШ !ОШ !ОШ ! C ! C !ОШ !ОШ ! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I; IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

I: IОШ !ОШ !ОШ ! C !ОШ !ОШ !ПЕР! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I( IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

I) IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

I, IОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

I= IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I:= IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IId I C !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

INat IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

Irel IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IArE IОШ !ПЕР!ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

ICVe I C !ОШ ! C !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I + IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

I + OpsIОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

============================================

---- функция "свертка" ( количество элементов : 49 * 42 ) :

=======================================================================

I I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11!12!13!14!15!16!17!18!19!20!21I

=======================================================================

IOps IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!11!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ILab IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOpC IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IB I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOpE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp1 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

II IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp2 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IStr IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp3 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOut IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ISO IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp4 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp5 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IT1 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IT2 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ITHE IОШ!ОШ!3 !4 !5 !6 !7 !8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IELS IОШ!ОШ!3 !4 !5 !6 !7 !8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp6 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IWHI IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IDO IОШ!ОШ!3 !4 !5 !6 !7 !8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IExp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ibeg IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iend IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ird IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Irdl IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iwr IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iwrl IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Igot IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iif IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ithe IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iels IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iwhi IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ido IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I; IОШ!ОШ!3 !4 !5 !6 !7 !8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I: IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I( IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!18!19!20!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I) IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I, IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!19!20!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I= IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I:= IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IId IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

INat IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Irel IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IArE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ICVe IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I + I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!ОШ!12!13!14!15!16!17!18!19!20!21I

=======================================================================

=======================================================================

I I22!23!24!25!26!27!28!29!30!31!32!33!34!35!36!37!38!39!40!41!42I

=======================================================================

IOps IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ILab I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOpC IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IB I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOpE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp1 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

II IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp2 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IStr IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp3 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOut IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ISO IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp4 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp5 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IT1 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!35!ОШ!37!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IT2 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ITHE I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IELS I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IOp6 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IWHI IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!28!29!30!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!41!42I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IDO I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IExp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!34!ОШ!36!ОШ!ОШ!ОШ!40!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ibeg IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iend IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ird IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Irdl IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iwr IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iwrl IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Igot IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iif IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!28!29!30!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!41!42I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ithe IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iels IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Iwhi IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ido IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I; I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I: IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I( IОШ!23!24!ОШ!ОШ!27!28!29!30!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!41!42I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I) IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I, IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I= IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I:= IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IId IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

INat IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Irel IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IArE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ICVe IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I + I22!23!ОШ!25!26!ОШ!ОШ!ОШ!ОШ!31!32!33!ОШ!ОШ!ОШ!ОШ!38!39!ОШ!ОШ!ОШI

=======================================================================

  1. ДМП-процессор для грамматики G3.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 15 * 9 ) :

============================================

I I+ !* !( !) !Id !CVe!Cns!VOp!EpsI

============================================

IArE IПЕР!ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---I

IE IОШ !ОШ !ПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IT I C !ПЕР!ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IT1 IОШ !ОШ !ПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

IP I C ! C !ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

I+ IОШ !ОШ ! C !ОШ ! C ! C ! C ! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I* IОШ !ОШ ! C !ОШ ! C ! C ! C ! C !ОШ I

I------I---+---+---+---+---+---+---+---+---I

I( IОШ !ОШ !ПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

I) I C ! C !ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IId I C ! C !ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

ICVe I C ! C !ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

ICns I C ! C !ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

IVOp I C ! C !ОШ ! C !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---I

I + IОШ !ОШ !ПЕР!ОШ !ПЕР!ПЕР!ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---I

I + ArEIОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

============================================

---- функция "свертка" ( количество элементов : 14 * 11 ) :

=========================================

I I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11I

=========================================

IArE IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

IE IОШ!2 !ОШ!4 !5 !6 !7 !8 !9 !10!11I

I------I--+--+--+--+--+--+--+--+--+--+--I

IT IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

IT1 IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!7 !8 !9 !10!11I

I------I--+--+--+--+--+--+--+--+--+--+--I

IP IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

I+ IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

I* IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

I( I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11I

I------I--+--+--+--+--+--+--+--+--+--+--I

I) IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

IId IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

ICVe IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

ICns IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

IVOp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--I

I + I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11I

=========================================

  1. ДМП-процессор для грамматики G4.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 12 * 10 ) :

================================================

I Ilen!sum!ms !mc !, !( !) !Id !Cns!EpsI

================================================

IVOp IОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

Ilen IОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

Isum IОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

Ims IОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

Imc IОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

I, IПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

I( IПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

I) IОШ !ОШ !ОШ !ОШ ! C !ОШ ! C !ОШ !ОШ ! C I

I------I---+---+---+---+---+---+---+---+---+---I

IId IОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

ICns IОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

I + IПЕР!ПЕР!ПЕР!ПЕР!ОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---+---+---+---+---I

I + VOpIОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

================================================

---- функция "свертка" ( количество элементов : 11 * 14 ) :

==================================================

I I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11!12!13!14I

==================================================

IVOp IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ilen IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Isum IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Ims IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

Imc IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I, I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11!12!13!14I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I( I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11!12!13!14I

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I) IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

IId IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

ICns IОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШ!ОШI

I------I--+--+--+--+--+--+--+--+--+--+--+--+--+--I

I + I1 !2 !3 !4 !5 !6 !7 !8 !9 !10!11!12!13!14I

==================================================

  1. ДМП-процессор для грамматики G5.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 6 * 4 ) :

========================

I INat!Num!+ !EpsI

========================

ICns IОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---I

INat IОШ !ОШ !ОШ ! C I

I------I---+---+---+---I

INum IОШ !ОШ !ОШ ! C I

I------I---+---+---+---I

I+ IПЕР!ПЕР!ОШ !ОШ I

I------I---+---+---+---I

I + IПЕР!ПЕР!ПЕР!ОШ I

I------I---+---+---+---I

I + CnsIОШ !ОШ !ОШ !ДОПI

========================

---- функция "свертка" ( количество элементов : 5 * 4 ) :

====================

I I1 !2 !3 !4 I

====================

ICns IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

INat IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

INum IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I+ IОШ!ОШ!ОШ!ОШI

I------I--+--+--+--I

I + I1 !2 !3 !4 I

====================

  1. ДМП-процессор для грамматики G6.

ФУНКЦИИ ТИПА "ПЕРЕНОС-СВЕРТКА" :

---- функция "перенос" ( количество элементов : 8 * 6 ) :

================================

I IId !Nat!ArE![ !] !EpsI

================================

ICVe IОШ !ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---I

IId IОШ !ОШ !ОШ !ПЕР!ПЕР!ОШ I

I------I---+---+---+---+---+---I

INat IОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---I

IArE IОШ !ОШ !ОШ !ОШ !ПЕР!ОШ I

I------I---+---+---+---+---+---I

I[ IПЕР!ПЕР!ПЕР!ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---I

I] IОШ !ОШ !ОШ !ОШ !ОШ ! C I

I------I---+---+---+---+---+---I

I + IПЕР!ОШ !ОШ !ОШ !ОШ !ОШ I

I------I---+---+---+---+---+---I

I + CVeIОШ !ОШ !ОШ !ОШ !ОШ !ДОПI

================================

---- функция "свертка" ( количество элементов : 7 * 3 ) :

=================

I I1 !2 !3 I

=================

ICVe IОШ!ОШ!ОШI

I------I--+--+--I

IId IОШ!ОШ!ОШI

I------I--+--+--I

INat IОШ!ОШ!ОШI

I------I--+--+--I

IArE IОШ!ОШ!ОШI

I------I--+--+--I

I[ IОШ!ОШ!ОШI

I------I--+--+--I

I] IОШ!ОШ!ОШI

I------I--+--+--I

I + I1 !2 !3 I

=================

4. Генерация ассемблерного кода.

При генерации ассемблерного кода из тетрад учитывалось следующее:

  1. Память выделяется статически.

  2. Под целое число в памяти отводятся 2 байта (слово), под вещественное число – 4 байта (двойное слово).

  3. Вектора представляются в памяти как массивы вещественных чисел.

  4. Под все числовые константы в сегменте данных также выделяется память, так как все арифметические операции производятся с использованием FPU.

  5. Также в сегменте данных выделяется память под вспомогательные целые и вещественные переменные, используемые в программе.

  6. Для обеспечения ввода и вывода были написаны процедуры на Ассемблере. Эти процедуры вставляются в окончательный код только в том случае, если программа должна использовать ввод или вывод соответственно.

  7. В случае если в программе обнаружена ошибка, на экран выводится сообщение с указанием предположительной причины ошибки. Ассемблерный код в этом случае не генерируется.

5. Полный тестовый пример.

1) Исходный файл test.pas.

program Test;

var

r:real;

v:vector[3];

begin

v[1]:=1.2;

v[2]:=2.4;

v[3]:=1.5;

r:=length(v);

if r<1.1 then write(r:0:2) else write(r:0:4)

end.

2) Поток токенов stream.txt.

program 1 1

Id 2 1

; 5 1

var 1 2

Id 2 2

: 5 2

real 1 3

; 5 1

Id 2 3

: 5 2

vector 1 4

[ 5 3

Nat 3 1

] 5 4

; 5 1

begin 1 5

Id 2 3

[ 5 3

Nat 3 2

] 5 4

:= 6 1

Num 4 1

; 5 1

Id 2 3

[ 5 3

Nat 3 3

] 5 4

:= 6 1

Num 4 2

; 5 1

Id 2 3

[ 5 3

Nat 3 4

] 5 4

:= 6 1

Num 4 3

; 5 1

Id 2 2

:= 6 1

length 1 6

( 5 5

Id 2 3

) 5 6

; 5 1

if 1 7

Id 2 2

rel 5 7

Num 4 4

then 1 8

write 1 9

( 5 5

Id 2 2

: 5 2

Nat 3 5

: 5 2

Nat 3 6

) 5 6

else 1 10

write 1 9

( 5 5

Id 2 2

: 5 2

Nat 3 7

: 5 2

Nat 3 8

) 5 6

end 1 11

. 5 8

3) Таблицы лексем table.txt.

program

var

real

vector

begin

length

if

then

write

else

end

#

Test

r

v

#

3

1

2

3

0

2

0

4

#

1.2

2.4

1.5

1.1

#

;

:

[

]

(

)

<

.

#

:=

#

4) Тетрады tetrads.txt.

DEFMEMORY, v, 3,

SUBS, v, 1, el_v_1

:=, 1.2, , el_v_1

SUBS, v, 2, el_v_2

:=, 2.4, , el_v_2

SUBS, v, 3, el_v_3

:=, 1.5, , el_v_3

NEWID, id1, real,

LENGTH, v, ,id1

:=, id1, , r

NEWID, exp1, integer,

<, r, 1.1, exp1

NEWLABEL, lab1_if1, ,

BF, lab1_if1, exp1 ,

WRITE, r, 0, 2

NEWLABEL, lab2_if1, ,

BRL, lab2_if1, ,

DEFL, lab1_if1, ,

WRITE, r, 0, 4

DEFL, lab2_if1, ,

5) Ассемблерный код progr.asm.

.286

.287

AStack SEGMENT STACK

DW 64 DUP(?)

AStack ENDS

DATA SEGMENT

MINUS DB '-','$'

DOT DB '.','$'

iTmp DW 0

rTmp DD 10.0

rTmp1 DD 0.0

_r_r DD 0

_v_v DD 3 DUP(0.0)

_r_id1 DD 0.0

_i_exp1 DW 0

_i0 DW 3

_i1 DW 1

_r2 DD 1.2

_i3 DW 2

_r4 DD 2.4

_r5 DD 1.5

_r6 DD 1.1

_i7 DW 0

_i8 DW 4

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:AStack

; Процедура печати строки

WriteMsg PROC NEAR

push AX

mov AH,9

int 21h

pop AX

ret

WriteMsg ENDP

; Процедура, выводящая на экран целое десятичное число без знака

; выводимое число в регистре AX

PrnDec PROC NEAR

push AX; сохраняем регистры

push CX

push DX

push -1; сохраняем признак конца числа

mov CX,10; делим на 10

pdl1: xor DX,DX; очистим регистр DX

div CX; делим

push DX; сохраняем цифру

or AX,AX; в остатке 0?

jne pdl1; если нет, прдолжим

mov AH,2h

pdl2: pop DX; восстановим цифру

or DX,DX; если дошли до конца, выходим

jl pdl3

add DL,'0'; преобразуем в цифру