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

⟦28eba81d4⟧ TextFile

    Length: 2100 (0x834)
    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 (Find_Unit.Build_Ada_Compilation_Unit)
procedure Peek_Left_Right_Paren is
    --==============================================================
    -- This procedure builds the next part of the grammar for an   =
    -- Ada compilation unit. Based on the next token, we will      =
    -- complete different productions. At present, we are parsing  =
    -- a right parenthesis  If a left parenthesis is found before  =
    -- the corresponding right parenthesis, then we will recurse on=
    -- this procedure. If we find a syntax error, then we will     =
    -- raise the exception Build_Syntax_Error.                     =
    -- The grammar :                                               =
    --      <Peek_Left_Right_Paren> =                              =
    --          * {'(' <Peek_Left_Right_Paren> * } ')'             =
    --                                                             =
    -- written  by  GER  with  help  from  b2  and  JM             =
    -- May 1985  at EVB Software Engineering                       =
    --==============================================================

    Peek_Token : Token_Package.Token;
    -- This will token will be looked later
    Right_Found : Boolean := False;
    -- Set to true when the right parenthesis is found

begin
    -- Peek_Left_Right_Paren

    -- Parse a right parenthesis

    Search_For_Right:
        loop
            Peek_Next_Significant_Token (Significant_Token => Peek_Token);

            case Token_Package.Value_Of (Peek_Token) is
                when Token_Package.Right_Parenthesis_Token =>
                    Right_Found := True;
                when Token_Package.Left_Parenthesis_Token =>
                    Peek_Left_Right_Paren;
                when others =>

                    if Token_Package.Class_Of (Peek_Token) =
                       Token_Package.End_Of_File then
                        raise Build_Syntax_Error;
                    end if;

            end case;

            exit Search_For_Right when Right_Found;
        end loop Search_For_Right;

end Peek_Left_Right_Paren;