|
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: 10240 (0x2800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Slot, seg_011f3d
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Instance; with Constant_String; package Slot is type Kinds is (Integer_Value, Boolean_Value, Float_Value, Character_Value, String_Value, Checked_Enumeration_Value, Unchecked_Enumeration_Value, Class_Value); type Object (Kind : Kinds := Integer_Value) is private; -- record variant True_Object : constant Slot.Object; False_Object : constant Slot.Object; function Value (I : Integer) return Object; function Value (F : Float) return Object; function Value (B : Boolean) return Object; function Value (C : Character) return Object; function Value (S : String) return Object; function Value (O : Instance.Reference) return Object; function Get (O : Object) return Integer; function Get (O : Object) return Boolean; function Get (O : Object) return Float; function Get (O : Object) return Character; function Get (O : Object) return String; function Get (O : Object) return Instance.Reference; procedure Set (O : in out Object; To : Integer; Is_Mutable : Boolean := False); procedure Set (O : in out Object; To : Boolean; Is_Mutable : Boolean := False); procedure Set (O : in out Object; To : Float; Is_Mutable : Boolean := False); procedure Set (O : in out Object; To : Character; Is_Mutable : Boolean := False); procedure Set (O : in out Object; To : String; Is_Mutable : Boolean := False); procedure Set (O : in out Object; To : Instance.Reference; Is_Mutable : Boolean := False); function Is_Same_Type (Left, Right : Object) return Boolean; package Operators is function "=" (Left, Right : Object) return Boolean renames Slot."="; function "<" (Left, Right : Object) return Boolean; function "<=" (Left, Right : Object) return Boolean; function ">" (Left, Right : Object) return Boolean; function ">=" (Left, Right : Object) return Boolean; end Operators; function Image (O : Object) return String; generic Checked : in Boolean := False; type Values is (<>); package Enumeration_Facilities is function Value (E : Values) return Object; function Get (O : Object) return Values; procedure Set (O : in out Object; To : Values; Is_Mutable : Boolean := False); function Image (O : Object) return String; function Image (E : Values) return String; function "=" (Left, Right : Object) return Boolean renames Slot."="; function "<" (Left, Right : Object) return Boolean; function "<=" (Left, Right : Object) return Boolean; function ">" (Left, Right : Object) return Boolean; function ">=" (Left, Right : Object) return Boolean; end Enumeration_Facilities; Integer_Object_Waited_Error : exception; Boolean_Object_Waited_Error : exception; Float_Object_Waited_Error : exception; Char_Object_Waited_Error : exception; String_Object_Waited_Error : exception; Reference_Object_Waited_Error : exception; Incompatible_Integer_And_Object : exception; Incompatible_Boolean_And_Object : exception; Incompatible_Float_And_Object : exception; Incompatible_Char_And_Object : exception; Incompatible_String_And_Object : exception; Incompatible_Reference_And_Object : exception; Less_Operator_Error : exception; Less_Equal_Operator_Error : exception; Great_Operator_Error : exception; Great_Equal_Operator_Error : exception; Illegal_Enumeration_Object : exception; Enumeration_Object_Error : exception; Enumeration_Less_Error : exception; Enumeration_Less_Equal_Error : exception; Enumeration_Great_Error : exception; Enumeration_Great_Equal_Error : exception; private type Object (Kind : Kinds := Integer_Value) is record case Kind is when Integer_Value => I_Val : Integer := 0; when Float_Value => F_Val : Float := 0.0; when Boolean_Value => B_Val : Boolean := False; when Character_Value => C_Val : Character := Ascii.Nul; when String_Value => S_Val : Constant_String.Object := Constant_String.Null_Object; when Class_Value => O_Val : Instance.Reference := Instance.Null_Reference; when Unchecked_Enumeration_Value => Ue_Val : Integer := 0; --'pos when Checked_Enumeration_Value => Ce_Val : Constant_String.Object := Constant_String.Null_Object; --'image end case; end record; True_Object : constant Slot.Object := (Kind => Boolean_Value, B_Val => True); False_Object : constant Slot.Object := (Kind => Boolean_Value, B_Val => False); end Slot;
nblk1=9 nid=8 hdr6=10 [0x00] rec0=19 rec1=00 rec2=01 rec3=02e [0x01] rec0=00 rec1=00 rec2=03 rec3=01c [0x02] rec0=19 rec1=00 rec2=06 rec3=06e [0x03] rec0=18 rec1=00 rec2=05 rec3=076 [0x04] rec0=18 rec1=00 rec2=09 rec3=038 [0x05] rec0=0b rec1=00 rec2=04 rec3=040 [0x06] rec0=1b rec1=00 rec2=02 rec3=000 [0x07] rec0=01 rec1=00 rec2=07 rec3=000 [0x08] rec0=00 rec1=07 rec2=00 rec3=000 tail 0x2150d3cc2824673be5126 0x42a00088462060003 Free Block Chain: 0x8: 0000 00 00 01 44 80 05 74 69 6f 6e 3b 05 00 2e 20 20 ┆ D tion; . ┆