- •Транслирующая грамматика
- •C) Функии переходов преобразователя и пример его работы
- •Пример работы преобразователя
- •Лексический анализатор
- •A) Грамматика лексических единиц и структура лексем
- •B) Матрица переходов лексического анализатора
- •D) Структура программы лексического анализатора и пример его работы
- •C) Описание символов действия
- •D) Атрибутная грамматика в окончательном виде
- •E) Вывод в атрибутной грамматике
- •B) Построение инструкций а-преобразвателя
- •C) Фрагмент работы а-преобразователя
- •Заключение
Пример работы преобразователя
ТАКТ 0
cостояние S
входная цепочка "main()" {"for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <PROGRAM>[]
выходная цепочка
функция перехода (S,"MAIN()",<PROGRAM>)=(S,<MAINBLOCK>,$)
ТАКТ 1
cостояние S
входная цепочка {"for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <MAINBLOCK>[]
выходная цепочка
функция перехода (S,{,<MAINBLOCK>)=(S,}<BODY>,$)
ТАКТ 2
cостояние S
входная цепочка "for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <BODY>}[]
выходная цепочка
функция перехода *(S,"FOR(",<BODY>)=(S,<CONT_BODY><DEFINE_CONSTANT>,$)
ТАКТ 3
cостояние S
входная цепочка "for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <DEFINE_CONSTANT><CONT_BODY>}[]
выходная цепочка
функция перехода *(S,"FOR(",<DEFINE_CONSTANT>)=(S,$,$)
ТАКТ 4
cостояние S
входная цепочка "for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <CONT_BODY>}[]
выходная цепочка
функция перехода *(S,"FOR(",<CONT_BODY>)=(S,<CONT_CONT_BODY><CONT_BODY1>,$)
ТАКТ 5
cостояние S
входная цепочка "for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <CONT_BODY1><CONT_CONT_BODY>}[]
выходная цепочка
функция перехода *(S,"FOR(",<CONT_BODY1>)=(S,<FOR>,$)
ТАКТ 6
cостояние S
входная цепочка "for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <FOR><CONT_CONT_BODY>}[]
выходная цепочка
функция перехода *(S,"FOR(",<FOR>)=(S,#"BEG GOTO END:"#;}<CONT_BODY>{<HEAD>,$
ТАКТ 7
cостояние S
входная цепочка "for(" a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка
функция перехода (S,"FOR(",<HEAD>)=(S,<CONT_HEAD><CONDITION1>,#" "#)
ТАКТ 8
cостояние S
входная цепочка a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <CONDITION1><CONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CONT_C
выходная цепочка "" ""
функция перехода *(S,A,<CONDITION1>)=(S,#"="#<CONSTANT>"="<IDENTIFICATOR>,$)
ТАКТ 9
cостояние S
входная цепочка a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <IDENTIFICATOR>"="<CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};...
выходная цепочка "" ""
функция перехода *(S,A,<IDENTIFICATOR>)=(S,<CONT><CHAR>,$)
ТАКТ 10
cостояние S
входная цепочка a=0;a"<" 2;a+1")" {b=2;};}-|
магазин <CHAR><CONT>"="<CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>}...
выходная цепочка "" ""
функция перехода (S,A,<CHAR>)=(S,$,#A#)
ТАКТ 11
cостояние S
входная цепочка =0;a"<" 2;a+1")" {b=2;};}-|
магазин <CONT>"="<CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};...
выходная цепочка "" ""A
функция перехода *(S,=,<CONT>)=(S,$,#" "#)
ТАКТ 12
cостояние S
входная цепочка =0;a"<" 2;a+1")" {b=2;};}-|
магазин "="<CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#.
выходная цепочка "" ""A"" ""
функция перехода (S,=,=)=(S,$,$)
ТАКТ 13
cостояние S
входная цепочка 0;a"<" 2;a+1")" {b=2;};}-|
магазин <CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CON
выходная цепочка "" ""A"" ""
функция перехода *(S,0,<CONSTANT>)=(S,<CONT_CONSTANT><NUMBER>,$)
ТАКТ 14
cостояние S
входная цепочка 0;a"<" 2;a+1")" {b=2;};}-|
магазин <NUMBER><CONT_CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};#"BEG GO
выходная цепочка "" ""A"" ""
функция перехода *(S,0,<NUMBER>)=(S,<CONT_NUMBER><DIGIT>,$)
ТАКТ 15
cостояние S
входная цепочка 0;a"<" 2;a+1")" {b=2;};}-|
магазин <DIGIT><CONT_NUMBER><CONT_CONSTANT>#"="#<CONT_HEAD>{<CONT_BOD
выходная цепочка "" ""A"" ""
функция перехода (S,0,<DIGIT>)=(S,$,#0#)
ТАКТ 16
cостояние S
входная цепочка ;a"<" 2;a+1")" {b=2;};}-|
магазин <CONT_NUMBER><CONT_CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};#"B
выходная цепочка "" ""A"" ""0
функция перехода *(S,;,<CONT_NUMBER>)=(S,$,$)
ТАКТ 17
cостояние S
входная цепочка ;a"<" 2;a+1")" {b=2;};}-|
магазин <CONT_CONSTANT>#"="#<CONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"
выходная цепочка "" ""A"" ""0
функция перехода *(S,;,<CONT_CONSTANT>)=(S,$,$)
ТАКТ 18
cостояние S
входная цепочка ;a"<" 2;a+1")" {b=2;};}-|
магазин #"="#<CONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BOD
выходная цепочка "" ""A"" ""0
функция перехода *(S,$,#"="#)=(S,$,#"="#)
ТАКТ 19
cостояние S
входная цепочка ;a"<" 2;a+1")" {b=2;};}-|
магазин <CONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""
функция перехода (S,";",<CONT_HEAD>)=(S,<RCONT_HEAD>#"END JMP_F"#<CND2>#"BEG
ТАКТ 20
cостояние S
входная цепочка a"<" 2;a+1")" {b=2;};}-|
магазин #"BEG:"#<CND2>#"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG GO
выходная цепочка "" ""A"" ""0""=""
функция перехода *(S,$,#"BEG:"#)=(S,$,#"BEG:"#)
ТАКТ 21
cостояние S
входная цепочка a"<" 2;a+1")" {b=2;};}-|
магазин <CND2>#"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"
выходная цепочка "" ""A"" ""0""=""""BEG:""
функция перехода *(S,A,<CND2>)=(S,<CONT_CND2><IDENTIFICATOR>,$)
ТАКТ 22
cостояние S
входная цепочка a"<" 2;a+1")" {b=2;};}-|
магазин <IDENTIFICATOR><CONT_CND2>#"END JMP_F"#<RCONT_HEAD>{<CONT_BOD
выходная цепочка "" ""A"" ""0""=""""BEG:""
функция перехода *(S,A,<IDENTIFICATOR>)=(S,<CONT><CHAR>,$)
ТАКТ 23
cостояние S
входная цепочка a"<" 2;a+1")" {b=2;};}-|
магазин <CHAR><CONT><CONT_CND2>#"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>}
выходная цепочка "" ""A"" ""0""=""""BEG:""
функция перехода (S,A,<CHAR>)=(S,$,#A#)
ТАКТ 24
cостояние S
входная цепочка "<" 2;a+1")" {b=2;};}-|
магазин <CONT><CONT_CND2>#"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG
выходная цепочка "" ""A"" ""0""=""""BEG:""A
функция перехода *(S,"<",<CONT>)=(S,$,#" "#)
ТАКТ 25
cостояние S
входная цепочка "<" 2;a+1")" {b=2;};}-|
магазин <CONT_CND2>#"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG GOTO
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""
функция перехода (S,"<",<CONT_CND2>)=(S,#"<"#<CONSTANT>,$)
ТАКТ 26
cостояние S
входная цепочка 2;a+1")" {b=2;};}-|
магазин <CONSTANT>#"<"##"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG G
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""
функция перехода *(S,2,<CONSTANT>)=(S,<CONT_CONSTANT><NUMBER>,$)
ТАКТ 27
cостояние S
входная цепочка 2;a+1")" {b=2;};}-|
магазин <NUMBER><CONT_CONSTANT>#"<"##"END JMP_F"#<RCONT_HEAD>{<CONT_B
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""
функция перехода *(S,2,<NUMBER>)=(S,<CONT_NUMBER><DIGIT>,$)
ТАКТ 28
cостояние S
входная цепочка 2;a+1")" {b=2;};}-|
магазин <DIGIT><CONT_NUMBER><CONT_CONSTANT>#"<"##"END JMP_F"#<RCONT_H
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""
функция перехода (S,2,<DIGIT>)=(S,$,#2#)
ТАКТ 29
cостояние S
входная цепочка ;a+1")" {b=2;};}-|
магазин <CONT_NUMBER><CONT_CONSTANT>#"<"##"END JMP_F"#<RCONT_HEAD>{<C
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2
функция перехода *(S,;,<CONT_NUMBER>)=(S,$,$)
ТАКТ 30
cостояние S
входная цепочка ;a+1")" {b=2;};}-|
магазин <CONT_CONSTANT>#"<"##"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2
функция перехода *(S,;,<CONT_CONSTANT>)=(S,$,$)
ТАКТ 31
cостояние S
входная цепочка ;a+1")" {b=2;};}-|
магазин #"<"##"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2
функция перехода *(S,$,#"<"#)=(S,$,#"<"#)
ТАКТ 32
cостояние S
входная цепочка ;a+1")" {b=2;};}-|
магазин #"END JMP_F"#<RCONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CONT
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<""
функция перехода *(S,$,#"END JMP_F"#)=(S,$,#" END JMP_F"#)
ТАКТ 33
cостояние S
входная цепочка ;a+1")" {b=2;};}-|
магазин <RCONT_HEAD>{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""
функция перехода (S,";",<RCONT_HEAD>)=(S,")"<CONDITION3>,$)
ТАКТ 34
cостояние S
входная цепочка a+1")" {b=2;};}-|
магазин <CONDITION3>")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""
функция перехода *(S,A,<CONDITION3>)=(S,<CONT_COND3><IDENTIFICATOR>,$)
ТАКТ 35
cостояние S
входная цепочка a+1")" {b=2;};}-|
магазин <IDENTIFICATOR><CONT_COND3>")"{<CONT_BODY>};#"BEG GOTO END:"#
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""
функция перехода *(S,A,<IDENTIFICATOR>)=(S,<CONT><CHAR>,$)
ТАКТ 36
cостояние S
входная цепочка a+1")" {b=2;};}-|
магазин <CHAR><CONT><CONT_COND3>")"{<CONT_BODY>};#"BEG GOTO END:"#...
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""
функция перехода (S,A,<CHAR>)=(S,$,#A#)
ТАКТ 37
cостояние S
входная цепочка +1")" {b=2;};}-|
магазин <CONT><CONT_COND3>")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CON
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A
функция перехода *(S,+,<CONT>)=(S,$,#" "#)
ТАКТ 38
cостояние S
входная цепочка +1")" {b=2;};}-|
магазин <CONT_COND3>")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""
функция перехода (S,"+",<CONT_COND3>)=(S,#"+"#<R_EQUATION>,$)
ТАКТ 39
cостояние S
входная цепочка 1")" {b=2;};}-|
магазин <R_EQUATION>#"+"#")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""
функция перехода *(S,1,<R_EQUATION>)=(S,<CONT_R_EQUATION><CONSTANT>,$)
ТАКТ 40
cостояние S
входная цепочка 1")" {b=2;};}-|
магазин <CONSTANT><CONT_R_EQUATION>#"+"#")"{<CONT_BODY>};#"BEG GOTO E
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""
функция перехода *(S,1,<CONSTANT>)=(S,<CONT_CONSTANT><NUMBER>,$)
ТАКТ 41
cостояние S
входная цепочка 1")" {b=2;};}-|
магазин <NUMBER><CONT_CONSTANT><CONT_R_EQUATION>#"+"#")"{<CONT_BODY>}
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""
функция перехода *(S,1,<NUMBER>)=(S,<CONT_NUMBER><DIGIT>,$)
ТАКТ 42
cостояние S
входная цепочка 1")" {b=2;};}-|
магазин <DIGIT><CONT_NUMBER><CONT_CONSTANT><CONT_R_EQUATION>#"+"#")"{
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""
функция перехода (S,1,<DIGIT>)=(S,$,#1#)
ТАКТ 43
cостояние S
входная цепочка ")" {b=2;};}-|
магазин <CONT_NUMBER><CONT_CONSTANT><CONT_R_EQUATION>#"+"#")"{<CONT_B
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1
функция перехода *(S,")",<CONT_NUMBER>)=(S,$,#" "#)
ТАКТ 44
cостояние S
входная цепочка ")" {b=2;};}-|
магазин <CONT_CONSTANT><CONT_R_EQUATION>#"+"#")"{<CONT_BODY>};#"BEG G
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,")",<CONT_CONSTANT>)=(S,$,$)
ТАКТ 45
cостояние S
входная цепочка ")" {b=2;};}-|
магазин <CONT_R_EQUATION>#"+"#")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,")",<CONT_R_EQUATION>)=(S,$,$)
ТАКТ 46
cостояние S
входная цепочка ")" {b=2;};}-|
магазин #"+"#")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,$,#"+"#)=(S,$,#+#)
ТАКТ 47
cостояние S
входная цепочка ")" {b=2;};}-|
магазин ")"{<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,")",")")=(S,$,$)
ТАКТ 48
cостояние S
входная цепочка {b=2;};}-|
магазин {<CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,{,{)=(S,$,$)
ТАКТ 49
cостояние S
входная цепочка b=2;};}-|
магазин <CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,B,<CONT_BODY>)=(S,<CONT_CONT_BODY><CONT_BODY1>,$)
ТАКТ 50
cостояние S
входная цепочка b=2;};}-|
магазин <CONT_BODY1><CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BOD
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,B,<CONT_BODY1>)=(S,<EQUATION>,$)
ТАКТ 51
cостояние S
входная цепочка b=2;};}-|
магазин <EQUATION><CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,B,<EQUATION>)=(S,;#"="#<R_EQUATION>"="<IDENTIFICATOR>,$)
ТАКТ 52
cостояние S
входная цепочка b=2;};}-|
магазин <IDENTIFICATOR>"="<R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG G
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,B,<IDENTIFICATOR>)=(S,<CONT><CHAR>,$)
ТАКТ 53
cостояние S
входная цепочка b=2;};}-|
магазин <CHAR><CONT>"="<R_EQUATION>#"="#;<CONT_CONT_BODY>};...
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,B,<CHAR>)=(S,$,#B#)
ТАКТ 54
cостояние S
входная цепочка =2;};}-|
магазин <CONT>"="<R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG GOTO END:"
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,=,<CONT>)=(S,$,#" "#)
ТАКТ 55
cостояние S
входная цепочка =2;};}-|
магазин "="<R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,=,=)=(S,$,$)
ТАКТ 56
cостояние S
входная цепочка 2;};}-|
магазин <R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT_CO
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,2,<R_EQUATION>)=(S,<CONT_R_EQUATION><CONSTANT>,$)
ТАКТ 57
cостояние S
входная цепочка 2;};}-|
магазин <CONSTANT><CONT_R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG GOTO
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,2,<CONSTANT>)=(S,<CONT_CONSTANT><NUMBER>,$)
ТАКТ 58
cостояние S
входная цепочка 2;};}-|
магазин <NUMBER><CONT_CONSTANT><CONT_R_EQUATION>#"="#;<CONT_CONT_BODY
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,2,<NUMBER>)=(S,<CONT_NUMBER><DIGIT>,$)
ТАКТ 59
cостояние S
входная цепочка 2;};}-|
магазин <DIGIT><CONT_NUMBER><CONT_CONSTANT><CONT_R_EQUATION>#"="#;<CO
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,2,<DIGIT>)=(S,$,#2#)
ТАКТ 60
cостояние S
входная цепочка ;};}-|
магазин <CONT_NUMBER><CONT_CONSTANT><CONT_R_EQUATION>#"="#;<CONT_CONT
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,;,<CONT_NUMBER>)=(S,$,$)
ТАКТ 61
cостояние S
входная цепочка ;};}-|
магазин <CONT_CONSTANT><CONT_R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,;,<CONT_CONSTANT>)=(S,$,$)
ТАКТ 62
cостояние S
входная цепочка ;};}-|
магазин <CONT_R_EQUATION>#"="#;<CONT_CONT_BODY>};#"BEG GOTO END:"#<CO
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,;,<CONT_R_EQUATION>)=(S,$,$)
ТАКТ 63
cостояние S
входная цепочка ;};}-|
магазин #"="#;<CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,$,#"="#)=(S,$,#"="#)
ТАКТ 64
cостояние S
входная цепочка ;};}-|
магазин ;<CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,;,;)=(S,$,$)
ТАКТ 65
cостояние S
входная цепочка };}-|
магазин <CONT_CONT_BODY>};#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,},<CONT_CONT_BODY>)=(S,$,$)
ТАКТ 66
cостояние S
входная цепочка };}-|
магазин };#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,},})=(S,$,$)
ТАКТ 67
cостояние S
входная цепочка ;}-|
магазин ;#"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода (S,;,;)=(S,$,$)
ТАКТ 68
cостояние S
входная цепочка }
магазин #"BEG GOTO END:"#<CONT_CONT_BODY>}[]
выходная цепочка "" ""A"" ""0""=""""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1""
функция перехода *(S,$,#"BEG GOTO END:"#)=(S,$,#"BEG GOTO END:"#)
ТАКТ 69
cостояние S
входная цепочка }
магазин <CONT_CONT_BODY>}[]
выходная цепочка ...""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1"" ""+B"" ""2""="
функция перехода *(S,},<CONT_CONT_BODY>)=(S,$,$)
ТАКТ 70
cостояние S
входная цепочка }
магазин }[]
выходная цепочка ...""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1"" ""+B"" ""2""="
функция перехода (S,},})=(S,$,$)
ТАКТ 71
cостояние S
входная цепочка -|
магазин []
выходная цепочка ...""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1"" ""+B"" ""2""="
функция перехода (S,-|,[])=(S1,$,$)
ТАКТ 72
cостояние S1
входная цепочка -|
магазин []
выходная цепочка ...""BEG:""A"" ""2""<"""" END JMP_F""A"" ""1"" ""+B"" ""2""="
Магазинный автомат успешно завершил работу