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: ┃ B T

⟦704230312⟧ TextFile

    Length: 980 (0x3d4)
    Types: TextFile
    Names: »B«

Derivation

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

TextFile

with Bird;
with Fish;
with Oo_Ada_Exception;

separate (Animal)

procedure Delete (This_Animal : in out Object; Marker : Boolean := False) is
    This_State_Ptr : State_Ptr := Part_Of (This_Animal);
begin
    case This_State_Ptr.Offspring_No is

        when 0 =>
            Free (This_State_Ptr);
            Application.Delete (Application.Object (This_Animal));

        when 1 =>  
            if not Marker then
                Fish.Delete (Fish.Object (This_Animal));
            else
                Free (This_State_Ptr);
                Application.Delete (Application.Object (This_Animal));
            end if;

        when 2 =>
            if not Marker then
                Bird.Delete (Bird.Object (This_Animal));
            else
                Free (This_State_Ptr);
                Application.Delete (Application.Object (This_Animal));
            end if;

        when others =>
            raise Oo_Ada_Exception.Offspring_Error;

    end case;
end Delete;