|
|
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: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body View, seg_0463b1
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io, Complement_Array, Attribute, The_Hero, The_Place;
package body View is
procedure Create_Number (Item : out Object; A_Number : in Integer) is
begin
Item := (Kind => Number, Number_Value => A_Number);
end Create_Number;
procedure Create_Sentence (Item : out Object;
A_Sentence : in Identifier.Object) is
begin
Item := (Kind => Sentence, Sentence_Value => A_Sentence);
end Create_Sentence;
procedure Create_Attribute (Item : out Object;
An_Attribute : in Attribute.Object) is
begin
Item := (Kind => Single_Attribute, The_Attribute => An_Attribute);
end Create_Attribute;
procedure Create_Name (Item : out Object; A_Name : in Objet.Object) is
begin
Item := (Kind => Name, The_Name => A_Name);
end Create_Name;
procedure Create_Exit (Item : out Object; An_Exit : in Detail.Object) is
begin
Item := (Kind => Single_Exit, Direction => An_Exit);
end Create_Exit;
procedure Create_Exits (Item : out Object) is
begin
Item := (Kind => Exits);
end Create_Exits;
procedure Create_Contents (Item : out Object; Place : in Objet.Object) is
begin
Item := (Kind => Contents, The_Place => Place);
end Create_Contents;
procedure Display (Item : in Object) is
A_Number : Natural := 0;
begin
case Item.Kind is
when Number =>
Text_Io.Put (Integer'Image (Item.Number_Value));
when Sentence =>
Text_Io.Put (Identifier.Image (Item.Sentence_Value));
when Single_Attribute =>
Text_Io.Put (Attribute.Image (Item.The_Attribute));
when Name =>
Text_Io.Put (Objet.Image (Item.The_Name));
when Single_Exit =>
if Detail.Exist (Item.Direction) then
Text_Io.Put (Complement_Array.Exit_Name
(The_Place.Index, Detail.Index
(Item.Direction)));
end if;
when Exits =>
Complement_Array.List_Exits_Init (The_Place.Index);
while not Complement_Array.List_Exits_Done
(The_Place.Index) loop
Text_Io.Put (Complement_Array.List_Exits_Direction
(The_Place.Index) & " ");
Complement_Array.List_Exits_Next (The_Place.Index);
end loop;
Text_Io.New_Line;
when Contents =>
Text_Io.Put ("Je vois");
Complement_Array.List_Complement_Init;
while not Complement_Array.List_Complement_Done loop
if Complement_Array.List_Complement_Place =
Objet.Complement (Item.The_Place) and
The_Hero.Image /= Complement_Array.
List_Complement_Name then
if A_Number > 0 then
Text_Io.Put (", ");
else
Text_Io.Put (" ");
end if;
Text_Io.Put (Complement_Array.List_Complement_Name);
A_Number := A_Number + 1;
end if;
Complement_Array.List_Complement_Next;
end loop;
if A_Number = 0 then
Text_Io.Put (" rien de special !"); -- ou text_io.put ???
else
Text_Io.Put (".");
end if;
when Unknown =>
null;
end case;
end Display;
procedure Show (Item : in Object) is
begin
Text_Io.Put ("View : Kind : " &
View_Kind'Image (Item.Kind) & " Image : "); Display (Item);
Text_Io.New_Line;
end Show;
end View;
nblk1=7
nid=7
hdr6=c
[0x00] rec0=21 rec1=00 rec2=01 rec3=004
[0x01] rec0=1f rec1=00 rec2=05 rec3=062
[0x02] rec0=14 rec1=00 rec2=02 rec3=01e
[0x03] rec0=01 rec1=00 rec2=03 rec3=06c
[0x04] rec0=1b rec1=00 rec2=04 rec3=002
[0x05] rec0=05 rec1=00 rec2=06 rec3=001
[0x06] rec0=bc rec1=70 rec2=00 rec3=031
tail 0x21748c03486504abe632c 0x42a00088462060003
Free Block Chain:
0x7: 0000 00 00 00 58 80 1c 70 6c 65 6d 65 6e 74 20 28 49 ┆ X plement (I┆