Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    r45161b4d r630a82a  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Apr 13 16:58:43 2016
    13 // Update Count     : 1519
     12// Last Modified On : Fri Apr  8 16:21:55 2016
     13// Update Count     : 1508
    1414//
    1515
     
    14381438                { $$ = DeclarationNode::newAggregate( $1, 0, 0, $3 ); }
    14391439        | aggregate_key no_attr_identifier_or_type_name
    1440                 {
    1441                         typedefTable.makeTypedef( *$2 );
    1442                         $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 );
    1443                 }
    1444         | aggregate_key no_attr_identifier_or_type_name
    1445                 { typedefTable.makeTypedef( *$2 ); }
    1446                 '{' field_declaration_list '}'
    1447                 { $$ = DeclarationNode::newAggregate( $1, $2, 0, $5); }
     1440                { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 ); }
     1441        | aggregate_key no_attr_identifier_or_type_name '{' field_declaration_list '}'
     1442                { $$ = DeclarationNode::newAggregate( $1, $2, 0, $4 ); }
    14481443        | aggregate_key '(' type_name_list ')' '{' field_declaration_list '}' // CFA
    1449                 { $$ = DeclarationNode::newAggregate( $1, 0, $3, $6 ); }
     1444                { $$ = DeclarationNode::newAggregate( $1, 0, $3, $6 ); }
    14501445        | aggregate_key typegen_name                                            // CFA, S/R conflict
    14511446                { $$ = $2; }
     
    15251520        enum_key '{' enumerator_list comma_opt '}'
    15261521                { $$ = DeclarationNode::newEnum( 0, $3 ); }
     1522        | enum_key no_attr_identifier_or_type_name '{' enumerator_list comma_opt '}'
     1523                { $$ = DeclarationNode::newEnum( $2, $4 ); }
    15271524        | enum_key no_attr_identifier_or_type_name
    1528                 {
    1529                         typedefTable.makeTypedef( *$2 );
    1530                         $$ = DeclarationNode::newEnum( $2, 0 );
    1531                 }
    1532         | enum_key no_attr_identifier_or_type_name
    1533                 { typedefTable.makeTypedef( *$2 ); }
    1534                 '{' enumerator_list comma_opt '}'
    1535                 { $$ = DeclarationNode::newEnum( $2, $5 ); }
     1525                { $$ = DeclarationNode::newEnum( $2, 0 ); }
    15361526        ;
    15371527
     
    28232813        std::cout << "Error ";
    28242814        if ( yyfilename ) {
    2825                 std::cout << "in file " << yyfilename << " ";
     2815            std::cout << "in file " << yyfilename << " ";
    28262816        } // if
    28272817        std::cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << std::endl;
Note: See TracChangeset for help on using the changeset viewer.