Ïðåä.Ñòðàíèöà Ðàçäåë Ñîäåðæàíèå
7.11. Ïðèëîæåíèå
Ôóíêöèè ïåðåõîäîâ è èíñòðóêöèè ÀÒ-ïðåîáðàçîâàòåëÿ
1: <1>
--> {<2><3>}
Ïðàâèëà:
Ññûëêè:
Âûáîð: {
Ôóíêöèÿ: φ( "{", <1>) = ( }<3><2>{)
Èíñòðóêöèÿ: (4,2)(5,3)(5,2)(4,1)ComEnd
2. <2> ::= "bool"{6}.a1 <4>.f1
Ïðàâèëà: f1 = a1
Ññûëêè: a1 = -2
Âûáîð: "bool"
Ôóíêöèÿ: φ( "bool", <2>) = ( .f1<4>.a1 {6} "bool")
Èíñòðóêöèÿ: (8,nl)(5,4)(9,1)(8,-3)(6,6)(3,0)ComEnd
3. <3> ::= <6><7>
Ïðàâèëà:
Ññûëêè:
Âûáîð: "Èäåíòèôèêàòîð"
Ôóíêöèÿ: φ*( "Èäåíòèôèêàòîð", <3>) = ( <7><6>)
Èíñòðóêöèÿ: (5,7)(5,6)ComEnd
4 <4>f2
::=":""Èäåíòèôèêàòîð" {5}.b1<5>.g1
Ïðàâèëà: b1=f2, g1=f2
Ññûëêè: b1 = -2, g1 = -1
Âûáîð: ":"
Ôóíêöèÿ: φ( ":", <4>) = [f2] ( .g1<5>.b1 {5}"Èäåíòèôèêàòîð" ":")
Èíñòðóêöèÿ: (8,-1)(5,5)(9,1)(8,-4)(6,5)(1,0)(4,4)ComEnd
5. <5>.g2 ::= ",""Èäåíòèôèêàòîð"{5}.b2<5>g3.
Ïðàâèëà: b2=g2, g3=g2,
Ññûëêè: b2 = -3, g3 = -1
Âûáîð: ","
Ôóíêöèÿ: φ( ",", <5>) = [g2] ( .g3<5>.b2 {5}"Èäåíòèôèêàòîð"",")
Èíñòðóêöèÿ: (8,-1)(5,5)(9,1)(8,-4)(6,5) (1,0) (4,10)ComEnd
6. <5>.g4 ::= ;
Ïðàâèëà:
Ññûëêè:
Âûáîð: ";"
Ôóíêöèÿ: φ( ";", <5>) = [g4](";")
Èíñòðóêöèÿ: (6,10)(4,3)ComEnd
7. <6> ::= "Èäåíòèôèêàòîð"{7}.c1<8>.j1
Ïðàâèëà: j1=c1
Ññûëêè:c1= -2
Âûáîð: "Èäåíòèôèêàòîð"
Ôóíêöèÿ: φ( "Èäåíòèôèêàòîð", <6>) = ( j1<8>.c1{7}"Èäåíòèôèêàòîð")
Èíñòðóêöèÿ: (8,nl)(5,8)(9,1)(8,-3)(6,7)(1,0)ComEnd
8. <7> ::= <6><7>
Ïðàâèëà:
Ññûëêè:
Âûáîð: "Èäåíòèôèêàòîð"
Ôóíêöèÿ: φ*( "Èäåíòèôèêàòîð", <7>) = ( <7><6>)
Èíñòðóêöèÿ: (5,7)(5,6)ComEnd
9. <7> ::= $
Ïðàâèëà:
Ññûëêè:
Âûáîð: "}"
Ôóíêöèÿ: φ*( "}", <7>) = ( )
Èíñòðóêöèÿ: ComEnd
10. <8>.j2 ::= "="<9>.k1{1}.d1.d2;
Ïðàâèëà: d1=j2, d2=k1
Ññûëêè: d1 = -3, k1 = -3
Âûáîð: "="
Ôóíêöèÿ: φ( "=", <8>) = [j2] ( ";".d2.d1{1}).k1 <9> "=")
Èíñòðóêöèÿ:
(4,3)(8,nl)(8,-3)(6,1)(8.-3)(5,9)(4,11)ComEnd
11: <9>.k2 ::=
<10>.l1<11>.m1.n1
Ïðàâèëà: k2=m1, n1=l1
Ññûëêè: m1 = -2, l1 = -3
Âûáîð: "Èäåíòèôèêàòîð"
Ôóíêöèÿ: φ*( ""Èäåíòèôèêàòîð"", <9>) = [k2] ( .n1.m1<11>.l1<10>)
Èíñòðóêöèÿ:
(8,nl)(8,-2)(5,11)(8.-3)(5,10)ComEnd
12.
<9>.k2 ::= <10>.l1<11>.m1.n1
Ïðàâèëà: k2=m1, n1=l1
Ññûëêè: m1 = -2, l1 = -3
Âûáîð: "~"
Ôóíêöèÿ: φ*( "~", <9>) = [k2] ( .n1.m1<11>.l1<10>)
Èíñòðóêöèÿ:
(8,nl)(8,-2)(5,11)(8.-3)(5,10)ComEnd
13.
<9>.k2 ::= <10>.l1<11>.m1.n1
Ïðàâèëà: k2=m1, n1=l1
Ññûëêè: m1 = -2, l1 = -3
Âûáîð: "("
Ôóíêöèÿ: φ*( "(", <9>) = [k2] ( .n1.m1<11>.l1<10>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,11)(8.-3)(5,10)ComEnd
14.
<9>.k2 ::= <10>.l1<11>.m1.n1
Ïðàâèëà: k2=m1, n1=l1
Ññûëêè: m1 = -2, l1 = -3
Âûáîð: "false"
Ôóíêöèÿ: φ*( "false", <9>) = [k2] ( .n1.m1<11>.l1<10>)
Èíñòðóêöèÿ:
(8,nl)(8,-2)(5,11)(8.-3)(5,10)ComEnd
15.
<9>.k2 ::= <10>.l1<11>.m1.n1
Ïðàâèëà: k2=m1, n1=l1
Ññûëêè: m1 = -2, l1 = -3
Âûáîð: "true"
Ôóíêöèÿ: φ*( "true", <9>) = [k2] ( .n1.m1<11>.l1<10>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,11)(8.-3)(5,10)ComEnd
16.
<10>.l3 ::= <12>.p1<13>.q1.r1
Ïðàâèëà: l3=q1, r1=p1
Ññûëêè: q1 = -2, p1 = -3
Âûáîð: " Èäåíòèôèêàòîð "
Ôóíêöèÿ: φ*( " Èäåíòèôèêàòîð ", <10>) = [l3] ( .r1.q1<13>.p1<12>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,13)(8.-3)(5,12)ComEnd
17.
<10>.l3 ::= <12>.p1<13>.q1.r1
Ïðàâèëà: l3=q1, r1=p1
Ññûëêè: q1 = -4, p1 = -3
Âûáîð: " ~ "
Ôóíêöèÿ: φ*( " ~ ", <10>) = [l3] ( .r1.q1<13>.p1<12>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,13)(8.-3)(5,12)ComEnd
18.
<10>.l3 ::= <12>.p1<13>.q1.r1
Ïðàâèëà: l3=q1, r1=p1
Ññûëêè: q1 = -4, p1 = -3
Âûáîð: " ( "
Ôóíêöèÿ: φ*( "(", <10>) = [l3] ( .r1.q1<13>.p1<12>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,13)(8.-3)(5,12)ComEnd
19.
<10>.l3 ::= <12>.p1<13>.q1.r1
Ïðàâèëà: l3=q1, r1=p1
Ññûëêè: q1 = -4, p1 = -3
Âûáîð: " false "
Ôóíêöèÿ: φ*( "false ", <10>) = [l3] ( .r1.q1<13>.p1<12>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,13)(8.-3)(5,12)ComEnd
20.
<10>.l3 ::= <12>.p1<13>.q1.r1
Ïðàâèëà: l3=q1, r1=p1
Ññûëêè: q1 = -4, p1 = -3
Âûáîð: " true"
Ôóíêöèÿ: φ*( "true", <10>) = [l3] (
.r1.q1<13>.p1<12>)
Èíñòðóêöèÿ: (8,nl)(8,-2)(5,13)(8.-3)(5,12)ComEnd
21.
<11>.m2.n2 ::= "|" <10>l2{3}.x1.x2.x3<11>.m3.n3
Ïðàâèëà: m2=m3, x1=l2, x2=n2, n3=x3
Ññûëêè: m3 = -2, l2 = --2, x2=-6, x3=-3
Âûáîð: "|"
Ôóíêöèÿ: φ( "|", <11>) = [.n2.m2] ( .n3.m3<11>.x3.x2.x1{3}.l2<10>"|")
Èíñòðóêöèÿ:(8,nl)(8,-2)(5,11)(8,-3)(8,-6)(8,nl)(6,3)(8.-2)(5,10)(4,6)ComEnd
22.
<11>.m4.n4 ::= {8}
Ïðàâèëà: m4=n4
Ññûëêè
Âûáîð: ")"
Ôóíêöèÿ: φ*( ")", <11>) = [.n3.m3] ( )
Èíñòðóêöèÿ:(6,8)ComEnd
23. <11>.m4.n4 ::= {8}
Ïðàâèëà: m4=n4
Ññûëêè
Âûáîð ";"
Ôóíêöèÿ: φ*( ";", <11>) = [.n3.m3] ( )
Èíñòðóêöèÿ:(6,8)ComEnd
24. <12>.p2 ::= "~"<14>.s1 {4}.y1.y2
Ïðàâèëà: y1=s1, p2=y2
Ññûëêè: s1=-2, y2=-1
Âûáîð: "~"
Ôóíêöèÿ: φ( "~", <12>) = [.p2] (.y2,y1{4} .s1<14>"~")
Èíñòðóêöèÿ:
(8,-1)(8,nl)(6,4) (8,-2)(5,14)(4,7)ComEnd
25.
<12>.p3 ::= <14>.s2
Ïðàâèëà: p3=s2
Ññûëêè: s2=-1
Âûáîð: "Èäåíòèôèêàòîð "
Ôóíêöèÿ: φ*( "Èäåíòèôèêàòîð ", <12>) = [.p3] (.s2<14>)
Èíñòðóêöèÿ: (8,-2)(5,14)ComEnd
26.
<12>.p3 ::= <14>.s2
Ïðàâèëà: p3=s2
Ññûëêè: s2=-1
Âûáîð: "( "
Ôóíêöèÿ: φ*( "( ", <12>) = [.p3] ( .s2<14>)
Èíñòðóêöèÿ:(8,-1)(5,14)ComEnd
27. <12>.p3 ::= <14>.s2
Ïðàâèëà: p3=s2
Ññûëêè: s2=-1
Âûáîð: "false "
Ôóíêöèÿ: φ*( "false", <12>) = [.p3] (
.s2<14>)
Èíñòðóêöèÿ:(8,-1)(5,14)ComEnd
28.
<12>.p3 ::= <14>.s2
Ïðàâèëà: p3=s2
Ññûëêè: s2=-1
Âûáîð: "true"
Ôóíêöèÿ: φ*( "true", <12>) = [.p3] (
.s2<14>)
Èíñòðóêöèÿ:(8,-1)(5,14)ComEnd
29. <13>.q2.r2 ::= "&"<12>.p2{2}.x4.x5.x6<13>.q3.r3
Ïðàâèëà: q2=q3, x4=p2, x5=r2, r3=x6
Ññûëêè: x6=-3, p2=-2, x5=-6, q3=-2,
Âûáîð: "&"
Ôóíêöèÿ: φ("&", <13>) = [.r2.q2] ( .r3.q3<13>.x6.x5.x4{2}.p2<12>"&")
Èíñòðóêöèÿ:(8,nl)(8,-2)(5,13)(8,-3)(8,-6)(8,nl)(6,2)(8,-2)(5,12)(4,5)ComEnd
30. <13>.q4.r4 ::= {8}
Ïðàâèëà: q4=r4
Ññûëêè
Âûáîð: ";"
Ôóíêöèÿ: φ*( ";", <13>) = [.r4.q4] ()
Èíñòðóêöèÿ:(6,8)ComEnd
31. <13>.q4.r4 ::= {8}
Ïðàâèëà: q4=r4
Ññûëêè
Âûáîð: "|"
Ôóíêöèÿ: φ*( "|", <11>) = [.r4.q4] ()
Èíñòðóêöèÿ:(6,8)ComEnd
32. <13>.q4.r4 ::= {8}
Ïðàâèëà: q4=r4
Ññûëêè
Âûáîð: ")"
Ôóíêöèÿ: φ*( ")", <11>) = [.r4.q4] ({8})
Èíñòðóêöèÿ:(6,8)ComEnd
33. <14>.s3::="Èäåíòèôèêàòîð"{7}.c2
Ïðàâèëà: s3=c2
Ññûëêè: c2=-1
Âûáîð: " Èäåíòèôèêàòîð "
Ôóíêöèÿ: φ( " Èäåíòèôèêàòîð ", <14>) = [.s3] ( .c2{7}"Èäåíòèôèêàòîð")
Èíñòðóêöèÿ: (9,1)(8,-2)(6,7)(1,0)ComEnd
34. <14>.s4::=
"("<9>.k3")"
Ïðàâèëà: s4=k3
Ññûëêè: c2=-2
Âûáîð: " ( "
Ôóíêöèÿ: φ( " (", <14>) = [.s4] ( ")".k3<9>"(")
Èíñòðóêöèÿ: (4,9)(8,-2)(5,9)(4,8)ComEnd
35.
<14>.s5::= "false"{9}.t1
Ïðàâèëà: s5=t1
Ññûëêè: t1=-1
Âûáîð: "false"
Ôóíêöèÿ: φ( "false", <14>) = [.s5] (.t1{9}"false")
Èíñòðóêöèÿ(9,1)(8,-2)(6,9)(3,2)ComEnd
36/
<14>.s6::= "true"{9}.t2
Ïðàâèëà: s6=t2
Ññûëêè: t2=-1
Âûáîð: "true"
Ôóíêöèÿ: φ( "true", <14>) = [.s6] (.t2{9}"true")
Èíñòðóêöèÿ(9,1)(8,-2)(6,9)(3,1)ComEnd
Ïðåä.Ñòðàíèöà Ðàçäåë Ñîäåðæàíèå