|
|
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: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Field, seg_049b5e, seg_049c0e, seg_049c20
└─⟦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 Field_Identifier_Array, Enumerate_Array, Screen;
package body Field is
procedure Create_Number (Item : out Object; Index : in Positive) is
begin
Item := (Kind => Number, Number_Index => Index, Number_Value => 0);
end Create_Number;
procedure Create_Sentence (Item : out Object; Index : in Positive) is
begin
Item := (Kind => Sentence,
Sentence_Index => Index,
Sentence_Value => Identifier.Null_Object);
end Create_Sentence;
procedure Create_Enumerate (Item : out Object; Index : in Positive) is
begin
Item := (Kind => Enumerate,
Enumerate_Index => Index,
Enumeration => 0,
Literal => 0);
end Create_Enumerate;
procedure Put_Number (Item : in out Object;
A_Number : in Integer;
Ok : out Boolean) is
begin
if Item.Kind = Number then
Item.Number_Value := A_Number;
Ok := True;
else
Ok := False;
end if;
end Put_Number;
procedure Put_Sentence (Item : in out Object;
A_Sentence : in Identifier.Object;
Ok : out Boolean) is
begin
if Item.Kind = Sentence then
Item.Sentence_Value := A_Sentence;
Ok := True;
else
Ok := False;
end if;
end Put_Sentence;
procedure Put_Enumerate (Item : in out Object;
Enumeration, Literal : in Positive;
Ok : out Boolean) is
begin
if Item.Kind = Enumerate then
Item.Enumeration := Enumeration;
Item.Literal := Literal;
Ok := True;
else
Ok := False;
end if;
end Put_Enumerate;
procedure Show (Item : in Object) is
begin
Screen.Write_Help_Window ("Champ : Type : " &
Field_Kind'Image (Item.Kind) &
" Nom : " & Name (Item) &
" Valeur : " & Image (Item));
Screen.New_Line_Help_Window;
end Show;
function Index (Item : in Object) return Natural is
begin
case Item.Kind is
when Number =>
return Item.Number_Index;
when Sentence =>
return Item.Sentence_Index;
when Enumerate =>
return Item.Enumerate_Index;
when Unknown =>
return 0;
end case;
end Index;
function Name (Item : in Object) return String is
begin
return Field_Identifier_Array.Image (Index (Item));
end Name;
function Is_A_Number (Item : in Object) return Boolean is
begin
return Item.Kind = Number;
end Is_A_Number;
function Is_A_Sentence (Item : in Object) return Boolean is
begin
return Item.Kind = Sentence;
end Is_A_Sentence;
function Is_An_Enumerate (Item : in Object) return Boolean is
begin
return Item.Kind = Enumerate;
end Is_An_Enumerate;
function Image (Item : in Object) return String is
begin
case Item.Kind is
when Number =>
return Integer'Image (Number (Item));
when Sentence =>
return Sentence (Item);
when Enumerate =>
return Enumerate_Array.Literal (Literal (Item));
when Unknown =>
return "";
end case;
end Image;
function Number (Item : in Object) return Integer is
begin
if Item.Kind = Number then
return Item.Number_Value;
else
return 0;
end if;
end Number;
function Sentence (Item : in Object) return String is
begin
if Item.Kind = Sentence then
return Identifier.Image (Item.Sentence_Value);
else
return "";
end if;
end Sentence;
function Enumeration (Item : in Object) return Natural is
begin
if Item.Kind = Enumerate then
return Item.Enumeration;
else
return 0;
end if;
end Enumeration;
function Literal (Item : in Object) return Natural is
begin
if Item.Kind = Enumerate then
return Item.Literal;
else
return 0;
end if;
end Literal;
end Field;
nblk1=8
nid=2
hdr6=e
[0x00] rec0=0e rec1=00 rec2=01 rec3=00e
[0x01] rec0=20 rec1=00 rec2=05 rec3=03e
[0x02] rec0=21 rec1=00 rec2=04 rec3=064
[0x03] rec0=05 rec1=00 rec2=08 rec3=00e
[0x04] rec0=27 rec1=00 rec2=06 rec3=004
[0x05] rec0=25 rec1=00 rec2=07 rec3=014
[0x06] rec0=0e rec1=00 rec2=03 rec3=000
[0x07] rec0=0e rec1=00 rec2=08 rec3=000
tail 0x215473162866189c0f247 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 00 2c 00 29 20 20 20 20 20 20 20 20 20 20 ┆ , ) ┆