DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a69f4e890⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Boolean_Expressions, seg_004615

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



--| @SUMMARY  Provides operations for decomposing boolean expressions
--| into operators and their arguments.
with Ada_Program;
package Boolean_Expressions is

    type Operator is (And_Op, Or_Op, Xor_Op,

                      And_Then_Op, Or_Else_Op,

                      Not_Op,

                      Equal, Not_Equal,  
                      Less_Than, Less_Than_Or_Equal,  
                      Greater_Than, Greater_Than_Or_Equal,

                      In_Op, Not_In_Op,

                      Not_An_Operator);

    subtype Logical_Operator is  
       Operator range And_Op .. Xor_Op;

    subtype Relational_Operator is  
       Operator range Equal .. Greater_Than_Or_Equal;

    subtype Membership_Op is  
       Operator range In_Op .. Not_In_Op;

    subtype Short_Circuit_Operator is  
       Operator range And_Then_Op .. Or_Else_Op;

    subtype Unary_Not_Operator is  
       Operator range Not_Op .. Not_Op;

    --| @DESCRIPTION Returns the image of an operator as it would appear
    --| in an Ada program
    function Image (Op : Operator) return String;

    type Expression_Kind is (Expression,  
                             Relation,  
                             Membership,  
                             Not_Expression,  
                             Identifier,  
                             Literal,  
                             Function_Call,  
                             Attribute,  
                             Membership_Range,  
                             Not_An_Expression);

    function Kind (An_Expression : Ada_Program.Element) return Expression_Kind;


    function Expression_Operator
                (An_Expression : Ada_Program.Element) return Operator;

    function Left_Argument  (An_Expression : Ada_Program.Element)
                           return Ada_Program.Element;
    function Right_Argument (An_Expression : Ada_Program.Element)
                            return Ada_Program.Element;

    function Argument (A_Not_Expression : Ada_Program.Element)
                      return Ada_Program.Element;

end Boolean_Expressions;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=24 rec1=00 rec2=01 rec3=01c
        [0x01] rec0=18 rec1=00 rec2=02 rec3=01e
        [0x02] rec0=06 rec1=00 rec2=03 rec3=000
    tail 0x215004254815c65b4c266 0x42a00088462061e03