1. Функции переходов преобразователя

1. Для всех правил вида <A>b, где bVтвх и (VтвхUVтвыхUVa)*, строим команды вида: f( S, b, A)=( S, ’, $), где ’-зеркальное отражение цепочки .

( S, {, <I>)=( S, } <опер.># #<опис.>, $ )

( S, "<arr>" , <массив b> )=(S,"</arr>"<r3>#РМ## #<Ч.># #" "#bool## #<ид.>,$)

( S, "<arr>" , <массив c> )=(S, "</arr>" <r3>#РМ## #<Ч.># #" "#char## #<ид.>,$)

( S, " " , <r3> ) = (S , <r3>#РМ## #<Ч.># # , $ )

( S, "<marr>" , <эл.мас.> ) = ( S, "</marr>"<r4>#ЭМ## #<Ч.># #" "<ид.>,$)

( S, " " , <r4> ) = ( S, <r4>#ЭМ## #<ч.># # , $ )

( S, a, <Б.> ) = ( S, $ , #a# )

( S, b, <Б.> ) = ( S, $ , #b# )

( S, c, <Б.> ) = ( S, $ , #c# )

( S, d, <Б.> ) = ( S, $ , #d# )

( S, e, <Б.> ) = ( S, $ , #e# )

( S, 1, <Ц.> ) = ( S, $ , #1# )

( S, 2, <Ц.> ) = ( S, $ , #2# )

( S, 3, <Ц.> ) = ( S, $ , #3# )

( S, 4, <Ц.> ) = ( S, $ , #4# )

( S, 5, <Ц.> ) = ( S, $ , #5# )

( S, 6, <Ц.> ) = ( S, $ , #6# )

( S, 7, <Ц.> ) = ( S, $ , #7# )

( S, 8, <Ц.> ) = ( S, $ , #8# )

( S, 9, <Ц.> ) = ( S, $ , #9# )

( S, 0, <Ц.> ) = ( S, $ , #0# )

( S, "'a'" , <С.> ) = ( S, $ , #'a'# )

( S, "'b'" , <С.> ) = ( S, $ , #'b'# )

( S, "'c'" , <С.> ) = ( S, $ , #'c'# )

( S, "'d'" , <С.> ) = ( S, $ , #'d'# )

( S, "'e'" , <С.> ) = ( S, $ , #'d'# )

( S, "true" , <К.> ) = ( S, $ , #'true'# )

( S, "false" , <К.> ) = ( S, $ , #'false'# )

( S, "<bool>" , <опис.> ) = ( S, <r5> ;"</bool>" <тип bool> , $ )

( S, "<char>" , <опис.> ) = ( S, <r5> ;"</char>" <тип char> , $ )

( S, "<ass>" , <тип bool> ) = ( S, <r6> "</ass>"#=#<класс bool> , $ )

( S, "<iarr>" , <иниц.мас.bool> ) = ( S, "</iarr>" <константы> , $ )

( S, " " , <r7> ) = ( S, <r7> <К.># # , $ )

( S, "," , <r6> ) = ( S, <тип bool># # , $ )

( S, "<ass>" , <тип char> ) = ( S, <r8> "</ass>"#=#<класс char> , $ )

( S, "<iarr>" , <иниц.мас.char> ) = ( S, "</iarr>" <символы> , $ )

( S, " " , <r9> ) = ( S, <r9> <С.># # , $ )

( S, "," , <r8> ) = ( S, <тип char># # , $ )

( S, "<ass>" , <опер.> ) = ( S, <r10> ;"</ass>"#=#<Л.опер.># #" " <Оп.1> , $ )

( S, "<and>" , <Л.опер.> ) = ( S, "</and>"#&#<Оп.2># #" " <Оп.2> , $ )

( S, "<or>" , <Л.опер.> ) = ( S, "</or>"#v#<Оп.2># #" " <Оп.2> , $ )

( S, "<not>" , <Л.опер.> ) = ( S, "</not>"#!#<Оп.2> , $ )

2. Для всех правил вида <A><B>, где BVa и (VтвхUVтвыхUVa)*, строим коман-ды вида: f*( S, x, <A>)=( S, <B>, $) для всех xВЫБОР(<A><B>вх), где вх-цепочка, по-лученная из  путем удаления из нее всех выходных символов.

*( S, 1, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 2, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 3, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 4, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 5, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 6, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 7, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 8, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 9, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 0, <Ч.> ) = ( S, <r1> <Ц.> , $ )

*( S, 1, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 2, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 3, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 4, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 5, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 6, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 7, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 8, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 9, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, 0, <r1> ) = ( S, <r1> <Ц.> , $ )

*( S, a, <ид.> ) = ( S, <r2> <Б.> , $ )

*( S, b, <ид.> ) = ( S, <r2> <Б.> , $ )

*( S, c, <ид.> ) = ( S, <r2> <Б.> , $ )

*( S, d, <ид.> ) = ( S, <r2> <Б.> , $ )

*( S, e, <ид.> ) = ( S, <r2> <Б.> , $ )

*( S, a, <r2> ) = ( S, <r2> <Б.> , $ )

*( S, b, <r2> ) = ( S, <r2> <Б.> , $ )

*( S, c, <r2> ) = ( S, <r2> <Б.> , $ )

*( S, d, <r2> ) = ( S, <r2> <Б.> , $ )

*( S, e, <r2> ) = ( S, <r2> <Б.> , $ )

*( S, 1, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 2, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 3, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 4, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 5, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 6, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 7, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 8, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 9, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, 0, <r2> ) = ( S, <r2> <Ц.> , $ )

*( S, "<bool>" , <r5> ) = ( S, <опис.># # , $ )

*( S, "<char>" , <r5> ) = ( S, <опис.># # , $ )

*( S, a, <тип bool> ) = ( S, <r6>#bool## #<ид.> , $ )

*( S, b, <тип bool> ) = ( S, <r6>#bool## #<ид.> , $ )

*( S, c, <тип bool> ) = ( S, <r6>#bool## #<ид.> , $ )

*( S, d, <тип bool> ) = ( S, <r6>#bool## #<ид.> , $ )

*( S, e, <тип bool> ) = ( S, <r6>#bool## #<ид.> , $ )

*( S, "<arr>" , <тип bool> ) = ( S, <r6> <массив b> , $ )

*( S, a, <класс bool> ) = ( S, <К.># ##bool## #" "<ид.> , $ )

*( S, b, <класс bool> ) = ( S, <К.># ##bool## #" "<ид.> , $ )

*( S, c, <класс bool> ) = ( S, <К.># ##bool## #" "<ид.> , $ )

*( S, d, <класс bool> ) = ( S, <К.># ##bool## #" "<ид.> , $ )

*( S, e, <класс bool> ) = ( S, <К.># ##bool## #" "<ид.> , $ )

*( S, "<arr>" , <класс bool> ) = ( S, <иниц.мас.bool> <массив b> , $ )

*( S, "true" , <константы> ) = ( S, <r7> <К.># # , $ )

*( S, "false" , <константы> ) = ( S, <r7> <К.># # , $ )

*( S, a, <тип char> ) = ( S, <r8>#char## #<ид.> , $ )

*( S, b, <тип char> ) = ( S, <r8>#char## #<ид.> , $ )

*( S, c, <тип char> ) = ( S, <r8>#char## #<ид.> , $ )

*( S, d, <тип char> ) = ( S, <r8>#char## #<ид.> , $ )

*( S, e, <тип char> ) = ( S, <r8>#char## #<ид.> , $ )

*( S, "<arr>" , <тип char> ) = ( S, <r8> <массив c> , $ )

*( S, a, <класс char> ) = ( S, <С.># ##char## #" "<ид.> , $ )

*( S, b, <класс char> ) = ( S, <С.># ##char## #" "<ид.> , $ )

*( S, c, <класс char> ) = ( S, <С.># ##char## #" "<ид.> , $ )

*( S, d, <класс char> ) = ( S, <С.># ##char## #" "<ид.> , $ )

*( S, e, <класс char> ) = ( S, <С.># ##char## #" "<ид.> , $ )

*( S, "<arr>" , <класс char> ) = ( S, <иниц.мас.char> <массив c> , $ )

*( S, "'a'" , <символы> ) = ( S, <r9> <С.># # , $ )

*( S, "'b'" , <символы> ) = ( S, <r9> <С.># # , $ )

*( S, "'c'" , <символы> ) = ( S, <r9> <С.># # , $ )

*( S, "'d'" , <символы> ) = ( S, <r9> <С.># # , $ )

*( S, "'e'" , <символы> ) = ( S, <r9> <С.># # , $ )

*( S, a, <Оп.1> ) = ( S, <ид.> , $ )

*( S, b, <Оп.1> ) = ( S, <ид.> , $ )

*( S, c, <Оп.1> ) = ( S, <ид.> , $ )

*( S, d, <Оп.1> ) = ( S, <ид.> , $ )

*( S, e, <Оп.1> ) = ( S, <ид.> , $ )

*( S, "<marr>" , <Оп.1> ) = ( S, <эл.мас.> , $ )

*( S, "'a'" , <Оп.2> ) = ( S, <С.> , $ )

*( S, "'b'" , <Оп.2> ) = ( S, <С.> , $ )

*( S, "'c'" , <Оп.2> ) = ( S, <С.> , $ )

*( S, "'d'" , <Оп.2> ) = ( S, <С.> , $ )

*( S, "'e'" , <Оп.2> ) = ( S, <С.> , $ )

*( S, "true" , <Оп.2> ) = ( S, <К.> , $ )

*( S, "false" , <Оп.2> ) = ( S, <К.> , $ )

*( S, "<and>" , <Оп.2> ) = ( S, <Л.опер.> , $ )

*( S, "<or>" , <Оп.2> ) = ( S, <Л.опер.> , $ )

*( S, "<not>" , <Оп.2> ) = ( S, <Л.опер.> , $ )

*( S, a, <Оп.2> ) = ( S, <ид.> , $ )

*( S, b, <Оп.2> ) = ( S, <ид.> , $ )

*( S, c, <Оп.2> ) = ( S, <ид.> , $ )

*( S, d, <Оп.2> ) = ( S, <ид.> , $ )

*( S, e, <Оп.2> ) = ( S, <ид.> , $ )

*( S, "<marr>" , <Оп.2> ) = ( S, <эл.мас.> , $ )

*( S, "<ass>" , <r10> ) = ( S, <опер.># # , $ )

3. Для всех правил вида <A>$ строим команды вида: f*( S, x, <A>) = ( s0, $, $ ), для всех xВЫБОР(<A>$), правило <A>$ принадлежит Гвх.

*( S, " " , <r1> ) = ( S, $ , $ )

*( S, "</arr>" , <r1> ) = ( S, $ , $ )

*( S, "</marr>" , <r1> ) = ( S, $ , $ )

*( S, " " , <r2> ) = ( S, $ , $ )

*( S, "</bool>" , <r2> ) = ( S, $ , $ )

*( S, "</char>" , <r2> ) = ( S, $ , $ )

*( S, "," , <r2> ) = ( S, $ , $ )

*( S, "</and>" , <r2> ) = ( S, $ , $ )

*( S, "</or>" , <r2> ) = ( S, $ , $ )

*( S, "</not>" , <r2> ) = ( S, $ , $ )

*( S, "</arr>" , <r3> ) = ( S, $ , $ )

*( S, "</marr>" , <r4> ) = ( S, $ , $ )

*( S, "<ass>" , <r5> ) = ( S, $ , $ )

*( S, "</iarr>" , <r7> ) = ( S, $ , $ )

*( S, "</bool>" , <r6> ) = ( S, $ , $ )

*( S, "</iarr>" , <r9> ) = ( S, $ , $ )

*( S, "</char>" , <r8> ) = ( S, $ , $ )

*( S, } , <r10> ) = ( S, $ ,$ )

3. Для всех xVтвыхU{$} строим команды вида: f*( S, $, x)=( S, $, x).

*( S, $, # # ) = ( S, $, # # )

*( S, $, #bool# ) = ( S, $, #bool# )

*( S, $, #char# ) = ( S, $, #char# )

*( S, $, #РМ# ) = ( S, $, #РМ# )

*( S, $, #ЭМ# ) = ( S, $, #ЭМ# )

*( S, $, #=# ) = ( S, $, #=# )

*( S, $, #&# ) = ( S, $, #&# )

*( S, $, #v# ) = ( S, $, #v# )

*( S, $, #!# ) = ( S, $, #!# )

4. Для символов bVтвх, заносимых в магазин построим команды вида: f( S, b, b)= =( S, $, $).

( S, }, }) = ( S, $ , $ )

( S, " " , " " ) = ( S, $ , $ )

( S, "</arr>" , "</arr>" ) = ( S, $ , $ )

( S, "</marr>" , "</marr>" ) = ( S, $ , $ )

( S, "</bool>" , "</bool>" ) = ( S, $ , $ )

( S, ;, ;) = ( S, $ , $ )

( S, "</char>" , "</char>" ) = ( S, $ , $ )

( S, "</ass>" , "</ass>" ) = ( S, $ , $ )

( S, "</iarr>" , "</iarr>" ) = ( S, $ , $ )

( S, "</and>" , "</and>" ) = ( S, $ , $ )

( S, "</or>" , "</or>" ) = ( S, $ , $ )

( S, "</not>" , "</not>" ) = ( S, $ , $ )

5. Построим команду перехода в заключительное состояние.

( S, , h0) = ( S1, $ , $ )

Пример работы магазинного преобразователя.

Подадим на вход цепочку:

{<bool>a7</bool>;<ass>a7 <not>’false’</not></ass>;}

На выходе магазинного преобразователя получим цепочку:

a7 “BOOL” a7 ‘false’!=

ТАКТ 0

cостояние S

входная цепочка {"<bool>" a7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>""</ass>”;}

магазин <I>h0

выходная цепочка

функция перехода (S,{,<I>)=(S,}<ОПЕР.># #<ОПИС.>,$)

ТАКТ 1

cостояние S

входная цепочка "<bool>" a7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>""</ass>";}

магазин <ОПИС.># #<ОПЕР.>}h0

выходная цепочка

функция перехода (S,"<BOOL>",<ОПИС.>)=(S,<R5>;"</BOOL>"<ТИП BOOL>,$)

ТАКТ 2

cостояние S

входная цепочка a7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>";}

магазин <ТИП BOOL>"</BOOL>";<R5># #<ОПЕР.>}h0

выходная цепочка

функция перехода *(S,a,<ТИП BOOL>)=(S,<R6>#BOOL## #<ИД.>,$)

ТАКТ 3

cостояние S

входная цепочка a7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <ИД.># ##BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.>}h0

выходная цепочка

функция перехода *(S,a,<ИД.>)=(S,<R2><Б.>,$)

ТАКТ 4

cостояние S

входная цепочка a7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <Б.><R2># ##BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.> }h0

выходная цепочка

функция перехода (S,a,<Б.>)=(S,$,#a#)

ТАКТ 5

cостояние S

входная цепочка 7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <R2># ##BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.> }h0

выходная цепочка a

функция перехода *(S,7,<R2>)=(S,<R2><Ц.>,$)

ТАКТ 6

cостояние S

входная цепочка 7"</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <Ц.><R2># #BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.> }h0

выходная цепочка a

функция перехода (S,7,<Ц.>)=(S,$,#7#)

ТАКТ 7

cостояние S

входная цепочка "</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <R2># #BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.>}h0

выходная цепочка a7

функция перехода *(S,"</BOOL>",<R2>)=(S,$,$)

ТАКТ 8

cостояние S

входная цепочка "</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин # ##BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.>}h0

выходная цепочка a7

функция перехода *(S,$,# #)=(S,$,# #)

ТАКТ 9

cостояние S

входная цепочка "</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин #BOOL#<R6>"</BOOL>";<R5># #<ОПЕР.>}h0

выходная цепочка a7

функция перехода *(S,$,#BOOL#)=(S,$,#BOOL#)

ТАКТ 10

cостояние S

входная цепочка "</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <R6>"</BOOL>";<R5># #< ОПЕР.>}h0

выходная цепочка a7 ”BOOL"

функция перехода *(S,"</BOOL>",<R6>)=(S,$,$)

ТАКТ 11

cостояние S

входная цепочка "</bool>" ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин "</BOOL>";<R5># #< ОПЕР.>}h0

выходная цепочка a7 "BOOL"

функция перехода (S,"</BOOL>","</BOOL>")=(S,$,$)

ТАКТ 12

cостояние S

входная цепочка ;"<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин ;<R5># #< ОПЕР.>}h0

выходная цепочка a7 "BOOL"

функция перехода (S,;,;)=(S,$,$)

ТАКТ 13

cостояние S

входная цепочка "<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <R5># #< ОПЕР.>}h0

выходная цепочка a7 "BOOL"

функция перехода *(S,"<ASS>",<R5>)=(S,$,$)

ТАКТ 14

cостояние S

входная цепочка "<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин # #< ОПЕР.>}h0

выходная цепочка a7 "BOOL"

функция перехода *(S,$,# #)=(S,$,# #)

ТАКТ 15

cостояние S

входная цепочка "<ass>" a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <ОПЕР.>}h0

выходная цепочка a7 "BOOL"

функция перехода (S,"<ASS>",<ОПЕР.>)=(S,<R10>;"</ASS>"#=#<Л.ОПЕР.># #” “<ОП1>,$)

ТАКТ 16

cостояние S

входная цепочка a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <ОП.1>" "# #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL"

функция перехода *(S,A,<ОП.1>)=(S,<ИД.>,$)

ТАКТ 17

cостояние S

входная цепочка a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <ИД.>" "# #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL"

функция перехода *(S,A,<ИД.>)=(S,<R2><Б.>,$)

ТАКТ 18

cостояние S

входная цепочка a7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <Б.><R2>" "# #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL"

функция перехода (S,a,<Б.>)=(S,$,#a#)

ТАКТ 19

cостояние S

входная цепочка 7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <R2>" "# #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a

функция перехода *(S,7,<R2>)=(S,<R2><Ц.>,$)

ТАКТ 20

cостояние S

входная цепочка 7" " "<not>" "false" "</not>" "</ass>" ;}

магазин <Ц.><R2>" "# #<ЛОГ.ОПЕРАЦИЯ>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a

функция перехода (S,7,<Ц.>)=(S,$,#7#)

ТАКТ 21

cостояние S

входная цепочка " " "<not>" "false" "</not>" "</ass>" ;}

магазин <R2>" "# #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7

функция перехода *(S," ",<R2>)=(S,$,$)

ТАКТ 22

cостояние S

входная цепочка " " "<not>" "false" "</not>" "</ass>" ;}

магазин " "# #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7

функция перехода (S," "," ")=(S,$,$)

ТАКТ 23

cостояние S

входная цепочка "<not>" "false" "</not>" "</ass>" ;}

магазин # #<Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7

функция перехода *(S,$,# #)=(S,$,# #)

ТАКТ 24

cостояние S

входная цепочка "<not>" "false" "</not>" "</ass>" ;}

магазин <Л.ОПЕР.>#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7

функция перехода (S,"<NOT>",<Л.ОПЕР.>)=(S,"</NOT>"#!#<ОП.2>,$)

ТАКТ 25

cостояние S

входная цепочка "false" "</not>" "</ass>" ;}

магазин <ОП.2>#!#"</NOT>"#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7

функция перехода *(S,"FALSE",<ОП.2>)=(S,<К.>,$)

ТАКТ 26

cостояние S

входная цепочка "false" "</not>" "</ass>" ;}

магазин <К.>#!#"</NOT>"#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7

функция перехода (S,"FALSE",<К.>)=(S,$,#FALSE#)

ТАКТ 27

cостояние S

входная цепочка "</not>" "</ass>" ;}

магазин #!#"</NOT>"#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7 "FALSE"

функция перехода *(S,$,#!#)=(S,$,#!#)

ТАКТ 28

cостояние S

входная цепочка "</not>" "</ass>" ;}

магазин "</NOT>"#=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7 "FALSE"!

функция перехода (S,"</NOT>","</NOT>")=(S,$,$)

ТАКТ 29

cостояние S

входная цепочка "</ass>" ;}

магазин #=#"</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7 "FALSE"!

функция перехода *(S,$,#=#)=(S,$,#=#)

ТАКТ 30

cостояние S

входная цепочка "</ass>" ;}

магазин "</ASS>";<R10>}h0

выходная цепочка a7 "BOOL" a7 "FALSE"!=

функция перехода (S,"</ASS>","</ASS>")=(S,$,$)

ТАКТ 31

cостояние S

входная цепочка ;}

магазин ;<R10>}h0

выходная цепочка a7 "BOOL" a7 "FALSE"!=

функция перехода (S,;,;)=(S,$,$)

ТАКТ 32

cостояние S

входная цепочка }

магазин <R10>}h0

выходная цепочка a7 "BOOL" a7 "FALSE"!=

функция перехода *(S,},<R10>)=(S,$,$)

ТАКТ 33

cостояние S

входная цепочка }

магазин }h0

выходная цепочка a7 "BOOL" a7 "FALSE"!=

функция перехода (S,},})=(S,$,$)

ТАКТ 34

cостояние S

входная цепочка 

магазин h0

выходная цепочка a7 "BOOL" a7 "FALSE"!=

функция перехода (S,,h0)=(S1,$,$)

ТАКТ 35

cостояние S1

входная цепочка 

магазин h0

выходная цепочка a7 "BOOL" a7 "FALSE"!=

Магазинный автомат успешно завершил работу

Соседние файлы в папке Курсовой проект по дисциплине Формальные грамматики, языки и автоматы