DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦c99653eae⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package T_Value, seg_047ca2

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Bounded_String, Text_Io;

package T_Value is

    Error_Integer_Value : exception;
    Error_Boolean_Value : exception;
    Error_Real_Value : exception;
    Error_String_Value : exception;
    Error_Equal_Value : exception;

    Max_Value_String : constant := 80;
    type Kind_Of_Values is (Undefined_Value, Integer_Value,
                            String_Value, Boolean_Value);

    type Object (Kind : Kind_Of_Values := Undefined_Value) is private;
    Null_Value : constant Object;
    subtype V_File is Text_Io.File_Type;




--Creation
    procedure New_Value (V : out T_Value.Object);

--Liberation
    procedure Dispose (V : in out T_Value.Object);

--Access
    function Kind_Of_Value (V : in T_Value.Object) return Kind_Of_Values;
    function Get (V : in T_Value.Object) return Integer;
    function Get (V : in T_Value.Object) return Boolean;
    function Get (V : in T_Value.Object) return String;
    function Equal (V1 : in T_Value.Object; V2 : in T_Value.Object)
                   return Boolean;
    function Image (V : in T_Value.Object) return String;
    procedure Value_To_File (V : in T_Value.Object; F : V_File);

--Modification
    procedure Undefine (V : in out T_Value.Object);
    procedure Set (V : in out T_Value.Object; I : in Integer);
    procedure Set (V : in out T_Value.Object; S : in String);
    procedure Set (V : in out T_Value.Object; B : in Boolean);
    procedure Copy (To_Value : in out T_Value.Object;
                    The_Value : in T_Value.Object);
    procedure Set_Value_Using_File (V : in out T_Value.Object; F : V_File);

private

    type String_Access is access String;

    type Object (Kind : Kind_Of_Values := Undefined_Value) is
        record
            case Kind is
                when Integer_Value =>
                    The_Integer : Integer;
                when String_Value =>
                    The_String : String_Access;
                when Boolean_Value =>
                    The_Boolean : Boolean;
                when Undefined_Value =>
                    null;
            end case;
        end record;

    Null_Value : constant Object := (Kind => Undefined_Value);

end T_Value;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=22 rec1=00 rec2=01 rec3=03e
        [0x01] rec0=19 rec1=00 rec2=02 rec3=01c
        [0x02] rec0=0a rec1=00 rec2=03 rec3=001
    tail 0x2174b76f286574a252191 0x42a00088462060003