|
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: 19456 (0x4c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Afficher_Structure, seg_048deb, seg_049252
└─⟦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 Display; with Nos_Chaines; with Consult_Structure; with Text_Io; with Structure_Des_Variables; use Structure_Des_Variables; package body Afficher_Structure is --------------------------------------------------------------- procedure Afficher_Description (Description : Nos_Chaines.String_Text) is begin Text_Io.Put ("Description : "); Nos_Chaines.Print_Line (Description); end Afficher_Description; --------------------------------------------------------------- procedure Afficher_Source (Source : P_Cellule) is begin Text_Io.Put ("Source : "); if Source /= null then Nos_Chaines.Print_Line (Source.Nom); else Text_Io.Put_Line (" "); end if; end Afficher_Source; --------------------------------------------------------------- procedure Afficher_Destination (Destination : P_Cellule) is begin Text_Io.Put ("Destination : "); if Destination /= null then Nos_Chaines.Print_Line (Destination.Nom); else Text_Io.Put_Line (" "); end if; end Afficher_Destination; --------------------------------------------------------------- procedure Afficher_Position (Variable : Structure_Des_Variables.Cellule) is begin Text_Io.Put ("Position : "); Nos_Chaines.Print_Line (Consult_Structure.Consult_Position (Variable.Nom)); end Afficher_Position; --------------------------------------------------------------- procedure Afficher_Etat (Les_Etats : Liste_Etat.Objet) is Iterateur : Liste_Etat.Iterateur; begin Liste_Etat.First (Iterateur, Les_Etats); while (not Liste_Etat.At_End (Iterateur)) loop Display.Write_On_World (Liste_Etat.Consult (Iterateur)); Liste_Etat.Next (Iterateur); if (not Liste_Etat.At_End (Iterateur)) then Display.Write_In_Continue (", "); end if; end loop; Display.New_Line_On_World; end Afficher_Etat; --------------------------------------------------------------- procedure Afficher_Contenu (Les_Contenus : Liste_Contenu.Objet) is Iterateur : Liste_Contenu.Iterateur; Le_Objet : P_Cellule; begin Liste_Contenu.First (Iterateur, Les_Contenus); while (not Liste_Contenu.At_End (Iterateur)) loop Le_Objet := Liste_Contenu.Consult (Iterateur); if Le_Objet /= null then if Consult_Structure.Consult_Existence (Le_Objet.Nom) then Display.Write_In_Continue (Le_Objet.Nom); end if; end if; Liste_Contenu.Next (Iterateur); if (not Liste_Contenu.At_End (Iterateur)) then Display.Write_In_Continue (", "); end if; end loop; Display.New_Line_On_World; end Afficher_Contenu; --------------------------------------------------------------- procedure Afficher_Possession (Les_Possessions : Liste_Possession.Objet) is Iterateur : Liste_Possession.Iterateur; Le_Objet : P_Cellule; begin Liste_Possession.First (Iterateur, Les_Possessions); while (not Liste_Possession.At_End (Iterateur)) loop Le_Objet := Liste_Possession.Consult (Iterateur); if Le_Objet /= null then if Consult_Structure.Consult_Existence (Le_Objet.Nom) then Display.Write_In_Continue (Le_Objet.Nom); end if; end if; Liste_Possession.Next (Iterateur); if (not Liste_Possession.At_End (Iterateur)) then Display.Write_In_Continue (", "); end if; end loop; Display.New_Line_On_World; end Afficher_Possession; --------------------------------------------------------------- procedure Afficher_Direction (Les_Directions : Liste_Direction.Objet) is Iterateur : Liste_Direction.Iterateur; La_Direction : Type_Direction; begin Text_Io.Put ("Direction : "); Liste_Direction.First (Iterateur, Les_Directions); while (not Liste_Direction.At_End (Iterateur)) loop La_Direction := Liste_Direction.Consult (Iterateur); Nos_Chaines.Print (La_Direction.Direction); if La_Direction.Communication /= null then Nos_Chaines.Print (La_Direction.Communication.Nom); end if; Liste_Direction.Next (Iterateur); if (not Liste_Direction.At_End (Iterateur)) then Text_Io.Put (", "); end if; end loop; Text_Io.Put_Line (" "); end Afficher_Direction; --------------------------------------------------------------- procedure Listing_Etat (Nom_Variable : Nos_Chaines.String_Text; Sens : Structure_Des_Variables.Enum_Sens) is Trouve : Boolean; Variable_De_Recherche : Structure_Des_Variables.Cellule; begin Nos_Chaines.Copy (Variable_De_Recherche.Nom, Nom_Variable); Structure_Des_Variables.Find (Variable_De_Recherche, Trouve); if Trouve then case Variable_De_Recherche.Type_Variable is when Communication => case Sens is when Sens1 => Afficher_Etat (Variable_De_Recherche.Specif. Sens1.Etat_Communication); when Sens2 => Afficher_Etat (Variable_De_Recherche.Specif. Sens2.Etat_Communication); when others => null; end case; when Lieu => Afficher_Etat (Variable_De_Recherche.Specif.Etat_Lieu); when Objet => Afficher_Etat (Variable_De_Recherche.Specif.Etat_Objet); when Personnage => Afficher_Etat (Variable_De_Recherche. Specif.Etat_Personnage); when others => null; end case; end if; end Listing_Etat; --------------------------------------------------------------- procedure Listing_Possession_Contenu (Nom_Variable : Nos_Chaines.String_Text) is Trouve : Boolean; Variable_De_Recherche : Structure_Des_Variables.Cellule; begin Nos_Chaines.Copy (Variable_De_Recherche.Nom, Nom_Variable); Structure_Des_Variables.Find (Variable_De_Recherche, Trouve); if Trouve then case Variable_De_Recherche.Type_Variable is when Objet => Afficher_Contenu (Variable_De_Recherche. Specif.Contenu_Objet); when Personnage => Afficher_Possession (Variable_De_Recherche.Specif. Possession_Personnage); when others => null; end case; end if; end Listing_Possession_Contenu; --------------------------------------------------------------- procedure Afficher_Variable (La_Variable : Structure_Des_Variables.Cellule) is begin Text_Io.Put ("NOM : "); Nos_Chaines.Print_Line (La_Variable.Nom); Text_Io.Put ("EXISTENCE : "); Text_Io.Put_Line (Boolean'Image ((La_Variable.Existe))); Text_Io.Put ("COMPLET : "); Text_Io.Put_Line (Boolean'Image ((La_Variable.Complet))); Text_Io.Put ("TYPE : "); Text_Io.Put_Line (Enum_Type'Image (La_Variable.Type_Variable)); case La_Variable.Type_Variable is when Communication => Text_Io.Put_Line ("Sens1 : "); Afficher_Source (La_Variable.Specif.Sens1.Source); Afficher_Destination (La_Variable.Specif.Sens1.Destination); Afficher_Description (La_Variable.Specif.Sens1. Description_Communication); Text_Io.Put ("Etat : "); Afficher_Etat (La_Variable.Specif.Sens1.Etat_Communication); Text_Io.Put_Line ("Sens2 : "); Afficher_Source (La_Variable.Specif.Sens2.Source); Afficher_Destination (La_Variable.Specif.Sens2.Destination); Afficher_Description (La_Variable.Specif.Sens2. Description_Communication); Text_Io.Put ("Etat : "); Afficher_Etat (La_Variable.Specif.Sens2.Etat_Communication); when Compteur => Text_Io.Put ("Valeur : "); Text_Io.Put_Line (Integer'Image (La_Variable.Specif.Valeur_Compteur)); when Lieu => Afficher_Description (La_Variable.Specif.Description_Lieu); Text_Io.Put ("Etat : "); Afficher_Etat (La_Variable.Specif.Etat_Lieu); Afficher_Direction (La_Variable.Specif.Direction_Lieu); when Objet => Afficher_Description (La_Variable.Specif.Description_Objet); Text_Io.Put ("Etat : "); Afficher_Etat (La_Variable.Specif.Etat_Objet); Afficher_Position (La_Variable); Text_Io.Put ("Contenu : "); Afficher_Contenu (La_Variable.Specif.Contenu_Objet); when Personnage => Afficher_Description (La_Variable.Specif. Description_Personnage); Text_Io.Put ("Etat : "); Afficher_Etat (La_Variable.Specif.Etat_Personnage); Afficher_Position (La_Variable); Text_Io.Put ("Possession : "); Afficher_Possession (La_Variable.Specif.Possession_Personnage); when Preposition | Verbe => Text_Io.Put ("Signification : "); Text_Io.Put_Line (Nos_Chaines.Infinite_String.Image (La_Variable.Specif.Signification)); when Sans_Type => null; end case; end Afficher_Variable; procedure Afficher_Variable (La_Variable : Nos_Chaines.String_Text) is Trouve : Boolean; Variable_De_Recherche : Structure_Des_Variables.Cellule; begin Nos_Chaines.Copy (Variable_De_Recherche.Nom, La_Variable); Structure_Des_Variables.Find (Variable_De_Recherche, Trouve); if Trouve then Afficher_Variable (Variable_De_Recherche); end if; end Afficher_Variable; procedure Afficher_Arbre_Nom is The_Variable : Structure_Des_Variables.Cellule; begin Structure_Des_Variables.Premier; while (not Structure_Des_Variables.Fin) loop The_Variable := Structure_Des_Variables.Suivant; Nos_Chaines.Print_Line (The_Variable.Nom); end loop; end Afficher_Arbre_Nom; procedure Afficher_Arbre_Total is The_Variable : Structure_Des_Variables.Cellule; begin Structure_Des_Variables.Premier; while (not Structure_Des_Variables.Fin) loop The_Variable := Structure_Des_Variables.Suivant; Afficher_Variable (The_Variable); Text_Io.Put_Line ("--------------------------------------------------"); end loop; end Afficher_Arbre_Total; procedure Afficher_Verbes is The_Variable : Structure_Des_Variables.Cellule; Le_Premier_Verbe : Boolean := True; Nombre_De_Verbe : Integer := 0; begin Display.Write_On_World ("Les actions disponibles sont :"); Structure_Des_Variables.Premier; while (not Structure_Des_Variables.Fin) loop The_Variable := Structure_Des_Variables.Suivant; if (The_Variable.Type_Variable = Structure_Des_Variables.Verbe) then if (not Le_Premier_Verbe) then if (Nombre_De_Verbe = 6) then Display.Write_In_Continue (", "); Display.New_Line_On_World;--aller a la ligne else Display.Write_In_Continue (", "); end if; else Le_Premier_Verbe := False; end if; Display.Write_In_Continue (The_Variable.Nom); Nombre_De_Verbe := Nombre_De_Verbe + 1; end if; end loop; Display.New_Line_On_World; end Afficher_Verbes; end Afficher_Structure;
nblk1=12 nid=c hdr6=1e [0x00] rec0=20 rec1=00 rec2=01 rec3=03e [0x01] rec0=18 rec1=00 rec2=11 rec3=06e [0x02] rec0=19 rec1=00 rec2=0f rec3=01a [0x03] rec0=18 rec1=00 rec2=0a rec3=020 [0x04] rec0=16 rec1=00 rec2=06 rec3=004 [0x05] rec0=13 rec1=00 rec2=0b rec3=020 [0x06] rec0=17 rec1=00 rec2=0d rec3=054 [0x07] rec0=17 rec1=00 rec2=07 rec3=024 [0x08] rec0=01 rec1=00 rec2=12 rec3=01a [0x09] rec0=10 rec1=00 rec2=08 rec3=062 [0x0a] rec0=13 rec1=00 rec2=03 rec3=02a [0x0b] rec0=16 rec1=00 rec2=05 rec3=004 [0x0c] rec0=1d rec1=00 rec2=04 rec3=028 [0x0d] rec0=15 rec1=00 rec2=0e rec3=024 [0x0e] rec0=08 rec1=00 rec2=02 rec3=000 [0x0f] rec0=15 rec1=00 rec2=02 rec3=026 [0x10] rec0=07 rec1=00 rec2=0e rec3=000 [0x11] rec0=07 rec1=00 rec2=0e rec3=000 tail 0x215464674865aa567fdd5 0x42a00088462060003 Free Block Chain: 0xc: 0000 00 10 03 fc 80 05 64 20 69 66 3b 05 80 0d 20 20 ┆ d if; ┆ 0x10: 0000 00 09 00 04 80 01 6e 01 20 20 4c 69 73 74 65 5f ┆ n Liste_┆ 0x9: 0000 00 00 02 b2 80 1f 6f 6c 65 61 6e 27 49 6d 61 67 ┆ olean'Imag┆