Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r321f55d r2f22cc4  
    10351035     657,   658,   659,   660,   661,   662,   663,   673,   680,   682,
    10361036     692,   693,   698,   700,   706,   708,   712,   713,   718,   723,
    1037      726,   728,   730,   740,   742,   753,   754,   756,   760,   762,
    1038      766,   767,   772,   773,   777,   782,   783,   787,   789,   795,
    1039      796,   800,   802,   804,   806,   812,   813,   817,   819,   824,
    1040      826,   828,   833,   835,   840,   843,   847,   851,   856,   860,
     1037     727,   730,   733,   743,   746,   758,   759,   761,   765,   767,
     1038     771,   772,   777,   778,   782,   787,   788,   792,   794,   800,
     1039     801,   805,   807,   809,   811,   817,   818,   822,   824,   829,
     1040     831,   833,   838,   840,   845,   847,   851,   854,   858,   861,
    10411041     865,   867,   871,   873,   880,   882,   884,   893,   895,   897,
    10421042     899,   901,   906,   908,   910,   912,   917,   930,   931,   936,
     
    57145714
    57155715/* Line 1806 of yacc.c  */
    5716 #line 725 "parser.yy"
     5716#line 726 "parser.yy"
    57175717    { (yyval.sn) = new StatementNode2( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); }
    57185718    break;
     
    57215721
    57225722/* Line 1806 of yacc.c  */
    5723 #line 727 "parser.yy"
     5723#line 729 "parser.yy"
    57245724    { (yyval.sn) = new StatementNode2( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); }
    57255725    break;
     
    57285728
    57295729/* Line 1806 of yacc.c  */
    5730 #line 729 "parser.yy"
     5730#line 732 "parser.yy"
    57315731    { (yyval.sn) = new StatementNode2( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57325732    break;
     
    57355735
    57365736/* Line 1806 of yacc.c  */
    5737 #line 731 "parser.yy"
     5737#line 734 "parser.yy"
    57385738    {
    57395739                        StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57505750
    57515751/* Line 1806 of yacc.c  */
    5752 #line 741 "parser.yy"
     5752#line 745 "parser.yy"
    57535753    { (yyval.sn) = new StatementNode2( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57545754    break;
     
    57575757
    57585758/* Line 1806 of yacc.c  */
    5759 #line 743 "parser.yy"
     5759#line 747 "parser.yy"
    57605760    {
     5761                        //StatementNode *sw = new StatementNode( StatementNode::Switch, $3, $8 );
    57615762                        StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
    57625763                        (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;
     
    57675768
    57685769/* Line 1806 of yacc.c  */
    5769 #line 753 "parser.yy"
     5770#line 758 "parser.yy"
    57705771    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57715772    break;
     
    57745775
    57755776/* Line 1806 of yacc.c  */
    5776 #line 755 "parser.yy"
     5777#line 760 "parser.yy"
    57775778    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    57785779    break;
     
    57815782
    57825783/* Line 1806 of yacc.c  */
    5783 #line 760 "parser.yy"
     5784#line 765 "parser.yy"
    57845785    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); }
    57855786    break;
     
    57885789
    57895790/* Line 1806 of yacc.c  */
    5790 #line 762 "parser.yy"
     5791#line 767 "parser.yy"
    57915792    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); }
    57925793    break;
     
    57955796
    57965797/* Line 1806 of yacc.c  */
    5797 #line 766 "parser.yy"
     5798#line 771 "parser.yy"
    57985799    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    57995800    break;
     
    58025803
    58035804/* Line 1806 of yacc.c  */
    5804 #line 767 "parser.yy"
     5805#line 772 "parser.yy"
    58055806    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58065807    break;
     
    58095810
    58105811/* Line 1806 of yacc.c  */
    5811 #line 773 "parser.yy"
     5812#line 778 "parser.yy"
    58125813    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58135814    break;
     
    58165817
    58175818/* Line 1806 of yacc.c  */
    5818 #line 777 "parser.yy"
     5819#line 782 "parser.yy"
    58195820    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); }
    58205821    break;
     
    58235824
    58245825/* Line 1806 of yacc.c  */
    5825 #line 782 "parser.yy"
     5826#line 787 "parser.yy"
    58265827    { (yyval.sn) = 0; }
    58275828    break;
     
    58305831
    58315832/* Line 1806 of yacc.c  */
    5832 #line 788 "parser.yy"
     5833#line 793 "parser.yy"
    58335834    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); }
    58345835    break;
     
    58375838
    58385839/* Line 1806 of yacc.c  */
    5839 #line 790 "parser.yy"
     5840#line 795 "parser.yy"
    58405841    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); }
    58415842    break;
     
    58445845
    58455846/* Line 1806 of yacc.c  */
    5846 #line 795 "parser.yy"
     5847#line 800 "parser.yy"
    58475848    { (yyval.sn) = 0; }
    58485849    break;
     
    58515852
    58525853/* Line 1806 of yacc.c  */
    5853 #line 801 "parser.yy"
     5854#line 806 "parser.yy"
    58545855    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58555856    break;
     
    58585859
    58595860/* Line 1806 of yacc.c  */
    5860 #line 803 "parser.yy"
     5861#line 808 "parser.yy"
    58615862    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(2) - (3)].sn), *(yyvsp[(3) - (3)].sn) ) ) ) ); }
    58625863    break;
     
    58655866
    58665867/* Line 1806 of yacc.c  */
    5867 #line 805 "parser.yy"
     5868#line 810 "parser.yy"
    58685869    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58695870    break;
     
    58725873
    58735874/* Line 1806 of yacc.c  */
    5874 #line 807 "parser.yy"
     5875#line 812 "parser.yy"
    58755876    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }
    58765877    break;
     
    58795880
    58805881/* Line 1806 of yacc.c  */
    5881 #line 812 "parser.yy"
     5882#line 817 "parser.yy"
    58825883    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    58835884    break;
     
    58865887
    58875888/* Line 1806 of yacc.c  */
    5888 #line 818 "parser.yy"
     5889#line 823 "parser.yy"
    58895890    { (yyval.sn) = 0; }
    58905891    break;
     
    58935894
    58945895/* Line 1806 of yacc.c  */
    5895 #line 820 "parser.yy"
     5896#line 825 "parser.yy"
    58965897    { (yyval.sn) = 0; }
    58975898    break;
     
    59005901
    59015902/* Line 1806 of yacc.c  */
    5902 #line 825 "parser.yy"
     5903#line 830 "parser.yy"
    59035904    { (yyval.sn) = new StatementNode2( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    59045905    break;
     
    59075908
    59085909/* Line 1806 of yacc.c  */
    5909 #line 827 "parser.yy"
     5910#line 832 "parser.yy"
    59105911    { (yyval.sn) = new StatementNode2( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ) ); }
    59115912    break;
     
    59145915
    59155916/* Line 1806 of yacc.c  */
    5916 #line 829 "parser.yy"
     5917#line 834 "parser.yy"
    59175918    { (yyval.sn) = new StatementNode2( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); }
    59185919    break;
     
    59215922
    59225923/* Line 1806 of yacc.c  */
    5923 #line 834 "parser.yy"
     5924#line 839 "parser.yy"
    59245925    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59255926    break;
     
    59285929
    59295930/* Line 1806 of yacc.c  */
    5930 #line 836 "parser.yy"
     5931#line 841 "parser.yy"
    59315932    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59325933    break;
     
    59355936
    59365937/* Line 1806 of yacc.c  */
    5937 #line 842 "parser.yy"
    5938     { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); }
     5938#line 846 "parser.yy"
     5939    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59395940    break;
    59405941
     
    59425943
    59435944/* Line 1806 of yacc.c  */
    5944 #line 846 "parser.yy"
     5945#line 850 "parser.yy"
    59455946    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59465947    break;
     
    59495950
    59505951/* Line 1806 of yacc.c  */
    5951 #line 850 "parser.yy"
    5952     { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Continue ) ); }
     5952#line 853 "parser.yy"
     5953    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    59535954    break;
    59545955
     
    59565957
    59575958/* Line 1806 of yacc.c  */
    5958 #line 855 "parser.yy"
    5959     { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); delete (yyvsp[(2) - (3)].tok); }
     5959#line 857 "parser.yy"
     5960    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    59605961    break;
    59615962
     
    59635964
    59645965/* Line 1806 of yacc.c  */
    5965 #line 859 "parser.yy"
    5966     { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Break ) ); }
     5966#line 860 "parser.yy"
     5967    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    59675968    break;
    59685969
     
    59715972/* Line 1806 of yacc.c  */
    59725973#line 864 "parser.yy"
    5973     { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); delete (yyvsp[(2) - (3)].tok); }
     5974    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    59745975    break;
    59755976
     
    91509151
    91519152/* Line 1806 of yacc.c  */
    9152 #line 9153 "Parser/parser.cc"
     9153#line 9154 "Parser/parser.cc"
    91539154      default: break;
    91549155    }
Note: See TracChangeset for help on using the changeset viewer.