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

⟦5407aa549⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Instruction_List, seg_0472dd, seg_048008, seg_049a43, seg_049a68

Derivation

└─⟦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⟧ 

E3 Source Code



with Affectation, Condition, View_List, Detail, Objet;
package Instruction_List is

    type Object is private;

    procedure Insert_If (List : in out Object;
                         A_Condition : in Condition.Object;
                         Right : in Object;
                         Wrong : in Object);
    procedure Insert_Change (List : in out Object;
                             An_Affectation : in Affectation.Object);
    procedure Insert_Display (List : in out Object;
                              A_Display_List : in View_List.Object);
    procedure Insert_Next_Line (List : in out Object);
    procedure Insert_Move (List : in out Object);
    procedure Insert_Put (List : in out Object;
                          A_Subject : in Detail.Object;
                          A_Place : in Objet.Object);
    procedure Insert_Stop (List : in out Object);
    procedure Insert_Go (List : in out Object; A_Direction : in Detail.Object);
    procedure Insert_Erase (List : in out Object);
    procedure Show (List : in Object);
    procedure Run (List : in Object);
    function Is_At_End return Boolean;

    Null_Object : constant Object;

private

    type Instruction_Kind is (Si, Change, Display, Next_Line, Move,
                              Put, Stop, Go, Erase, Unknown);

    type Instruction (Kind : Instruction_Kind := Unknown) is
        record  
            Next_Instruction : Object := Null_Object;
            case Kind is
                when Si =>
                    The_Condition : Condition.Object := Condition.Null_Object;
                    Right_Instruction_List : Object := Null_Object;
                    Wrong_Instruction_List : Object := Null_Object;
                when Change =>
                    The_Affectation : Affectation.Object :=
                       Affectation.Null_Object;
                when Display =>
                    Display_List : View_List.Object := View_List.Null_Object;
                when Put =>
                    Subject : Detail.Object := Detail.Null_Object;
                    Place : Objet.Object := Objet.Null_Object;
                when Go =>
                    Direction : Detail.Object := Detail.Null_Object;
                when Next_Line | Move | Stop | Erase | Unknown =>
                    null;
            end case;
        end record;

    type Object is access Instruction;

    Null_Object : constant Object := null;

end Instruction_List;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=16 rec1=00 rec2=01 rec3=03c
        [0x01] rec0=19 rec1=00 rec2=03 rec3=00a
        [0x02] rec0=0f rec1=00 rec2=04 rec3=000
        [0x03] rec0=0f rec1=00 rec2=02 rec3=000
    tail 0x2174a6390865363eb011b 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 02 0b 80 1b 6a 65 63 74 20 3a 3d 20 44 65  ┆      ject := De┆