Курсовая работа по дисциплине Формальные языки, грамматики и автоматы / 5.2. Инструкции АП
.doc5.2. Построение инструкций атрибутного преобразователя.
Инструкция #1
{
Записать в магазин цепочку
b1 a1 <I>
stack [sp-1]:=a // a – начальное значение атрибута а1 (указатель на первую своб. ячеку ТЗ)
}
Инструкция #2
{
Удалить символ из магазина
Записать в магазин цепочку
b3 a3 <Code> b2 a2 <Vars>
stack [sp-1]:=-5
stack [sp-2]:=-2
stack [sp-5]:=-2
}
Инструкция #3
{
Удалить символ из магазина
Записать в магазин цепочку
‘</arr>’ x4 b5 a5 {FMB} y2 x3 {WrRM} y1 <Chislo> ‘,’ x2 <Id>
stack [sp-1]:=-5
stack [sp-4]:=-3
stack [sp-6]:=-5
stack [sp-9]:=-3
stack [sp-10]:=-3
stack [sp-11]:=-3
}
Инструкция #4
{
Удалить символ из магазина
Записать в магазин цепочку
‘</arr>’ x8 b7 a7 {FMC} y4 x7 {WrRM} y3 <Chislo> ‘,’ x6 <Id>
stack [sp-1]:=-5
stack [sp-4]:=-3
stack [sp-6]:=-5
stack [sp-9]:=-3
stack [sp-10]:=-3
stack [sp-11]:=-3
}
Инструкция #5
{
Удалить символ из магазина
Записать в магазин цепочку
‘</earr>’ t2 y6 x10 {FUkTZEM} y5 <Chislo> ‘,’ x9 <Id>
stack [sp-1]:=-4
stack [sp-3]:=-3
stack [sp-7]:=-7 }
Инструкция #6
{
Удалить символ из магазина
Записать в магазин цепочку
b10 a10 <R3> ‘</boolean>’ b9 a9 <NamesBool>
stack [sp-1]:=-6
stack [sp-2]:=-3
stack [sp-6]:=-2
}
Инструкция #7
{
Удалить символ из магазина
Записать в магазин цепочку
b13 a13 <R3> ‘</char>’ b12 a12 <NamesChar>
stack [sp-1]:=-6
stack [sp-2]:=-3
stack [sp-6]:=-2
}
Инструкция #8
{
Удалить символ из магазина
Записать в магазин цепочку
b19 a19 <R4> x12 b18 a18 {NewB} x11 <Id>
stack [sp-1]:=-4
stack [sp-3]:=-6
stack [sp-4]:=-3
stack [sp-8]:=-2
}
Инструкция #9
{
Удалить символ из магазина
Записать в магазин цепочку
b24 a24 <NamesBool>
stack [sp-1]:=-2
stack [sp-2]:=-2
}
Инструкция #10
{
Удалить символ из магазина
Записать в магазин цепочку
b28 a28 <R5> x15 b27 a27 {NewC} x14 <Id>
stack [sp-1]:=-4
stack [sp-3]:=-6
stack [sp-4]:=-3
stack [sp-8]:=-2
}
Инструкция #11
{
Удалить символ из магазина
Записать в магазин цепочку
b33 a33 <NamesChar>
stack [sp-1]:=-2
stack [sp-2]:=-2
}
Инструкция #12
{
Удалить символ из магазина
Записать в магазин цепочку
b37 a37 <R6> ‘</ass>’ t7 t6 t5 {FAt=} t4 b36 a36 <Vyrazh> ‘,’ t3 <Perem>
stack [sp-1]:=-7
stack [sp-4]:=-11
stack [sp-5]:=-8
stack [sp-6]:=-3
stack [sp-8]:=-2
stack [sp-14]:=-2
}
Инструкция #13
{
Удалить символ из магазина
Записать в магазин цепочку
t9 x18 {FUkTZId} x17 <Id>
stack [sp-1]:=-2
stack [sp-4]:=-1
}
Инструкция #14
{
Удалить символ из магазина
Записать в магазин цепочку
z1 <Const>
stack [sp-1]:=-3
stack [sp-2]:=-1
}
Инструкция #15
{
Удалить символ из магазина
Записать в магазин цепочку
c1 <Simvol>
stack [sp-1]:=-3
stack [sp-2]:=-1
}
Инструкция #16
{
Удалить символ из магазина
Записать в магазин цепочку
‘</and>’ b46 a46 {NextZ} t23 t22 t21 {FAt&} t20 b45 a45 <Operand> ‘,’ t19 b44 a44 <Operand>
stack [sp-1]:=-16
stack [sp-2]:=-4
stack [sp-3]:=-7
stack [sp-7]:=-5
stack [sp-8]:=-3
stack [sp-12]:=-2
stack [sp-14]:=-5
stack [sp-15]:=-3
}
Инструкция #17
{
Удалить символ из магазина
Записать в магазин цепочку
‘</or>’ b50 a50 {NextZ} t29 t28 t27 {FAtV} t26 b49 a49 <Operand> ‘,’ t25 b48 a48 <Operand>
stack [sp-1]:=-16
stack [sp-2]:=-4
stack [sp-3]:=-7
stack [sp-7]:=-5
stack [sp-8]:=-3
stack [sp-12]:=-2
stack [sp-14]:=-5
stack [sp-15]:=-3
}
Инструкция #18
{
Удалить символ из магазина
Записать в магазин цепочку
‘</not>’ b53 a53 {NextZ} t34 t33 t32 {FAt!} t31 b52 a52 <Operand>
stack [sp-1]:=-11
stack [sp-2]:=-5
stack [sp-3]:=-2
stack [sp-6]:=Null
stack [sp-7]:=-2
stack [sp-9]:=-5
stack [sp-10]:=-2
}
Инструкция #19
{
Удалить символ из магазина
Записать в магазин цепочку
z2 <Const>
stack [sp-1]:=-3
stack [sp-2]:=-1
}
Инструкция #20
{
Удалить символ из магазина
Записать в магазин цепочку
b15 a15 <Vars>
stack [sp-1]:=-2
stack [sp-2]:=-2
}
Инструкция #21
{
Удалить символ из магазина
Записать в магазин цепочку
b22 a22 <R4> x13 b21 a21 <MasBool>
stack [sp-1]:=-6
stack [sp-2]:=-3
stack [sp-6]:=-2
}
Инструкция #22
{
Удалить символ из магазина
Записать в магазин цепочку
b31 a31 <R5> x16 b30 a30 <MasChar>
stack [sp-1]:=-6
stack [sp-2]:=-3
stack [sp-6]:=-2
}
Инструкция #23
{
Удалить символ из магазина
Записать в магазин цепочку
t11 <ElMas>
stack [sp-1]:=-1
}
Инструкция #24
{
Удалить символ из магазина
Записать в магазин цепочку
t15 <Perem>
stack [sp-1]:=-3
stack [sp-2]:=-1 }
Инструкция #25
{
Удалить символ из магазина
Записать в магазин цепочку
t17 b42 a42 <Operation>
stack [sp-1]:=-3
stack [sp-2]:=-3
stack [sp-3]:=-3 }
Инструкция #26
{
Удалить символ из магазина
Записать в магазин цепочку
t36 b55 a55 <Operation>
stack [sp-1]:=-3
stack [sp-2]:=-3
stack [sp-3]:=-3
}
Инструкция #27
{
Удалить символ из магазина
Записать в магазин цепочку
t38 <Perem>
stack [sp-1]:=-3
stack [sp-2]:=-1
}
Инструкция #28
{
Удалить символ из магазина
Записать в магазин цепочку
b59 a59 <Code>
stack [sp-1]:=-2
stack [sp-2]:=-2
}
Инструкция #29
{
Удалить символ из магазина
stack [sp]:=-1
}