Changeset 721f17a for src/Parser/parser.yy
- Timestamp:
- Jun 26, 2015, 11:48:17 PM (9 years ago)
- 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
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r1869adf r721f17a 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 22 15:19:44201513 // Update Count : 1 08212 // Last Modified On : Thu Jun 25 22:36:33 2015 13 // Update Count : 1120 14 14 // 15 15 … … 1107 1107 ; 1108 1108 1109 typedef_expression: // GCC, naming expression type 1109 typedef_expression: 1110 // GCC, naming expression type: typedef name = exp; gives a name to the type of an expression 1110 1111 TYPEDEF no_attr_identifier '=' assignment_expression 1111 1112 { … … 1355 1356 aggregate_name: 1356 1357 aggregate_key '{' field_declaration_list '}' 1357 { $$ = DeclarationNode::newAggregate( $1, 0, 0, 0,$3 ); }1358 { $$ = DeclarationNode::newAggregate( $1, 0, 0, $3 ); } 1358 1359 | aggregate_key no_attr_identifier_or_typedef_name 1359 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, 0 ); }1360 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 ); } 1360 1361 | 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 ); } 1377 1377 ; 1378 1378 … … 1598 1598 no_attr_identifier 1599 1599 | TYPEDEFname 1600 //| TYPEGENname1600 | TYPEGENname 1601 1601 ; 1602 1602
Note: See TracChangeset
for help on using the changeset viewer.