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

⟦eac8822c9⟧ TextFile

    Length: 1161 (0x489)
    Types: TextFile
    Names: »V«

Derivation

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

TextFile

with Bounded_String;

package Object is

    Max_Integer : constant := 65536;

    Max_String : constant := 300;

    Max_Block : constant := 100;

    Max_Turtle : constant := 20;

    Max_Pen : constant := 20;

    Max_Window : constant := 20;


    type E_Class is (Integer_Class, Boolean_Class, String_Class, Turtle_Class,
                     Pen_Class, Block_Class, Window_Class, Void_Class);

    subtype Tiny_String is Bounded_String.Variable_String (80);

    type Index is range -Max_Integer .. Max_Integer;

    type Reference is private;

    Void_Reference : constant Reference;

    function Create (Class : E_Class; Object : Index) return Reference;

    function Get (Class_From : Reference) return E_Class;
    function Get (Index_From : Reference) return Index;
    procedure Put (This_Class : E_Class; Into : out Reference);
    procedure Put (This_Index : Index; Into : out Reference);

private

    type Reference is
        record
            Id_Class : E_Class := Void_Class;
            Id_Object : Index := 0;
        end record;

    Void_Reference : constant Reference :=
       (Id_Class => Void_Class, Id_Object => 0);

end Object;