Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ParseNode.h

    r413ad05 rf39096c  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Aug 28 21:14:51 2016
    13 // Update Count     : 575
     12// Last Modified On : Sun Aug 21 11:53:59 2016
     13// Update Count     : 546
    1414//
    1515
     
    9999        InitializerNode *kids;
    100100        bool maybeConstructed;
    101 }; // InitializerNode
     101};
    102102
    103103//##############################################################################
     
    126126        bool extension = false;
    127127        std::unique_ptr<Expression> expr;
    128 }; // ExpressionNode
     128};
    129129
    130130template< typename T >
     
    145145        SizeOf, AlignOf, OffsetOf, Plus, Minus, Mul, Div, Mod, Or, And,
    146146        BitOr, BitAnd, Xor, Cast, LShift, RShift, LThan, GThan, LEThan, GEThan, Eq, Neq,
    147         Assign, AtAssn, MulAssn, DivAssn, ModAssn, PlusAssn, MinusAssn, LSAssn, RSAssn, AndAssn, ERAssn, OrAssn,
     147        Assign, MulAssn, DivAssn, ModAssn, PlusAssn, MinusAssn, LSAssn, RSAssn, AndAssn, ERAssn, OrAssn,
    148148        Index, Range,
    149149        // monadic
    150150        UnPlus, UnMinus, AddressOf, PointTo, Neg, BitNeg, Incr, IncrPost, Decr, DecrPost, LabelAddress,
    151151        Ctor, Dtor,
    152 }; // OperKinds
     152};
    153153
    154154struct LabelNode {
     
    196196class DeclarationNode : public ParseNode {
    197197  public:
    198         enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, NoOfQualifier };
     198        enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic };
    199199        enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, };
    200200        enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary };
     
    204204        enum BuiltinType { Valist };
    205205
     206        static const char *storageName[];
    206207        static const char *qualifierName[];
    207         static const char *storageName[];
    208208        static const char *basicTypeName[];
    209209        static const char *modifierName[];
     
    214214        static DeclarationNode *newFunction( std::string *name, DeclarationNode *ret, DeclarationNode *param, StatementNode *body, bool newStyle = false );
    215215        static DeclarationNode *newQualifier( Qualifier );
    216         static DeclarationNode *newForall( DeclarationNode *);
    217216        static DeclarationNode *newStorageClass( StorageClass );
    218217        static DeclarationNode *newBasicType( BasicType );
    219218        static DeclarationNode *newModifier( Modifier );
    220         static DeclarationNode *newBuiltinType( BuiltinType );
     219        static DeclarationNode *newForall( DeclarationNode *);
    221220        static DeclarationNode *newFromTypedef( std::string *);
    222221        static DeclarationNode *newAggregate( Aggregate kind, const std::string *name, ExpressionNode *actuals, DeclarationNode *fields, bool body );
     
    237236        static DeclarationNode *newAttr( std::string *, ExpressionNode *expr );
    238237        static DeclarationNode *newAttr( std::string *, DeclarationNode *type );
     238        static DeclarationNode *newBuiltinType( BuiltinType );
    239239
    240240        DeclarationNode();
     
    243243
    244244        DeclarationNode *addQualifiers( DeclarationNode *);
    245         void checkQualifiers( const TypeData *, const TypeData * );
    246245        DeclarationNode *copyStorageClasses( DeclarationNode *);
    247246        DeclarationNode *addType( DeclarationNode *);
     
    286285        bool get_extension() const { return extension; }
    287286        DeclarationNode *set_extension( bool exten ) { extension = exten; return this; }
    288   public:
     287  private:
    289288        // StorageClass buildStorageClass() const;
    290289        // bool buildFuncSpecifier( StorageClass key ) const;
     
    308307
    309308Type *buildType( TypeData *type );
    310 //Type::Qualifiers buildQualifiers( const TypeData::Qualifiers & qualifiers );
    311309
    312310static inline Type * maybeMoveBuildType( const DeclarationNode *orig ) {
Note: See TracChangeset for help on using the changeset viewer.