|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 1704 (0x6a8)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
with Bird;
with Text_Io;
package body Animal is
function Get_Os_Animal (A : Object) return Natural is
begin
return A.Os_Animal;
end Get_Os_Animal;
function Get_Os_Bird (A : Object) return Natural is
begin
return A.Os_Bird;
end Get_Os_Bird;
function Get_Os_Bop (A : Object) return Natural is
begin
return A.Os_Bop;
end Get_Os_Bop;
procedure Set_Os_Animal (A : in out Object; V : Natural) is
begin
A.Os_Animal := V;
end Set_Os_Animal;
procedure Set_Os_Bird (A : in out Object; V : Natural) is
begin
A.Os_Bird := V;
end Set_Os_Bird;
procedure Set_Os_Bop (A : in out Object; V : Natural) is
begin
A.Os_Bop := V;
end Set_Os_Bop;
package body Self is
procedure Eat (A : Object; Passe : Boolean := False) is
O : Object;
begin
Text_Io.Put_Line ("Animal eat, passe est " & Boolean'Image (Passe));
end Eat;
end Self;
procedure Eat (A : Object; Passe : Boolean := False) is
begin
case Get_Os_Animal (A) is
when 0 =>
Self.Eat (A);
when 1 =>
if not Passe then
Bird.Eat (Bird.Object (A), True);
else
Self.Eat (A);
end if;
when others =>
null;
end case;
end Eat;
package Int_Io is new Text_Io.Integer_Io (Natural);
function Get_Value (S : String) return Natural is
Ret : Natural;
begin
Text_Io.Put (S);
Int_Io.Get (Item => Ret, Width => 1);
return Ret;
end Get_Value;
end Animal;