Changes in src/Parser/parser.yy [c6b1105:8e9cbb2]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
rc6b1105 r8e9cbb2 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 27 17:47:56201613 // Update Count : 16 2712 // Last Modified On : Thu Jun 30 21:15:54 2016 13 // Update Count : 1657 14 14 // 15 15 … … 303 303 constant: 304 304 // ENUMERATIONconstant is not included here; it is treated as a variable with type "enumeration constant". 305 INTEGERconstant { $$ = new ConstantNode( ConstantNode::Integer, $1 ); }306 | FLOATINGconstant { $$ = new ConstantNode( ConstantNode::Float, $1 ); }307 | CHARACTERconstant { $$ = new ConstantNode( ConstantNode::Character, $1 ); }305 INTEGERconstant { $$ = makeConstant( ConstantNode::Integer, $1 ); } 306 | FLOATINGconstant { $$ = makeConstant( ConstantNode::Float, $1 ); } 307 | CHARACTERconstant { $$ = makeConstant( ConstantNode::Character, $1 ); } 308 308 ; 309 309 … … 330 330 331 331 string_literal_list: // juxtaposed strings are concatenated 332 STRINGliteral { $$ = new ConstantNode( ConstantNode::String, $1 ); }332 STRINGliteral { $$ = makeConstantStr( ConstantNode::String, $1 ); } 333 333 | string_literal_list STRINGliteral { $$ = $1->appendstr( $2 ); } 334 334 ; … … 682 682 { $$ = new StatementNode( $1 ); } 683 683 | EXTENSION declaration // GCC 684 { $$ = new StatementNode( $2 )/*->set_extension( true )*/; } 684 { // mark all fields in list 685 for ( DeclarationNode *iter = $2; iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 686 iter->set_extension( true ); 687 $$ = new StatementNode( $2 ); 688 } 685 689 | function_definition 686 690 { $$ = new StatementNode( $1 ); } … … 1472 1476 new_field_declaring_list ';' // CFA, new style field declaration 1473 1477 | EXTENSION new_field_declaring_list ';' // GCC 1474 { $$ = $2 /*->set_extension( true )*/; }1478 { $$ = $2->set_extension( true ); } 1475 1479 | field_declaring_list ';' 1476 1480 | EXTENSION field_declaring_list ';' // GCC 1477 { $$ = $2/*->set_extension( true )*/; } 1481 { // mark all fields in list 1482 for ( DeclarationNode *iter = $2; iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 1483 iter->set_extension( true ); 1484 $$ = $2; 1485 } 1478 1486 ; 1479 1487 … … 1991 1999 } 1992 2000 | EXTENSION external_definition 1993 { $$ = $2/*->set_extension( true )*/; } 2001 { // mark all fields in list 2002 for ( DeclarationNode *iter = $2; iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 2003 iter->set_extension( true ); 2004 $$ = $2; 2005 } 1994 2006 ; 1995 2007
Note:
See TracChangeset
for help on using the changeset viewer.