Changes in src/Parser/ParseNode.h [25bca42:6d539f83]
- File:
-
- 1 edited
-
src/Parser/ParseNode.h (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
r25bca42 r6d539f83 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 6 16:17:18201813 // Update Count : 8 4312 // Last Modified On : Mon Apr 30 09:19:17 2018 13 // Update Count : 831 14 14 // 15 15 … … 77 77 78 78 ParseNode * next = nullptr; 79 conststd::string * name = nullptr;79 std::string * name = nullptr; 80 80 CodeLocation location = yylloc; 81 81 }; // ParseNode … … 87 87 InitializerNode( ExpressionNode *, bool aggrp = false, ExpressionNode * des = nullptr ); 88 88 InitializerNode( InitializerNode *, bool aggrp = false, ExpressionNode * des = nullptr ); 89 InitializerNode( bool isDelete );90 89 ~InitializerNode(); 91 90 virtual InitializerNode * clone() const { assert( false ); return nullptr; } … … 98 97 InitializerNode * set_maybeConstructed( bool value ) { maybeConstructed = value; return this; } 99 98 bool get_maybeConstructed() const { return maybeConstructed; } 100 101 bool get_isDelete() const { return isDelete; }102 99 103 100 InitializerNode * next_init() const { return kids; } … … 113 110 InitializerNode * kids; 114 111 bool maybeConstructed; 115 bool isDelete;116 112 }; // InitializerNode 117 113 … … 171 167 }; 172 168 173 Expression * build_constantInteger( std::string & str ); // these 4 routines modify the string174 Expression * build_constantFloat( std::string & str );175 Expression * build_constantChar( std::string & str );176 Expression * build_constantStr( std::string & str );169 Expression * build_constantInteger( std::string &str ); 170 Expression * build_constantFloat( std::string &str ); 171 Expression * build_constantChar( std::string &str ); 172 Expression * build_constantStr( std::string &str ); 177 173 Expression * build_field_name_FLOATING_FRACTIONconstant( const std::string & str ); 178 174 Expression * build_field_name_FLOATING_DECIMALconstant( const std::string & str ); … … 230 226 static DeclarationNode * newBuiltinType( BuiltinType ); 231 227 static DeclarationNode * newForall( DeclarationNode * ); 232 static DeclarationNode * newFromTypedef( conststd::string * );233 static DeclarationNode * newFunction( conststd::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body );228 static DeclarationNode * newFromTypedef( std::string * ); 229 static DeclarationNode * newFunction( std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body ); 234 230 static DeclarationNode * newAggregate( Aggregate kind, const std::string * name, ExpressionNode * actuals, DeclarationNode * fields, bool body ); 235 static DeclarationNode * newEnum( conststd::string * name, DeclarationNode * constants, bool body );236 static DeclarationNode * newEnumConstant( conststd::string * name, ExpressionNode * constant );237 static DeclarationNode * newName( conststd::string * );238 static DeclarationNode * newFromTypeGen( conststd::string *, ExpressionNode * params );239 static DeclarationNode * newTypeParam( TypeClass, conststd::string * );231 static DeclarationNode * newEnum( std::string * name, DeclarationNode * constants, bool body ); 232 static DeclarationNode * newEnumConstant( std::string * name, ExpressionNode * constant ); 233 static DeclarationNode * newName( std::string * ); 234 static DeclarationNode * newFromTypeGen( std::string *, ExpressionNode * params ); 235 static DeclarationNode * newTypeParam( TypeClass, std::string * ); 240 236 static DeclarationNode * newTrait( const std::string * name, DeclarationNode * params, DeclarationNode * asserts ); 241 237 static DeclarationNode * newTraitUse( const std::string * name, ExpressionNode * params ); 242 static DeclarationNode * newTypeDecl( conststd::string * name, DeclarationNode * typeParams );238 static DeclarationNode * newTypeDecl( std::string * name, DeclarationNode * typeParams ); 243 239 static DeclarationNode * newPointer( DeclarationNode * qualifiers, OperKinds kind ); 244 240 static DeclarationNode * newArray( ExpressionNode * size, DeclarationNode * qualifiers, bool isStatic ); … … 247 243 static DeclarationNode * newTuple( DeclarationNode * members ); 248 244 static DeclarationNode * newTypeof( ExpressionNode * expr ); 249 static DeclarationNode * newAttr( conststd::string *, ExpressionNode * expr ); // @ attributes250 static DeclarationNode * newAttr( conststd::string *, DeclarationNode * type ); // @ attributes251 static DeclarationNode * newAttribute( conststd::string *, ExpressionNode * expr = nullptr ); // gcc attributes245 static DeclarationNode * newAttr( std::string *, ExpressionNode * expr ); // @ attributes 246 static DeclarationNode * newAttr( std::string *, DeclarationNode * type ); // @ attributes 247 static DeclarationNode * newAttribute( std::string *, ExpressionNode * expr = nullptr ); // gcc attributes 252 248 static DeclarationNode * newAsmStmt( StatementNode * stmt ); // gcc external asm statement 253 249 static DeclarationNode * newStaticAssert( ExpressionNode * condition, Expression * message ); … … 403 399 }; 404 400 405 Expression * build_if_control( IfCtl * ctl, std::list< Statement * > & init );406 401 Statement * build_if( IfCtl * ctl, StatementNode * then_stmt, StatementNode * else_stmt ); 407 402 Statement * build_switch( bool isSwitch, ExpressionNode * ctl, StatementNode * stmt ); 408 403 Statement * build_case( ExpressionNode * ctl ); 409 404 Statement * build_default(); 410 Statement * build_while( IfCtl * ctl, StatementNode * stmt ); 411 Statement * build_do_while( ExpressionNode * ctl, StatementNode * stmt ); 405 Statement * build_while( ExpressionNode * ctl, StatementNode * stmt, bool kind = false ); 412 406 Statement * build_for( ForCtl * forctl, StatementNode * stmt ); 413 407 Statement * build_branch( BranchStmt::Type kind );
Note:
See TracChangeset
for help on using the changeset viewer.