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

⟦cc09a8d27⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Types_3, seg_004600

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



--| @SUMMARY  Test input
package Types_3 is

    type Int is range 1 .. 8;

    A_C    : Character := 'b';
    An_Int : Int;

    type Flt  is digits 7 range 1.0 .. 4.5;
    type Flt2 is digits 5 range 1.0 .. 4.5;

    type E is (E_One, E_Two, E_Three);

    type Color is (Red, Blue, Green);

    type Ar  is array (Int range <>) of Flt;
    type Ar2 is array (Int) of Boolean;

    type R1 is
        record
            C  : Character;
            S  : String (1 .. 2);
            F  : Flt;
            F2 : Flt2;
        end record;

    type Ar1 is array (Int range <>) of R1;

    type R2 is
        record
            E1    : E;
            A     : Int;
            An_Ar : Ar1 (1 .. 5);
        end record;


    type Ac is access R1;

    type Ar3 is array (1 .. 4) of Ac;

    type An is new Ac;

    subtype As is An;

    task type T;

    type Pr  is private;
    type Lpr is limited private;

    Up : constant Duration := 4.5;

    type Fix     is delta 0.01 range 1.0 .. Up;
    type Problem is digits 6;

    generic
        type T is private;
    package P is
        type Composite is
            record
                One : T;
            end record;
    end P;

    package A_P is new P (Fix);

    type Msg (C : Color) is
        record
            A : Integer;
            case C is
                when Red =>
                    F : String (1 .. 20);
                when Blue =>
                    B : Boolean;
                when Green =>
                    V : Character;
            end case;
        end record;

    type Disc (An_E : E) is
        record

            One    : Ac;
            Two    : Ar3;
            Three  : An;
            Four   : Fix;
            Four_A : Problem;
            Four_B : Msg (Red);
            Five   : Pr;
            Six    : Lpr;
            Seven  : T;
            Eight  : As;
            Nine   : An;
            Ten    : A_P.Composite;
            case An_E is
                when E_One =>
                    Ten_One : Integer;
                when E_Two =>
                    Eleven_One : Character;
                when E_Three =>
                    Twelve_One   : Ar1 (1 .. An_Int);
                    Twleve_Two   : Msg (Blue);
                    Twleve_Three : Msg (Green);
            end case;
        end record;

    subtype Disc_E_One is Disc (E_One);

    type Arrr   is array (Int) of Disc_E_One;
    type A_Char is (A, 'l', B);

    type My_String is array (Positive range <>) of A_Char;

    type No_Char is (Gg, Q, R, A_Lemon);

    type No_String is array (Positive range <>) of No_Char;
private
    type Pr is new Boolean;

    type Lpr is new Boolean;
end Types_3;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=33 rec1=00 rec2=01 rec3=012
        [0x01] rec0=00 rec1=00 rec2=03 rec3=014
        [0x02] rec0=2a rec1=00 rec2=04 rec3=008
        [0x03] rec0=1d rec1=00 rec2=02 rec3=001
    tail 0x217002428815c65985d12 0x42a00088462061e03