|
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: 21504 (0x5400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Interface_Structure, seg_048aea, seg_048df3
└─⟦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 Text_Io; with Modify_Structure; with Consult_Structure; with Afficher_Structure; with Structure_Des_Variables; with Display; package body Interface_Structure is -- compare la position de deux variables -- asterix position gourde position --------------------------------------------------------------- function Compare_Position (Var1 : Char; Var2 : Char) return Boolean is begin --return (Nos_Chaines.Equal (Consult_Structure.Consult_Position (Var1), -- Consult_Structure.Consult_Position (Var2))); return Consult_Structure.Compare_Attribut (Var1, Var2, Structure_Des_Variables.Position, Structure_Des_Variables.Pas_De_Sens); end Compare_Position; -- compare les etats de deux variables -- asterix etat obelix etat --------------------------------------------------------------- function Compare_Etat (Var1 : Char; Var2 : Char) return Boolean is begin return Consult_Structure.Compare_Attribut (Var1, Var2, Structure_Des_Variables.Etat, Structure_Des_Variables.Pas_De_Sens); end Compare_Etat; function Compare_Etat_Sens1 (Var1 : Char; Var2 : Char) return Boolean is begin return Consult_Structure.Compare_Attribut (Var1, Var2, Structure_Des_Variables.Etat, Structure_Des_Variables.Sens1); end Compare_Etat_Sens1; function Compare_Etat_Sens2 (Var1 : Char; Var2 : Char) return Boolean is begin return Consult_Structure.Compare_Attribut (Var1, Var2, Structure_Des_Variables.Etat, Structure_Des_Variables.Sens2); end Compare_Etat_Sens2; -- compare les possessions de deux variables -- asterix possession obelix possession --------------------------------------------------------------- function Compare_Possession (Var1 : Char; Var2 : Char) return Boolean is begin return Consult_Structure.Compare_Attribut (Var1, Var2, Structure_Des_Variables.Possession, Structure_Des_Variables.Pas_De_Sens); end Compare_Possession; function Compare_Contenu (Var1 : Char; Var2 : Char) return Boolean is begin return Consult_Structure.Compare_Attribut (Var1, Var2, Structure_Des_Variables.Contenu, Structure_Des_Variables.Pas_De_Sens); end Compare_Contenu; -- teste l'existence d'une variable -- fee --------------------------------------------------------------- function Search_For_Variable (Var : Char) return Boolean is begin return (Consult_Structure.Consult_Existence (Var)); end Search_For_Variable; -- verifie la validite d'un champ d'une variable -- "asterix etat malade" --------------------------------------------------------------- function Search_For (Var : Char; Field : Char; Value : Char) return Boolean is Resultat : Boolean; begin Resultat := False; if (Nos_Chaines.Infinite_String.Image (Field) = "etat") then Resultat := Consult_Structure.Etat_Belong_To (Var, Value, Structure_Des_Variables.Pas_De_Sens); elsif (Nos_Chaines.Infinite_String.Image (Field) = "contenu") then Resultat := Consult_Structure.Contenu_Belong_To (Var, Value); elsif (Nos_Chaines.Infinite_String.Image (Field) = "possession") then Resultat := Consult_Structure.Possession_Belong_To (Var, Value); end if; return Resultat; end Search_For; -- verifie la validite d'un champ d'une variable -- "asterix etat malade" --------------------------------------------------------------- function Search_For (Var : Char; Field : Char; Sens : Integer; Value : Char) return Boolean is Resultat : Boolean; begin Resultat := False; if (Nos_Chaines.Infinite_String.Image (Field) = "etat") then case Sens is when 1 => Resultat := Consult_Structure.Etat_Belong_To (Var, Value, Structure_Des_Variables.Sens1); when 2 => Resultat := Consult_Structure.Etat_Belong_To (Var, Value, Structure_Des_Variables.Sens2); when others => Resultat := Consult_Structure.Etat_Belong_To (Var, Value, Structure_Des_Variables. Pas_De_Sens); end case; end if; return Resultat; end Search_For; -- verifie si une communication appartient a un lieu et asssocie a sortie le l -- "porte_bleue est dans cuisine" --------------------------------------------------------------- procedure Search_Communication (Place : Char; Communication : Char; Sortie : in out Char; Sens : in out Integer; Is_Found : out Boolean) is begin Consult_Structure.Communication_Belong_To_Lieu (Place, Communication, Sortie, Sens, Is_Found); end Search_Communication; -- verifie si un lieu a une communication dans une direction et asssocie a so -- "cuisine sortie vers direction" --------------------------------------------------------------- procedure Search_Exit_To_Direction (Place : Char; Direction : Char; Sortie : in out Char; Sens : in out Integer; Is_Found : out Boolean) is begin Text_Io.Put_Line ("entree dans search_exit_to_direction"); Consult_Structure.Direction_Belong_To_Lieu (Place, Direction, Sortie, Sens, Is_Found); end Search_Exit_To_Direction; -- verifie si un lieu a une communication vers un autre lieu et asssocie a sor -- "lieu sortie vers cuisine " --------------------------------------------------------------- procedure Search_Exit_To_Place (Place : Char; Destination : in out Char; Sortie : in out Char; Sens : in out Integer; Is_Found : out Boolean) is Resultat : Boolean; begin Text_Io.Put_Line ("entree dans search_exit_to_place"); Consult_Structure.Destination_Belong_To_Lieu (Place, Destination, Sens, Resultat); if Resultat then Nos_Chaines.Copy (Sortie, Destination); else Nos_Chaines.Copy (Sortie, ""); end if; Is_Found := Resultat; end Search_Exit_To_Place; -- "lieu relie a position courante" --------------------------------------------------------------- procedure Search_Link_To_Place (Destination : in out Char; Place : Char; Sortie : in out Char; Sens : in out Integer; Is_Found : out Boolean) is Resultat : Boolean; begin Text_Io.Put_Line ("entree dans search_link_to_place"); Consult_Structure.Destination_Belong_To_Lieu (Place, Destination, Sens, Resultat); if Resultat then Nos_Chaines.Copy (Sortie, Destination); else Nos_Chaines.Copy (Sortie, ""); end if; Is_Found := Resultat; Text_Io.Put_Line ("je quitte search link to place avec : " & Boolean'Image (Resultat)); end Search_Link_To_Place; -- renvoie la valeur d'un compteur --------------------------------------------------------------- function Get_Value_Of_Counter (Counter : Char) return Integer is begin return Consult_Structure.Consult_Valeur (Counter); end Get_Value_Of_Counter; -- renvoie la position d'une variable -- asterix => hutte --------------------------------------------------------------- function Get_Position (Var : Char) return Char is begin return (Consult_Structure.Consult_Position (Var)); end Get_Position; --------------------------------------------------------------- function Get_Type (Var : Char) return Type_Of_Var is begin return Consult_Structure.Consult_Type (Var); end Get_Type; --------------------------------------------------------------- function Get_Signification (Var : Char) return Char is begin return Consult_Structure.Consult_Signification (Var); end Get_Signification; --------------------------------------------------------------- function Is_In_Table (Var : Char) return Boolean is begin return Consult_Structure.Is_In_Structure (Var); end Is_In_Table; --------------------------------------------------------------- function Is_A_Variable (Var : Char) return Boolean is Resultat : Boolean; begin if Consult_Structure.Is_In_Structure (Var) then case Get_Type (Var) is when Structure_Des_Variables.Verbe | Structure_Des_Variables.Preposition => Resultat := False; when others => Resultat := True; end case; else Resultat := False; end if; return Resultat; end Is_A_Variable; -- modifie la valeur d'un compteur --------------------------------------------------------------- procedure Put_Value_In_Counter (Counter : Char; Value : Integer) is begin Modify_Structure.Modifier_Valeur (Counter, Value); end Put_Value_In_Counter; --------------------------------------------------------------- procedure Add_Etat (Var : Char; Etat : Char) is begin Modify_Structure.Ajouter_Etat (Var, Etat, Structure_Des_Variables.Pas_De_Sens); end Add_Etat; --------------------------------------------------------------- procedure Add_Etat_Sens1 (Var : Char; Etat : Char) is begin Modify_Structure.Ajouter_Etat (Var, Etat, Structure_Des_Variables.Sens1); end Add_Etat_Sens1; --------------------------------------------------------------- procedure Add_Etat_Sens2 (Var : Char; Etat : Char) is begin Modify_Structure.Ajouter_Etat (Var, Etat, Structure_Des_Variables.Sens2); end Add_Etat_Sens2; --------------------------------------------------------------- procedure Delete_Etat (Var : Char; Etat : Char) is begin Modify_Structure.Supprimer_Etat (Var, Etat, Structure_Des_Variables.Pas_De_Sens); end Delete_Etat; --------------------------------------------------------------- procedure Delete_Etat_Sens1 (Var : Char; Etat : Char) is begin Modify_Structure.Supprimer_Etat (Var, Etat, Structure_Des_Variables.Sens1); end Delete_Etat_Sens1; --------------------------------------------------------------- procedure Delete_Etat_Sens2 (Var : Char; Etat : Char) is begin Modify_Structure.Supprimer_Etat (Var, Etat, Structure_Des_Variables.Sens2); end Delete_Etat_Sens2; --------------------------------------------------------------- procedure Add_Possession (Var : Char; Possession : Char) is begin Modify_Structure.Ajouter_Contenu_Possession (Var, Possession); end Add_Possession; --------------------------------------------------------------- procedure Delete_Possession (Var : Char; Possession : Char) is begin Modify_Structure.Supprimer_Contenu_Possession (Var, Possession); end Delete_Possession; --------------------------------------------------------------- procedure Add_Contenu (Var : Char; Contenu : Char) is begin Modify_Structure.Ajouter_Contenu_Possession (Var, Contenu); end Add_Contenu; --------------------------------------------------------------- procedure Delete_Contenu (Var : Char; Contenu : Char) is begin Modify_Structure.Ajouter_Contenu_Possession (Var, Contenu); end Delete_Contenu; --------------------------------------------------------------- procedure Modify_Description (Var : Char; Description : Char) is begin Modify_Structure.Modifier_Description (Var, Description, Structure_Des_Variables.Pas_De_Sens); end Modify_Description; --------------------------------------------------------------- procedure Modify_Description_Sens1 (Var : Char; Description : Char) is begin Modify_Structure.Modifier_Description (Var, Description, Structure_Des_Variables.Sens1); end Modify_Description_Sens1; --------------------------------------------------------------- procedure Modify_Description_Sens2 (Var : Char; Description : Char) is begin Modify_Structure.Modifier_Description (Var, Description, Structure_Des_Variables.Sens2); end Modify_Description_Sens2; --------------------------------------------------------------- procedure Kill_Var (Var : Char) is begin Modify_Structure.Modifier_Existence (Var, False); end Kill_Var; --------------------------------------------------------------- procedure Create_Var (Var : Char) is begin Modify_Structure.Modifier_Existence (Var, True); end Create_Var; --------------------------------------------------------------- procedure Move_To (Var : Char; To : Char) is begin Modify_Structure.Modifier_Position (Var, To); end Move_To; --------------------------------------------------------------- procedure Print_Possession (Var : Char) is begin Afficher_Structure.Listing_Possession_Contenu (Var); end Print_Possession; --------------------------------------------------------------- procedure Print_Contenu (Var : Char) is begin Afficher_Structure.Listing_Possession_Contenu (Var); end Print_Contenu; --------------------------------------------------------------- procedure Print_Description (Var : Char) is begin Display.Write_On_World (Consult_Structure.Consult_Description (Var, Structure_Des_Variables.Pas_De_Sens)); end Print_Description; --------------------------------------------------------------- procedure Print_Description_Sens1 (Var : Char) is begin Display.Write_On_World (Consult_Structure.Consult_Description (Var, Structure_Des_Variables.Sens1)); end Print_Description_Sens1; --------------------------------------------------------------- procedure Print_Description_Sens2 (Var : Char) is begin Display.Write_On_World (Consult_Structure.Consult_Description (Var, Structure_Des_Variables.Sens2)); end Print_Description_Sens2; --------------------------------------------------------------- procedure Print_Etat (Var : Char) is begin Afficher_Structure.Listing_Etat (Var, Structure_Des_Variables.Pas_De_Sens); end Print_Etat; --------------------------------------------------------------- procedure Print_Etat_Sens1 (Var : Char) is begin Afficher_Structure.Listing_Etat (Var, Structure_Des_Variables.Sens1); end Print_Etat_Sens1; --------------------------------------------------------------- procedure Print_Etat_Sens2 (Var : Char) is begin Afficher_Structure.Listing_Etat (Var, Structure_Des_Variables.Sens2); end Print_Etat_Sens2; end Interface_Structure;
nblk1=14 nid=0 hdr6=28 [0x00] rec0=1b rec1=00 rec2=01 rec3=082 [0x01] rec0=02 rec1=00 rec2=14 rec3=012 [0x02] rec0=17 rec1=00 rec2=09 rec3=08c [0x03] rec0=1a rec1=00 rec2=0d rec3=00e [0x04] rec0=13 rec1=00 rec2=13 rec3=056 [0x05] rec0=18 rec1=00 rec2=12 rec3=034 [0x06] rec0=12 rec1=00 rec2=0f rec3=084 [0x07] rec0=15 rec1=00 rec2=0e rec3=066 [0x08] rec0=19 rec1=00 rec2=10 rec3=066 [0x09] rec0=1a rec1=00 rec2=08 rec3=040 [0x0a] rec0=03 rec1=00 rec2=11 rec3=02e [0x0b] rec0=1c rec1=00 rec2=0a rec3=034 [0x0c] rec0=09 rec1=00 rec2=02 rec3=006 [0x0d] rec0=18 rec1=00 rec2=03 rec3=034 [0x0e] rec0=18 rec1=00 rec2=0c rec3=01e [0x0f] rec0=19 rec1=00 rec2=04 rec3=00e [0x10] rec0=1a rec1=00 rec2=06 rec3=00e [0x11] rec0=19 rec1=00 rec2=0b rec3=03c [0x12] rec0=18 rec1=00 rec2=05 rec3=024 [0x13] rec0=07 rec1=00 rec2=07 rec3=000 tail 0x2174cfdda865a6a1d3f45 0x42a00088462060003