|
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_02cfcc, seg_02d0f3
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Constant_String; with Output_Stream; package Slot is type Types is (Integer, Boolean, Float, Character, Duration, String, Enumeration, Undefined); type Object (Kind : Types := Integer) is private; Null_Object : constant Object; False, True : constant Object; function Value (I : Standard.Integer) return Object; function Value (B : Standard.Boolean) return Object; function Value (F : Standard.Float) return Object; function Value (C : Standard.Character) return Object; function Value (D : Standard.Duration) return Object; function Value (S : Standard.String) return Object; function Get (The_Object : Object) return Standard.Integer; function Get (The_Object : Object) return Standard.Boolean; function Get (The_Object : Object) return Standard.Float; function Get (The_Object : Object) return Standard.Character; function Get (The_Object : Object) return Standard.Duration; function Get (The_Object : Object) return Standard.String; procedure Set (The_Object : in out Object; To : Standard.Integer); procedure Set (The_Object : in out Object; To : Standard.Boolean); procedure Set (The_Object : in out Object; To : Standard.Float); procedure Set (The_Object : in out Object; To : Standard.Character); procedure Set (The_Object : in out Object; To : Standard.Duration); procedure Set (The_Object : in out Object; To : Standard.String); function Have_Same_Type (Left, Right : Object) return Standard.Boolean; procedure Put (The_Object : Object; Where : Output_Stream.Object); package Operators is function "=" (Left, Right : Object) return Standard.Boolean renames Slot."="; function "<" (Left, Right : Object) return Standard.Boolean; function "<=" (Left, Right : Object) return Standard.Boolean; function ">" (Left, Right : Object) return Standard.Boolean; function ">=" (Left, Right : Object) return Standard.Boolean; function "+" (Left, Right : Object) return Object; function "-" (Left, Right : Object) return Object; function "*" (Left, Right : Object) return Object; function "/" (Left, Right : Object) return Object; function "-" (Right : Object) return Object; function "abs" (Right : Object) return Object; end Operators; generic type Enumeration_Values is (<>); package Enumeration_Facilities is function Value (Enumeration_Value : Enumeration_Values) return Object; function Get (The_Object : Object) return Enumeration_Values; procedure Set (The_Object : in out Object; To : Enumeration_Values); procedure Put (The_Object : Object; Where : Output_Stream.Object); end Enumeration_Facilities; Illegal_Operation : exception; Typing_Error : exception; private type Object (Kind : Types := Integer) is record case Kind is when Integer => The_Integer : Standard.Integer := 0; when Float => The_Float : Standard.Float := 0.0; when Boolean => The_Boolean : Standard.Boolean := Standard.False; when Character => The_Character : Standard.Character := Ascii.Nul; when Duration => The_Duration : Standard.Duration := 0.0; when String => The_String : Constant_String.Object := Constant_String.Null_Object; when Enumeration => The_Enumeration : Standard.Integer := 0; when Undefined => null; end case; end record; Null_Object : constant Slot.Object := (Kind => Undefined); False : constant Slot.Object := (Kind => Boolean, The_Boolean => Standard.False); True : constant Slot.Object := (Kind => Boolean, The_Boolean => Standard.True); end Slot;
nblk1=9 nid=2 hdr6=a [0x00] rec0=18 rec1=00 rec2=01 rec3=054 [0x01] rec0=14 rec1=00 rec2=07 rec3=06a [0x02] rec0=19 rec1=00 rec2=09 rec3=018 [0x03] rec0=19 rec1=00 rec2=05 rec3=026 [0x04] rec0=0a rec1=00 rec2=06 rec3=000 [0x05] rec0=05 rec1=00 rec2=06 rec3=000 [0x06] rec0=16 rec1=00 rec2=06 rec3=05c [0x07] rec0=04 rec1=00 rec2=08 rec3=000 [0x08] rec0=64 rec1=05 rec2=00 rec3=000 tail 0x21525e40a84143e3ee6f9 0x42a00088462063c03 Free Block Chain: 0x2: 0000 00 04 03 fc 00 21 20 20 20 20 20 20 20 20 20 20 ┆ ! ┆ 0x4: 0000 00 08 03 fc 80 36 20 20 20 20 20 20 54 68 65 5f ┆ 6 The_┆ 0x8: 0000 00 03 00 2c 80 14 6e 20 3d 3e 20 53 74 61 6e 64 ┆ , n => Stand┆ 0x3: 0000 00 00 00 06 80 03 72 65 74 03 63 74 29 20 72 65 ┆ ret ct) re┆