|
|
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: 3460 (0xd84)
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;
generic
type User_Defined_Operators is (<>);
with function User_Defined_Match (Using_Operator : User_Defined_Operators;
Value : Integer;
Against : Integer) return Boolean is <>;
with function User_Defined_Image
(Op : User_Defined_Operators) return String is
User_Defined_Operators'Image;
type Expression_Object is private;
with function Integer_Expression
(For_Integer : Integer) return Expression_Object;
with function Alias_Expression
(For_Alias : Alias.Name) return Expression_Object;
with function Evaluate (The_Object : Expression_Object) return Integer;
with procedure Put (The_Object : Expression_Object;
Where : Output_Stream.Object);
package Generic_Predicate is
type Object is private;
Null_Predicate : constant Object;
function Define_As (The_Alias : Alias.Name) return Object;
function "and" (Left, Right : Object) return Object;
-- user defined predicates
generic
Operator : User_Defined_Operators;
function Unary_User_Predicate return Object;
generic
Operator : User_Defined_Operators;
function Binary_User_Predicate
(Using_Value : Expression_Object) return Object;
function Match (Value : Integer; Against : Object) return Boolean;
procedure Put (The_Object : Object; Where : Output_Stream.Object);
package System_Defined_Predicate is
function Is_Equal (The_Object : Expression_Object) return Object;
function Is_Less (The_Object : Expression_Object) return Object;
function Is_Less_Or_Equal
(The_Object : Expression_Object) return Object;
function Is_Greater (The_Object : Expression_Object) return Object;
function Is_Greater_Or_Equal
(The_Object : Expression_Object) return Object;
function Is_Different (The_Object : Expression_Object) return Object;
function Is_Any return Object;
-- value predicate shortcuts
function Is_Equal (The_Value : Integer) return Object;
function Is_Less (The_Value : Integer) return Object;
function Is_Less_Or_Equal (The_Value : Integer) return Object;
function Is_Greater (The_Value : Integer) return Object;
function Is_Greater_Or_Equal (The_Value : Integer) return Object;
function Is_Different (The_Value : Integer) return Object;
-- alias predicate shortcuts
function Is_Equal (The_Alias : Alias.Name) return Object;
function Is_Less (The_Alias : Alias.Name) return Object;
function Is_Less_Or_Equal (The_Alias : Alias.Name) return Object;
function Is_Greater (The_Alias : Alias.Name) return Object;
function Is_Greater_Or_Equal (The_Alias : Alias.Name) return Object;
function Is_Different (The_Alias : Alias.Name) return Object;
end System_Defined_Predicate;
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_Predicate : constant Object := null;
end Generic_Predicate;