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