|
|
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: 2385 (0x951)
Types: TextFile
Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦this⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦e24fb53b7⟧
└─⟦this⟧
with Alias;
with Output_Stream;
with Slot;
generic
type User_Defined_Operators is (<>);
with function User_Defined_Unary_Evaluate
(Using_Operator : User_Defined_Operators;
Right : Slot.Object) return Slot.Object is <>;
with function User_Defined_Binary_Evaluate
(Using_Operator : User_Defined_Operators;
Left, Right : Slot.Object) return Slot.Object is <>;
with function User_Defined_Image
(Op : User_Defined_Operators) return String is
User_Defined_Operators'Image;
package Generic_Expression is
type Object is private;
Null_Expression : constant Object;
-- primary expression constructors
function Value (For_Object : Slot.Object) return Object;
function Value (For_Integer : Integer) return Object;
function Value (For_Boolean : Boolean) return Object;
function Value (For_Float : Float) return Object;
function Value (For_Character : Character) return Object;
function Value (For_Duration : Duration) return Object;
function Value (For_String : String) return Object;
function Value (For_Alias : Alias.Name) return Object;
-- user defined expression constructors
generic
Operator : User_Defined_Operators;
function Unary_User_Expression (Right : Object) return Object;
generic
Operator : User_Defined_Operators;
function Binary_User_Expression (Left, Right : Object) return Object;
-- general operations
function Evaluate (The_Expression : Object) return Slot.Object;
procedure Put (The_Object : Object; Where : Output_Stream.Object);
package System_Defined_Expression is
function "+" (Left, Right : Object) return Object;
function "-" (Left, Right : Object) return Object;
function "*" (Left, Right : Object) return Object;
function "/" (Left, Right : Object) return Object;
function "abs" (Right : Object) return Object;
end System_Defined_Expression;
Illegal_Operation : exception;
private
type Sub_Classes is (Primary, Unary, Binary, Undefined);
type Object_Structure (Sub_Class : Sub_Classes);
type Object is access Object_Structure;
Null_Expression : constant Object := null;
end Generic_Expression;