|
|
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: 3830 (0xef6)
Types: TextFile
Names: »V«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
└─⟦124ff5788⟧ »DATA«
└─⟦this⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
└─⟦6f12a12be⟧ »DATA«
└─⟦this⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦this⟧
-------------------------------------------------------------------------------
with Umps_Defs;
package Slot is
type Element is private;
type Kind is (Integer, String, Character, Boolean, Void);
function Make (The_Variable : Standard.String; With_Kind : Kind)
return Element;
-- make an element with empty value
function Make (The_Variable : Standard.String;
With_Value : Standard.Integer) return Element;
function Make (The_Variable : Standard.String; With_Value : Standard.String)
return Element;
function Make (The_Variable : Standard.String;
With_Value : Standard.Character) return Element;
function Make (The_Variable : Standard.String;
With_Value : Standard.Boolean) return Element;
-- make an element with a specific value
function Name_Of (The_Element : Element) return Standard.String;
function Kind_Of (The_Element : Element) return Kind;
-- used to avoid raising the Illegal_Access_Error exception
function Is_Empty_Value (The_Element : Element) return Standard.Boolean;
-- used to avoid raising the Empty_Value_Error exception
function Value_Of (The_Element : Element) return Standard.String;
function Value_Of (The_Element : Element) return Standard.Integer;
function Value_Of (The_Element : Element) return Standard.Character;
function Value_Of (The_Element : Element) return Standard.Boolean;
-- Empty_Value_Error will be raises if Is_Empty_Value (The_Element) is true.
-- Illegal_Access_Error is raised when an illegal access on value is trying
-- (ie. accessing for an Integer value when the element is a String).
Illegal_Access_Error : exception;
-- raised by accessing values when the element have not the desired value
Empty_Value_Error : exception;
-- raised by accessing values when the element is empty
-- (ie. Is_Empty_Value is true)
type Fields is (On_Name, On_Kind, On_Value, On_None);
generic
Field : Fields := On_Value;
function Is_Equal (Left, Right : Element) return Standard.Boolean;
generic
Field : Fields := On_Value;
function Is_Less (Left, Right : Element) return Standard.Boolean;
generic
Field : Fields := On_Value;
function Is_Most (Left, Right : Element) return Standard.Boolean;
-- Fields
-- Name : Name_Of (Left) <op> Name_Of (Right)
-- Kind : Name and Kind_Of( Left) <op> Kind_Of (Right)
-- Value : Name and Kind and Value_Of (Left) <op> Value_of (Right)
function Image (The_Element : Element) return Standard.String;
procedure Display (The_Element : Element;
String_Before : Standard.String := "");
-------------------------------------------------------------------------------
private
type Value (Is_Kind_Of : Kind := Void) is
record
case Is_Kind_Of is
when String =>
String : Umps_Defs.String := (others => Ascii.Nul);
when Integer =>
Integer : Standard.Integer := 0;
when Character =>
Character : Standard.Character := Ascii.Nul;
when Boolean =>
Boolean : Standard.Boolean := False;
when Void =>
Void : Standard.Character := Ascii.Nul;
end case;
end record;
type Element is
record
The_Name : Umps_Defs.Name := Umps_Defs.Null_Name;
The_Kind : Kind := Void;
Empty : Standard.Boolean := True;
The_Value : Value;
end record;
end Slot;
-------------------------------------------------------------------------------