DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦c2b2d6faf⟧ TextFile

    Length: 3460 (0xd84)
    Types: TextFile
    Names: »V«

Derivation

└─⟦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⟧ 

TextFile

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;