|
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: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Object, seg_032aab
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with List_Generic; with Bounded_String; package Object is Max_Integer : constant := 65536; Max_String : constant := 100; Max_Block : constant := 100; type E_Class is (Integer_Class, Boolean_Class, String_Class, Turtle_Class, Pen_Class, Block_Class, Void_Class); subtype Tiny_String is Bounded_String.Variable_String (80); Empty_String : Tiny_String; type Index is range -Max_Integer .. Max_Integer; type Reference is private; type Access_Reference is private; Void_Reference : constant Reference; function Create (Class : E_Class; Object : Index) return Reference; function Get (From : Reference) return E_Class; function Get (From : Reference) return Index; procedure Put (This : E_Class; Into : out Reference); procedure Put (This : Index; Into : out Reference); type Keyword is private; procedure Init (This : in out Keyword); function Create return Keyword; function Send (This_Message : Keyword; To : Reference) return Reference; function Get (From : Keyword) return Tiny_String; function Get (From : Keyword) return Reference; procedure Put (This : Tiny_String; And_This : Reference; Into : in out Keyword); procedure Put (This : Tiny_String; Into : in out Keyword); procedure Put (This : 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 : Reference) return Reference; function Get (From : Binary) return Tiny_String; function Get (From : Binary) return Reference; procedure Put (This : Tiny_String; Into : out Binary); procedure Put (This : Reference; Into : out Binary); type Unary is private; procedure Init (This : Unary); function Create return Unary; function Send (This_Message : Unary; To : Reference) return Reference; function Get (From : Unary) return Tiny_String; procedure Put (This : 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 type Reference is record Id_Class : E_Class := Void_Class; Id_Object : Index := 0; end record; type Access_Reference is access Reference; Void_Reference : constant Reference := (Id_Class => Void_Class, Id_Object => 0); package Message_Argument is new List_Generic (Element => Reference); package Message_Name is new List_Generic (Element => 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 : Tiny_String; Argument : Reference := Void_Reference; end record; type Access_Binary is access Binary; type Unary is record Name : Message_Name.List := Message_Name.Nil; Iter : Message_Name.Iterator; end record; end Object;
nblk1=6 nid=5 hdr6=a [0x00] rec0=27 rec1=00 rec2=01 rec3=00a [0x01] rec0=02 rec1=00 rec2=02 rec3=01a [0x02] rec0=17 rec1=00 rec2=06 rec3=04e [0x03] rec0=21 rec1=00 rec2=04 rec3=016 [0x04] rec0=17 rec1=00 rec2=03 rec3=000 [0x05] rec0=42 rec1=5e rec2=48 rec3=48d tail 0x2152b519e84ca73db845c 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 00 00 2c 00 0e 20 20 20 20 20 20 20 20 72 65 ┆ , re┆