Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r4e05d27 r8688ce1  
    10311031     631,   632,   638,   639,   640,   641,   642,   643,   644,   645,
    10321032     646,   656,   663,   665,   675,   676,   681,   683,   689,   691,
    1033      695,   696,   701,   706,   709,   711,   713,   722,   724,   735,
    1034      736,   738,   742,   743,   748,   749,   754,   755,   759,   764,
     1033     695,   696,   701,   706,   709,   711,   713,   723,   725,   736,
     1034     737,   739,   743,   744,   748,   749,   754,   755,   759,   764,
    10351035     765,   769,   771,   777,   778,   782,   784,   786,   788,   794,
    10361036     795,   799,   801,   806,   808,   810,   815,   817,   822,   824,
     
    60096009                        // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound
    60106010                        // statement around the switch.  Statements after the initial declaration list can never be executed, and
    6011                         // therefore, are removed from the grammar even though C allows it. Change also applies to choose statement.
     6011                        // therefore, are removed from the grammar even though C allows it. The change also applies to choose
     6012                        // statement.
    60126013                        (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;
    60136014                }
     
    60176018
    60186019/* Line 1806 of yacc.c  */
    6019 #line 723 "parser.yy"
     6020#line 724 "parser.yy"
    60206021    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    60216022    break;
     
    60246025
    60256026/* Line 1806 of yacc.c  */
    6026 #line 725 "parser.yy"
     6027#line 726 "parser.yy"
    60276028    {
    60286029                        StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) );
     
    60346035
    60356036/* Line 1806 of yacc.c  */
    6036 #line 735 "parser.yy"
     6037#line 736 "parser.yy"
    60376038    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    60386039    break;
     
    60416042
    60426043/* Line 1806 of yacc.c  */
    6043 #line 737 "parser.yy"
     6044#line 738 "parser.yy"
    60446045    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    60456046    break;
    60466047
     6048  case 162:
     6049
     6050/* Line 1806 of yacc.c  */
     6051#line 743 "parser.yy"
     6052    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); }
     6053    break;
     6054
    60476055  case 163:
    60486056
    60496057/* Line 1806 of yacc.c  */
    60506058#line 744 "parser.yy"
    6051     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
     6059    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); }
    60526060    break;
    60536061
     
    60566064/* Line 1806 of yacc.c  */
    60576065#line 748 "parser.yy"
    6058     { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
     6066    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    60596067    break;
    60606068
     
    94179425
    94189426/* Line 1806 of yacc.c  */
    9419 #line 9420 "Parser/parser.cc"
     9427#line 9428 "Parser/parser.cc"
    94209428      default: break;
    94219429    }
Note: See TracChangeset for help on using the changeset viewer.