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

⟦2f92048b2⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Message, seg_0381b7

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 Object;
with List_Generic;

package Message is

    type Keyword is private;

    procedure Init (This : in out Keyword);

    function Create return Keyword;

    function Send (This_Message : Keyword; To : Object.Reference)
                  return Object.Reference;

    function Get (Name_From : Keyword) return Object.Tiny_String;
    function Get (Argument_From : Keyword) return Object.Reference;
    procedure Put (This_Argument : Object.Reference;
                   Named : Object.Tiny_String;
                   Into : in out Keyword);
    procedure Put (This_Name : Object.Tiny_String; Into : in out Keyword);
    procedure Put (This_Argument : Object.Reference; Into : in out Keyword);
    procedure Next (From : in out Keyword);
    function Is_Done (This : Keyword) return Boolean;
    function Is_Done_Name (This : Keyword) return Boolean;
    function Is_Done_Argument (This : Keyword) return Boolean;
    procedure Free (This : in out Keyword);

    type Binary is private;

    function Create return Binary;

    function Send (This_Message : Binary; To : Object.Reference)
                  return Object.Reference;

    function Get (Name_From : Binary) return Object.Tiny_String;
    function Get (Argument_From : Binary) return Object.Reference;
    procedure Put (This_Argument : Object.Reference;
                   Named : Object.Tiny_String;
                   Into : in out Binary);
    procedure Put (This_Name : Object.Tiny_String; Into : out Binary);
    procedure Put (This_Argument : Object.Reference; Into : out Binary);

    type Unary is private;

    procedure Init (This : in out Unary);

    function Create return Unary;

    function Send (This_Message : Unary; To : Object.Reference)
                  return Object.Reference;

    function Get (Name_From : Unary) return Object.Tiny_String;  
    procedure Put (This_Name : Object.Tiny_String; Into : in out Unary);
    procedure Next (From : in out Unary);
    function Is_Done (This : Unary) return Boolean;
    procedure Free (This : in out Unary);

private

    package Message_Argument is new List_Generic (Element => Object.Reference);
    package Message_Name is new List_Generic (Element => Object.Tiny_String);

    type Keyword is
        record
            Name : Message_Name.List := Message_Name.Nil;
            Argument : Message_Argument.List := Message_Argument.Nil;
            Iter_Name : Message_Name.Iterator;
            Iter_Arg : Message_Argument.Iterator;
        end record;

    type Binary is
        record
            Name : Object.Tiny_String;
            Argument : Object.Reference := Object.Void_Reference;
        end record;

    type Unary is
        record
            Name : Message_Name.List := Message_Name.Nil;
            Iter : Message_Name.Iterator;
        end record;

end Message;


E3 Meta Data

    nblk1=6
    nid=3
    hdr6=6
        [0x00] rec0=1b rec1=00 rec2=01 rec3=022
        [0x01] rec0=1b rec1=00 rec2=04 rec3=07c
        [0x02] rec0=20 rec1=00 rec2=02 rec3=000
        [0x03] rec0=1f rec1=00 rec2=03 rec3=00a
        [0x04] rec0=02 rec1=00 rec2=06 rec3=000
        [0x05] rec0=42 rec1=5e rec2=48 rec3=48d
    tail 0x21735bb4684e67d11c177 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 06 00 20 80 09 20 42 6f 6f 6c 65 61 6e 3b 09  ┆       Boolean; ┆
  0x6: 0000  00 05 00 10 80 07 65 73 73 61 67 65 3b 07 00 00  ┆      essage;   ┆
  0x5: 0000  00 00 00 2c 00 0e 20 20 20 20 20 20 20 20 72 65  ┆   ,          re┆