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

⟦08f860184⟧ TextFile

    Length: 1185 (0x4a1)
    Types: TextFile
    Names: »V«

Derivation

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

TextFile

with Root;
package Animal is

    type Main_Class is (Void, Animal_Class);

    package Application is new Root (Main_Class);


    type State is private;

    type State_Ptr is private;

    type Object is new Application.Object;

    type Sub_Class is (Void, It_Self, Bird_Class, Fish_Class);


    function Create (Offspring_No : Sub_Class := It_Self) return Object;

    procedure Delete (This_Animal : in out Object);

    procedure Sleep (This_Animal : Object);

    procedure Eat (This_Animal : Object);

    procedure Set_Mass (This_Animal : in out Object; Kg : Positive);

    function Get_Mass (This_Animal : Object) return Positive;

    procedure Image (This_Animal : Object);


-- PROTECTED

    function Part_Of (This_Animal : Object) return State_Ptr;

    procedure Set_Heir (This_State_Ptr : in out State_Ptr;
                        Heir : Application.Object);

    function Get_Heir (This_State_Ptr : State_Ptr) return Application.Object;


private
    type State is
        record
            Mass : Positive;
            Offspring_No : Sub_Class := Void;
            Heir : Application.Object;
        end record;

    type State_Ptr is access State;

end Animal;