Changeset 446740a
- Timestamp:
- Mar 11, 2024, 9:00:04 PM (9 months ago)
- Branches:
- master
- Children:
- 282061a
- Parents:
- 6c8b76b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r6c8b76b r446740a 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 6 10:51:55202413 // Update Count : 658 812 // Last Modified On : Mon Mar 11 18:30:03 2024 13 // Update Count : 6589 14 14 // 15 15 … … 1270 1270 // parenthesis: 1271 1271 // 1272 // if x + y + z; => "if ( x + y ) + z" or "if ( x ) + y + z"1272 // if x + y + z; => if ( x ) + y + z or if ( x + y ) + z 1273 1273 // 1274 1274 // switch O { } … … 1596 1596 { SemanticError( yylloc, "syntax error, missing low/high value for up/down-to range so index is uninitialized." ); $$ = nullptr; } 1597 1597 1598 | comma_expression ';' TYPEDEFname // CFA, arraytype1598 | comma_expression ';' enum_key // CFA, enum type 1599 1599 { 1600 1600 SemanticError( yylloc, "Type iterator is currently unimplemented." ); $$ = nullptr; 1601 1601 //$$ = forCtrl( new ExpressionNode( build_varref( $3 ) ), $1, nullptr, OperKinds::Range, nullptr, nullptr ); 1602 1602 } 1603 | comma_expression ';' downupdowneq TYPEDEFname // CFA, array type1603 | comma_expression ';' downupdowneq enum_key // CFA, enum type, reverse direction 1604 1604 { 1605 1605 if ( $3 == OperKinds::LEThan || $3 == OperKinds::GEThan ) { … … 1608 1608 SemanticError( yylloc, "Type iterator is currently unimplemented." ); $$ = nullptr; 1609 1609 } 1610 ; 1611 1612 enum_key: 1613 TYPEDEFname 1614 | ENUM TYPEDEFname 1610 1615 ; 1611 1616 … … 2240 2245 { $$ = build_type_qualifier( ast::CV::Atomic ); } 2241 2246 2242 // forall must bea CV qualifier because it can appear in places where SC qualifiers are disallowed.2247 // forall is a CV qualifier because it can appear in places where SC qualifiers are disallowed. 2243 2248 // 2244 2249 // void foo( forall( T ) T (*)( T ) ); // forward declaration … … 2572 2577 // Create new generic declaration with same name as previous forward declaration, where the IDENTIFIER is 2573 2578 // switched to a TYPEGENname. Link any generic arguments from typegen_name to new generic declaration and 2579 // delete newFromTypeGen. 2574 2580 if ( $3->kind == TypeData::SymbolicInst && ! $3->symbolic.isTypedef ) { 2575 2581 $$ = DeclarationNode::newFromTypeData( $3 )->addQualifiers( $2 ); … … 4027 4033 abstract_parameter_ptr 4028 4034 | '&' MUTEX attribute_list_opt 4029 { $$ = DeclarationNode::newPointer( DeclarationNode::newFromTypeData( build_type_qualifier( ast::CV::Mutex ) ), OperKinds::AddressOf )->addQualifiers( $3 ); } 4035 { $$ = DeclarationNode::newPointer( DeclarationNode::newFromTypeData( build_type_qualifier( ast::CV::Mutex ) ), 4036 OperKinds::AddressOf )->addQualifiers( $3 ); } 4030 4037 | abstract_parameter_array attribute_list_opt 4031 4038 { $$ = $1->addQualifiers( $2 ); }
Note: See TracChangeset
for help on using the changeset viewer.