Changes in src/Parser/ParseNode.h [1db21619:2794fff]
- File:
-
- 1 edited
-
src/Parser/ParseNode.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
r1db21619 r2794fff 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:28:16 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue Jul 14 14:58:25201513 // Update Count : 9111 // Last Modified By : Rob Schluntz 12 // Last Modified On : Fri Jul 03 18:11:50 2015 13 // Update Count : 85 14 14 // 15 15 … … 162 162 Assign, MulAssn, DivAssn, ModAssn, PlusAssn, MinusAssn, LSAssn, RSAssn, AndAssn, 163 163 ERAssn, OrAssn, Index, FieldSel, PFieldSel, Range, 164 UnPlus, UnMinus, AddressOf, PointTo, Neg, BitNeg, Incr, IncrPost, Decr, DecrPost, LabelAddress 164 UnPlus, UnMinus, AddressOf, PointTo, Neg, BitNeg, Incr, IncrPost, Decr, DecrPost, LabelAddress, 165 Ctor, Dtor, 165 166 }; 166 167 … … 265 266 class DeclarationNode : public ParseNode { 266 267 public: 267 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic };268 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute }; 268 269 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, }; 269 270 enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary }; … … 352 353 std::string name; 353 354 std::list< StorageClass > storageClasses; 354 std::list< std::string > attributes;355 355 ExpressionNode *bitfieldWidth; 356 356 InitializerNode *initializer; … … 359 359 360 360 static UniqueName anonymous; 361 }; // DeclarationNode361 }; 362 362 363 363 class StatementNode : public ParseNode { … … 381 381 static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false ); 382 382 383 StatementNode *set_block( StatementNode *b ) { block = b; return this; } 384 StatementNode *get_block() const { return block; } 385 386 void set_control( ExpressionNode *c ) { control = c; } 387 ExpressionNode *get_control() const { return control; } 388 389 StatementNode::Type get_type() const { return type; } 383 void set_control( ExpressionNode * ); 384 StatementNode * set_block( StatementNode * ); 385 386 ExpressionNode *get_control() const ; 387 StatementNode *get_block() const; 388 StatementNode::Type get_type() const; 390 389 391 390 StatementNode *add_label( const std::string * ); 392 const std::list<std::string> &get_labels() const { return labels; }391 std::list<std::string> *get_labels() const; 393 392 394 393 void addDeclaration( DeclarationNode *newDecl ) { decl = newDecl; } … … 411 410 ExpressionNode *control; 412 411 StatementNode *block; 413 std::list<std::string> labels;412 std::list<std::string> *labels; 414 413 std::string *target; // target label for jump statements 415 414 DeclarationNode *decl; 416 415 417 416 bool isCatchRest; 418 }; // StatementNode417 }; 419 418 420 419 class CompoundStmtNode : public StatementNode {
Note:
See TracChangeset
for help on using the changeset viewer.