Ignore:
Timestamp:
Jun 26, 2015, 11:48:17 PM (9 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, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
0df292b
Parents:
1869adf
Message:

fix OT_LABELADDRESS warning, parse genric types

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    r1869adf r721f17a  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun 22 15:19:44 2015
    13 // Update Count     : 1082
     12// Last Modified On : Thu Jun 25 22:36:33 2015
     13// Update Count     : 1120
    1414//
    1515
     
    11071107        ;
    11081108
    1109 typedef_expression:                                                                             // GCC, naming expression type
     1109typedef_expression:
     1110                // GCC, naming expression type: typedef name = exp; gives a name to the type of an expression
    11101111        TYPEDEF no_attr_identifier '=' assignment_expression
    11111112                {
     
    13551356aggregate_name:
    13561357        aggregate_key '{' field_declaration_list '}'
    1357                 { $$ = DeclarationNode::newAggregate( $1, 0, 0, 0, $3 ); }
     1358                { $$ = DeclarationNode::newAggregate( $1, 0, 0, $3 ); }
    13581359        | aggregate_key no_attr_identifier_or_typedef_name
    1359                 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, 0 ); }
     1360                { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 ); }
    13601361        | aggregate_key no_attr_identifier_or_typedef_name '{' field_declaration_list '}'
    1361                 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, $4 ); }
    1362         | aggregate_key '(' push type_parameter_list pop ')' '{' field_declaration_list '}' // CFA
    1363                 { $$ = DeclarationNode::newAggregate( $1, 0, $4, 0, $8 ); }
    1364         | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name // CFA
    1365                 { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, 0 ); }
    1366         | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
    1367                 { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, $9 ); }
    1368         | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' '{' field_declaration_list '}' // CFA
    1369                 { $$ = DeclarationNode::newAggregate( $1, 0, $4, $8, $11 ); }
    1370         | aggregate_key TYPEGENname '(' type_name_list ')' // CFA
    1371                 {}
    1372         | aggregate_key '(' push type_name_list pop ')' no_attr_identifier_or_typedef_name // CFA
    1373                 // push and pop are only to prevent S/R conflicts
    1374                 { $$ = DeclarationNode::newAggregate( $1, $7, 0, $4, 0 ); }
    1375         | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
    1376                 { $$ = DeclarationNode::newAggregate( $1, $10, $4, $8, $12 ); }
     1362                { $$ = DeclarationNode::newAggregate( $1, $2, 0, $4 ); }
     1363        // | aggregate_key '(' push type_parameter_list pop ')' '{' field_declaration_list '}' // CFA
     1364        //      { $$ = DeclarationNode::newAggregate( $1, 0, $4, 0, $8 ); }
     1365        // | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name // CFA
     1366        //      { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, 0 ); }
     1367        // | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
     1368        //      { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, $9 ); }
     1369        // | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' '{' field_declaration_list '}' // CFA
     1370        //      { $$ = DeclarationNode::newAggregate( $1, 0, $4, $8, $11 ); }
     1371        | aggregate_key '(' type_name_list ')' '{' field_declaration_list '}' // CFA
     1372                { $$ = DeclarationNode::newAggregate( $1, 0, $3, $6 ); }
     1373        | aggregate_key '(' type_name_list ')' no_attr_identifier_or_typedef_name // CFA
     1374                { $$ = DeclarationNode::newAggregate( $1, $5, $3, 0 ); }
     1375        // | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
     1376        //      { $$ = DeclarationNode::newAggregate( $1, $10, $4, $8, $12 ); }
    13771377        ;
    13781378
     
    15981598        no_attr_identifier
    15991599        | TYPEDEFname
    1600         //      | TYPEGENname
     1600        | TYPEGENname
    16011601        ;
    16021602
Note: See TracChangeset for help on using the changeset viewer.