|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 13312 (0x3400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Instruction, seg_0477ee, seg_048c3c, seg_048cac, seg_048ddd
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Afficher;
with Ajouter_Supprimer;
with Creer;
with Decrire_Informer;
with Deplacer;
with Detruire;
with Fonction_Numerique;
with Inventaire;
with Joueur_Est;
with Modifier_Description;
with Lex;
with Synchro;
with Error;
with Follow;
with Traduction_Scenario;
package body Instruction is
procedure Parse (Ok : in out Boolean) is
use Lex;
begin
case (Lex.Get_Token) is
when L_Afficher =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Afficher.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Afficher,
Follow.Instruction);
Ok := True;
end if;
when L_Ajouter =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Ajouter_Supprimer.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Ajouter,
Follow.Instruction);
Ok := True;
end if;
when L_Creer =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Creer.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Creer, Follow.Instruction);
Ok := True;
end if;
when L_Decrire =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Decrire_Informer.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Decrire,
Follow.Instruction);
Ok := True;
end if;
when L_Deplacer =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Deplacer.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Deplacer,
Follow.Instruction);
Ok := True;
end if;
when L_Detruire =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Detruire.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Detruire,
Follow.Instruction);
Ok := True;
end if;
when L_Findujeu =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Traduction_Scenario.End_Of_Function;
Ok := True;
when L_Informer =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Decrire_Informer.Parse (Ok);
if not Ok then
Synchro.Is_On (Error.Instruction_Informer,
Follow.Instruction);
Ok := True;
end if;
when L_Inventaire =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Inventaire.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Inventaire,
Follow.Instruction);
Ok := True;
end if;
when L_Joueur =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Joueur_Est.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Joueur_Est,
Follow.Instruction);
Ok := True;
end if;
when L_Modifierdescription =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Modifier_Description.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Modifier_Description,
Follow.Instruction);
Ok := True;
end if;
when L_Supprimer =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);
Lex.Next;
Ajouter_Supprimer.Parse (Ok);
Traduction_Scenario.End_Of_Function;
if not Ok then
Synchro.Is_On (Error.Instruction_Supprimer,
Follow.Instruction);
Ok := True;
end if;
when L_Id =>
Traduction_Scenario.Make_Instruction;
Traduction_Scenario.New_Numeric_Function (Nom => Lex.Get_Value);
Lex.Next;
Fonction_Numerique.Parse (Ok);
if not Ok then
Synchro.Is_On (Error.Instruction_Numerique,
Follow.Instruction);
Ok := True;
end if;
when others =>
Ok := False;
end case;
end Parse;
end Instruction;
nblk1=c
nid=3
hdr6=e
[0x00] rec0=22 rec1=00 rec2=01 rec3=024
[0x01] rec0=18 rec1=00 rec2=02 rec3=02c
[0x02] rec0=18 rec1=00 rec2=05 rec3=01c
[0x03] rec0=17 rec1=00 rec2=08 rec3=038
[0x04] rec0=18 rec1=00 rec2=07 rec3=02a
[0x05] rec0=16 rec1=00 rec2=06 rec3=03e
[0x06] rec0=18 rec1=00 rec2=04 rec3=000
[0x07] rec0=04 rec1=00 rec2=03 rec3=000
[0x08] rec0=56 rec1=ab rec2=80 rec3=004
[0x09] rec0=d9 rec1=0c rec2=01 rec3=01b
[0x0a] rec0=ca rec1=5e rec2=90 rec3=000
[0x0b] rec0=9b rec1=00 rec2=00 rec3=000
tail 0x2174afb6686545eef0f4f 0x42a00088462060003
Free Block Chain:
0x3: 0000 00 09 00 9d 80 06 20 54 72 75 65 3b 06 00 17 20 ┆ True; ┆
0x9: 0000 00 0a 00 55 80 31 20 20 20 20 20 20 20 20 20 20 ┆ U 1 ┆
0xa: 0000 00 0b 00 7e 80 04 4f 6b 29 3b 04 00 34 20 20 20 ┆ ~ Ok); 4 ┆
0xb: 0000 00 0c 00 55 80 2d 20 20 20 53 79 6e 63 68 72 6f ┆ U - Synchro┆
0xc: 0000 00 00 00 55 80 01 3e 01 00 26 20 74 72 61 64 75 ┆ U > & tradu┆