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 - metrics - download
Index: B T

⟦dd106b886⟧ TextFile

    Length: 2502 (0x9c6)
    Types: TextFile
    Names: »B«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

separate (Compilation_Unit.Produce_Metrics)
procedure Expression (Current_Compilation_Unit : in out Ada_Compilation_Unit;
                      Program_Unit : in Program_Unit_State_Machine;
                      Halstead : in Halstead_State_Machine;
                      Loc : in Loc_State_Machine;
                      Mccabe : in Mccabe_State_Machine;
                      Terminate_Tokens : in Set_Of_Tokens) is

    --=========================================================
    -- Expression ::=
    --    Expression_Token { Expression_Token }
    --=========================================================

    Current_Token : Token_Package.Token;
    Peek_Ahead_Token_Value : Token_Package.Token_Value;

    function Is_Member (This_Token : in Token_Package.Token_Value;
                        In_This_List : in Set_Of_Tokens) return Boolean is
        --==============================================================
        -- returns TRUE if This_Token is a member of Terminate_Tokens ==
        -- otherwise FALSE is returned.                               ==
        --==============================================================
    begin
        -- Is_Member

        for Index in In_This_List'Range loop
            if In_This_List (Index) = This_Token then
                return True;
            end if;
        end loop;
        return False;

    end Is_Member;

begin
    -- Expression

    Expression_Token (Current_Compilation_Unit => Current_Compilation_Unit,
                      Program_Unit => Program_Unit,
                      Halstead => Halstead,
                      Loc => Loc,
                      Mccabe => Mccabe);

    Process_Expression_Tokens:
        loop

            -- find out whether the next token is a termination token
            Peek_Ahead_Token_Value :=
               Token_Package.Value_Of (Peek (From => Current_Compilation_Unit));

            --** changed 11/13/85 by J. Margono
            --** reason: "exit .. when ... " was placed in the wrong place
            exit Process_Expression_Tokens when
               Is_Member (This_Token => Peek_Ahead_Token_Value,
                          In_This_List => Terminate_Tokens);
            Expression_Token
               (Current_Compilation_Unit => Current_Compilation_Unit,
                Program_Unit => Program_Unit,
                Halstead => Halstead,
                Loc => Loc,
                Mccabe => Mccabe);

        end loop Process_Expression_Tokens;

end Expression;