|
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 - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Instructions, seg_042261
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Lexical, Token_List, Erreur, Instruction_Si, Nom_De_Variable, Variable, Expression_Generale, Etat, Param_Afficher; use Lexical, Token_List; package body Instructions is Instruction_First : Token_List.Object := Make ((Si, Moins, Comp, Detruire_Connexion, Lie_Connexion, Delie_Connexion, Detruire_Lien, Lie_Lien, Delie_Lien, Liste_Lien, Echanger_Lien, Afficher, Fin)); procedure Instruction is begin if Is_In (Lexical.Get_Token, Instruction_Si.First) then Instruction_Si.Parse; else if Is_In (Lexical.Get_Token, Variable.First) then Variable.Parse; if Lexical.Get_Token = Affect then Lexical.Next; Expression_Generale.Parse; else Erreur.Syntaxe ("Manque :="); end if; else case Lexical.Get_Token is when Detruire_Connexion | Echanger_Lien => Lexical.Next; if Lexical.Get_Token = Parnto then Lexical.Next; Nom_De_Variable.Parse; if Lexical.Get_Token = Virgul then Lexical.Next; Nom_De_Variable.Parse; if Lexical.Get_Token = Virgul then Lexical.Next; Nom_De_Variable.Parse; if Lexical.Get_Token = Parntf then Lexical.Next; else Erreur.Syntaxe ("Manque )"); end if; else Erreur.Syntaxe ("Manque ,"); end if; else Erreur.Syntaxe ("Manque ,"); end if; else Erreur.Syntaxe ("Manque ("); end if; when Lie_Connexion | Delie_Connexion | Detruire_Lien | Lie_Lien | Delie_Lien => Lexical.Next; if Lexical.Get_Token = Parnto then Lexical.Next; Nom_De_Variable.Parse; if Lexical.Get_Token = Virgul then Lexical.Next; Nom_De_Variable.Parse; if Lexical.Get_Token = Parntf then Lexical.Next; else Erreur.Syntaxe ("Manque )"); end if; else Erreur.Syntaxe ("Manque ,"); end if; else Erreur.Syntaxe ("Manque ("); end if; when Liste_Lien => Lexical.Next; if Lexical.Get_Token = Parnto then Lexical.Next; Nom_De_Variable.Parse; if Lexical.Get_Token = Virgul then Lexical.Next; Etat.Parse; if Lexical.Get_Token = Parntf then Lexical.Next; else Erreur.Syntaxe ("Manque )"); end if; else Erreur.Syntaxe ("Manque ,"); end if; else Erreur.Syntaxe ("Manque ("); end if; when Afficher => Lexical.Next; if Lexical.Get_Token = Parnto then Lexical.Next; Param_Afficher.Parse; if Lexical.Get_Token = Parntf then Lexical.Next; else Erreur.Syntaxe ("Manque )"); end if; else Erreur.Syntaxe ("Manque ("); end if; when Fin => Lexical.Next; when others => Erreur.Syntaxe ("Mauvaise instruction"); end case; end if; end if; end Instruction; procedure Parse is begin Instruction; while Is_In (Lexical.Get_Token, Instruction_First) loop Instruction; end loop; end Parse; end Instructions;
nblk1=6 nid=0 hdr6=c [0x00] rec0=1e rec1=00 rec2=01 rec3=00e [0x01] rec0=13 rec1=00 rec2=02 rec3=016 [0x02] rec0=15 rec1=00 rec2=03 rec3=07e [0x03] rec0=18 rec1=00 rec2=04 rec3=040 [0x04] rec0=1b rec1=00 rec2=05 rec3=072 [0x05] rec0=15 rec1=00 rec2=06 rec3=001 tail 0x21742ece486297160944d 0x42a00088462060003