|
|
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: T V
Length: 1161 (0x489)
Types: TextFile
Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
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;