|
|
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: 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┆