Ignore:
Timestamp:
Aug 4, 2016, 5:26:08 PM (8 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, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
b87e2b60
Parents:
76e8c55
Message:

add new type for ranges and refactor parser code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ParseNode.h

    r76e8c55 r064e3ff  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jul 24 02:17:00 2016
    13 // Update Count     : 269
     12// Last Modified On : Thu Aug  4 16:34:16 2016
     13// Update Count     : 277
    1414//
    1515
     
    225225};
    226226
     227Expression *build_cast( TypeValueNode * arg, ExpressionNode *expr_node );
     228Expression *build_fieldSel( ExpressionNode *expr_node, VarRefNode *member );
     229Expression *build_pfieldSel( ExpressionNode *expr_node, VarRefNode *member );
     230Expression *build_addressOf( ExpressionNode *expr_node );
     231Expression *build_sizeOf( ExpressionNode *expr_node );
     232Expression *build_alignOf( ExpressionNode *expr_node );
     233Expression *build_offsetOf( TypeValueNode * arg, VarRefNode *member );
     234
    227235class CompositeExprNode : public ExpressionNode {
    228236  public:
     
    250258        ExpressionNode *function;
    251259        ExpressionNode *arguments;
     260};
     261
     262class CompositeExprNode2 : public ExpressionNode {
     263  public:
     264        CompositeExprNode2( Expression *expr );
     265        CompositeExprNode2( const CompositeExprNode2 &other );
     266        virtual ~CompositeExprNode2();
     267
     268        virtual CompositeExprNode2 *clone() const { return new CompositeExprNode2( *this ); }
     269        virtual Expression *build() const { return expr->clone(); }
     270
     271        virtual void print( std::ostream &, int indent = 0) const;
     272        virtual void printOneLine( std::ostream &, int indent = 0) const;
     273  private:
     274        Expression *expr;
    252275};
    253276
Note: See TracChangeset for help on using the changeset viewer.