Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r8688ce1 r4e05d27  
    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,   723,   725,   736,
    1034      737,   739,   743,   744,   748,   749,   754,   755,   759,   764,
     1033     695,   696,   701,   706,   709,   711,   713,   722,   724,   735,
     1034     736,   738,   742,   743,   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. The change also applies to choose
    6012                         // statement.
     6011                        // therefore, are removed from the grammar even though C allows it. Change also applies to choose statement.
    60136012                        (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;
    60146013                }
     
    60186017
    60196018/* Line 1806 of yacc.c  */
    6020 #line 724 "parser.yy"
     6019#line 723 "parser.yy"
    60216020    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    60226021    break;
     
    60256024
    60266025/* Line 1806 of yacc.c  */
    6027 #line 726 "parser.yy"
     6026#line 725 "parser.yy"
    60286027    {
    60296028                        StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) );
     
    60356034
    60366035/* Line 1806 of yacc.c  */
    6037 #line 736 "parser.yy"
     6036#line 735 "parser.yy"
    60386037    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    60396038    break;
     
    60426041
    60436042/* Line 1806 of yacc.c  */
    6044 #line 738 "parser.yy"
     6043#line 737 "parser.yy"
    60456044    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    60466045    break;
    60476046
    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 
    60556047  case 163:
    60566048
    60576049/* Line 1806 of yacc.c  */
    60586050#line 744 "parser.yy"
    6059     { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); }
     6051    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    60606052    break;
    60616053
     
    60646056/* Line 1806 of yacc.c  */
    60656057#line 748 "parser.yy"
    6066     { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
     6058    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    60676059    break;
    60686060
     
    94259417
    94269418/* Line 1806 of yacc.c  */
    9427 #line 9428 "Parser/parser.cc"
     9419#line 9420 "Parser/parser.cc"
    94289420      default: break;
    94299421    }
Note: See TracChangeset for help on using the changeset viewer.