DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦4e839def3⟧ TextFile

    Length: 1805 (0x70d)
    Types: TextFile
    Names: »V«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Lex;
with List_Generic;
package Object is

    type Class_Id is (Tiny_Bloc, Tiny_Boolean, Tiny_Integer,
                      Tiny_Turtle, Tiny_String, Tiny_Pen, Tiny_Void);

    Max : constant := 10;  
    type Index is range 0 .. Max;

    type Reference is
        record
            Class : Class_Id;
            Identity : Integer;
        end record;
    Void_Reference : constant Reference := (Tiny_Void, 0);
    subtype Message is Lex.Lex_String;  
    package Parameters is
        type List is private;
        procedure Add (Keyword : Message;
                       Obj : Reference;
                       To_List : in out List);
        procedure Get (From_List : in out List; Head : out Reference);
        function Selector (From_List : List) return Message;


    private
        package Parameters_List is new List_Generic (Reference);
        type Para_List is new Parameters_List.List;  
        type List is
            record
                Param : Para_List;
                Selector : Message;
            end record;

    end Parameters;

    function Create (Token : Lex.Token; Value : Lex.Lex_String)
                    return Reference;

    --function Create (Value : Integer) return Reference;
    function Send (To_Object : Object.Reference; The_Message : Object.Message)
                  return Object.Reference;

    function Send (To_Object : Object.Reference;
                   The_Message : Object.Message;
                   The_Argument : Object.Reference) return Object.Reference;

    function Send (To_Object : Object.Reference;
                   The_Argument : Object.Parameters.List)
                  return Object.Reference;

    function Send (To_Object : Object.Reference; The_Message : Object.Message)
                  return String;


end Object;