Changeset 1d71208 for src/Parser
- Timestamp:
 - Jun 23, 2021, 4:59:37 PM (4 years ago)
 - Branches:
 - ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
 - Children:
 - 27434e9
 - Parents:
 - 6448f7d
 - File:
 - 
      
- 1 edited
 
- 
          
  src/Parser/parser.yy (modified) (1 diff)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
src/Parser/parser.yy
r6448f7d r1d71208 635 635 postfix_expression: 636 636 primary_expression 637 | postfix_expression '[' assignment_expression ',' comma_expression ']' 638 // { $$ = new ExpressionNode( build_binary_val( OperKinds::Index, $1, new ExpressionNode( build_binary_val( OperKinds::Index, $3, $5 ) ) ) ); } 639 { SemanticError( yylloc, "New array subscript is currently unimplemented." ); $$ = nullptr; } 637 | postfix_expression '[' assignment_expression ',' tuple_expression_list ']' 638 // Historic, transitional: Disallow commas in subscripts. 639 // Switching to this behaviour may help check if a C compatibilty case uses comma-exprs in subscripts. 640 // { SemanticError( yylloc, "New array subscript is currently unimplemented." ); $$ = nullptr; } 641 // Current: Commas in subscripts make tuples. 642 { $$ = new ExpressionNode( build_binary_val( OperKinds::Index, $1, new ExpressionNode( build_tuple( (ExpressionNode *)($3->set_last( $5 ) ) )) ) ); } 640 643 | postfix_expression '[' assignment_expression ']' 641 644 // CFA, comma_expression disallowed in this context because it results in a common user error: subscripting a  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.