Changeset 1ead581 for translator


Ignore:
Timestamp:
Nov 17, 2014, 4:11:29 PM (10 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
d0e8cfe4
Parents:
c8ffe20b
Message:

remove configure files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • translator/SymTab/Validate.cc

    rc8ffe20b r1ead581  
    11/*
    2   The "validate" phase of translation is used to take a syntax tree and convert it into a
    3   standard form that aims to be as regular in structure as possible.  Some assumptions can be
    4   made regarding the state of the tree after this pass is complete, including:
    5 
    6   - No nested structure or union definitions; any in the input are "hoisted" to the level of
    7   the containing struct or union.
     2  The "validate" phase of translation is used to take a syntax tree and convert it into a standard form that aims to be
     3  as regular in structure as possible.  Some assumptions can be made regarding the state of the tree after this pass is
     4  complete, including:
     5
     6  - No nested structure or union definitions; any in the input are "hoisted" to the level of the containing struct or
     7    union.
    88
    99  - All enumeration constants have type EnumInstType.
    1010
    11   - The type "void" never occurs in lists of function parameter or return types; neither do
    12   tuple types.  A function taking no arguments has no argument types, and tuples are flattened.
    13 
    14   - No context instances exist; they are all replaced by the set of declarations signified by
    15   the context, instantiated by the particular set of type arguments.
     11  - The type "void" never occurs in lists of function parameter or return types; neither do tuple types.  A function
     12    taking no arguments has no argument types, and tuples are flattened.
     13
     14  - No context instances exist; they are all replaced by the set of declarations signified by the context, instantiated
     15    by the particular set of type arguments.
    1616
    1717  - Every declaration is assigned a unique id.
     
    2121  - Each type, struct, and union definition is followed by an appropriate assignment operator.
    2222
    23   - Each use of a struct or union is connected to a complete definition of that struct or union,
    24   even if that definition occurs later in the input.
     23  - Each use of a struct or union is connected to a complete definition of that struct or union, even if that definition
     24    occurs later in the input.
    2525*/
    2626
     
    176176        std::list< Declaration * >::iterator i = translationUnit.begin();
    177177        while ( i != translationUnit.end() ) {
    178             (*i )->accept( visitor );
     178            (*i)->accept( visitor );
    179179            std::list< Declaration * >::iterator next = i;
    180180            next++;
     
    191191    }
    192192
    193     HoistStruct::HoistStruct()
    194         : inStruct( false ) {
     193    HoistStruct::HoistStruct() :  inStruct( false ) {
    195194    }
    196195
     
    317316    }
    318317
    319     Pass2::Pass2( bool doDebug, const Indexer *other_indexer )
    320         : Indexer( doDebug ) {
     318    Pass2::Pass2( bool doDebug, const Indexer *other_indexer ) : Indexer( doDebug ) {
    321319        if ( other_indexer ) {
    322320            indexer = other_indexer;
     
    405403    }
    406404
    407     Pass3::Pass3( const Indexer *other_indexer )
    408         : Indexer( false ) {
     405    Pass3::Pass3( const Indexer *other_indexer ) :  Indexer( false ) {
    409406        if ( other_indexer ) {
    410407            indexer = other_indexer;
Note: See TracChangeset for help on using the changeset viewer.