|
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: 23552 (0x5c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Interface_Structure, seg_0492bc
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦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; --------------------------------------------------------------- procedure Associate_Description_Sens1 (La_Description : Char) is begin Create_Structure.Associate_Description (La_Description, Structure_Des_Variables.Sens1); end Associate_Description_Sens1; --------------------------------------------------------------- procedure Associate_Description_Sens2 (La_Description : Char) is begin Create_Structure.Associate_Description (La_Description, Structure_Des_Variables.Sens2); end Associate_Description_Sens2; --------------------------------------------------------------- procedure Associate_Description (La_Description : Char) is begin Create_Structure.Associate_Description (La_Description, Structure_Des_Variables.Pas_De_Sens); end Associate_Description; --------------------------------------------------------------- procedure Associate_Etat_Sens1 (Le_Etat : Char) is begin Create_Structure.Associate_Etat (Le_Etat, Structure_Des_Variables.Sens1); end Associate_Etat_Sens1; --------------------------------------------------------------- procedure Associate_Etat_Sens2 (Le_Etat : Char) is begin Create_Structure.Associate_Etat (Le_Etat, Structure_Des_Variables.Sens2); end Associate_Etat_Sens2; --------------------------------------------------------------- procedure Associate_Etat (Le_Etat : Char) is begin Create_Structure.Associate_Etat (Le_Etat, Structure_Des_Variables.Pas_De_Sens); end Associate_Etat; --------------------------------------------------------------- procedure Associate_Source_Sens1 (La_Source : Char) is begin Create_Structure.Associate_Source (La_Source, Structure_Des_Variables.Sens1); end Associate_Source_Sens1; --------------------------------------------------------------- procedure Associate_Source_Sens2 (La_Source : Char) is begin Create_Structure.Associate_Source (La_Source, Structure_Des_Variables.Sens2); end Associate_Source_Sens2; --------------------------------------------------------------- procedure Associate_Source (La_Source : Char) is begin Create_Structure.Associate_Source (La_Source, Structure_Des_Variables.Pas_De_Sens); end Associate_Source; --------------------------------------------------------------- procedure Associate_Destination_Sens1 (La_Destination : Char) is begin Create_Structure.Associate_Destination (La_Destination, Structure_Des_Variables.Sens1); end Associate_Destination_Sens1; --------------------------------------------------------------- procedure Associate_Destination_Sens2 (La_Destination : Char) is begin Create_Structure.Associate_Destination (La_Destination, Structure_Des_Variables.Sens2); end Associate_Destination_Sens2; --------------------------------------------------------------- procedure Associate_Destination (La_Destination : Char) is begin Create_Structure.Associate_Destination (La_Destination, Structure_Des_Variables.Pas_De_Sens); end Associate_Destination; -- 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=16 nid=14 hdr6=2a [0x00] rec0=1b rec1=00 rec2=01 rec3=082 [0x01] rec0=19 rec1=00 rec2=07 rec3=052 [0x02] rec0=19 rec1=00 rec2=05 rec3=008 [0x03] rec0=14 rec1=00 rec2=0b rec3=020 [0x04] rec0=17 rec1=00 rec2=06 rec3=048 [0x05] rec0=13 rec1=00 rec2=04 rec3=04e [0x06] rec0=15 rec1=00 rec2=0c rec3=02c [0x07] rec0=19 rec1=00 rec2=03 rec3=026 [0x08] rec0=19 rec1=00 rec2=15 rec3=086 [0x09] rec0=1c rec1=00 rec2=11 rec3=006 [0x0a] rec0=18 rec1=00 rec2=0a rec3=014 [0x0b] rec0=19 rec1=00 rec2=16 rec3=01c [0x0c] rec0=18 rec1=00 rec2=09 rec3=03c [0x0d] rec0=18 rec1=00 rec2=0d rec3=03c [0x0e] rec0=0b rec1=00 rec2=02 rec3=054 [0x0f] rec0=19 rec1=00 rec2=08 rec3=01a [0x10] rec0=1a rec1=00 rec2=10 rec3=010 [0x11] rec0=16 rec1=00 rec2=0e rec3=03e [0x12] rec0=1d rec1=00 rec2=0f rec3=060 [0x13] rec0=16 rec1=00 rec2=12 rec3=03a [0x14] rec0=14 rec1=00 rec2=13 rec3=000 [0x15] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x215468b28865b69c68eec 0x42a00088462060003 Free Block Chain: 0x14: 0000 00 00 00 20 80 05 61 6e 20 69 73 05 00 09 20 20 ┆ an is ┆