// $ANTLR start "forstatement" // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:273:1: forstatement returns [ForStatementElement ret] : 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= forexpr )+ RIGHTPARANTHESIS ; public spinachParser.forstatement_return forstatement() // throws RecognitionException [1] { spinachParser.forstatement_return retval = new spinachParser.forstatement_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal124 = null; IToken LEFTBRACE125 = null; IToken POINT126 = null; IToken string_literal127 = null; IToken RIGHTBRACE128 = null; IToken LEFTPARANTHESIS129 = null; IToken RIGHTPARANTHESIS130 = null; spinachParser.variable_return r11 = null; spinachParser.int_literal_return r12 = null; spinachParser.int_literal_return r13 = null; spinachParser.forexpr_return e11 = null; object string_literal124_tree=null; object LEFTBRACE125_tree=null; object POINT126_tree=null; object string_literal127_tree=null; object RIGHTBRACE128_tree=null; object LEFTPARANTHESIS129_tree=null; object RIGHTPARANTHESIS130_tree=null; retval.ret = new ForStatementElement(); try { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:276:2: ( 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= forexpr )+ RIGHTPARANTHESIS ) // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:276:3: 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= forexpr )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal124=(IToken)Match(input,42,FOLLOW_42_in_forstatement1618); string_literal124_tree = (object)adaptor.Create(string_literal124); adaptor.AddChild(root_0, string_literal124_tree); LEFTBRACE125=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_forstatement1620); LEFTBRACE125_tree = (object)adaptor.Create(LEFTBRACE125); adaptor.AddChild(root_0, LEFTBRACE125_tree); PushFollow(FOLLOW_variable_in_forstatement1626); r11 = variable(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGEVARIABLE = ((r11 != null) ? r11.ret : null); POINT126=(IToken)Match(input,POINT,FOLLOW_POINT_in_forstatement1629); POINT126_tree = (object)adaptor.Create(POINT126); adaptor.AddChild(root_0, POINT126_tree); PushFollow(FOLLOW_int_literal_in_forstatement1635); r12 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r12.Tree); retval.ret.STARTINGRANGE = ((r12 != null) ? r12.ret : null); string_literal127=(IToken)Match(input,38,FOLLOW_38_in_forstatement1638); string_literal127_tree = (object)adaptor.Create(string_literal127); adaptor.AddChild(root_0, string_literal127_tree); PushFollow(FOLLOW_int_literal_in_forstatement1643); r13 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r13.Tree); retval.ret.ENDINGRANGE = ((r13 != null) ? r13.ret : null); RIGHTBRACE128=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_forstatement1646); RIGHTBRACE128_tree = (object)adaptor.Create(RIGHTBRACE128); adaptor.AddChild(root_0, RIGHTBRACE128_tree); LEFTPARANTHESIS129=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_forstatement1648); LEFTPARANTHESIS129_tree = (object)adaptor.Create(LEFTPARANTHESIS129); adaptor.AddChild(root_0, LEFTPARANTHESIS129_tree); // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:276:219: (e11= forexpr )+ int cnt38 = 0; do { int alt38 = 2; int LA38_0 = input.LA(1); if ( (LA38_0 == VARIABLE || LA38_0 == VARTYPE || LA38_0 == STRINGTYPE || LA38_0 == 28 || LA38_0 == 32 || LA38_0 == 35 || LA38_0 == 40 || LA38_0 == 42 || LA38_0 == 46 || LA38_0 == 48 || (LA38_0 >= 52 && LA38_0 <= 56)) ) { alt38 = 1; } switch (alt38) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:276:220: e11= forexpr { PushFollow(FOLLOW_forexpr_in_forstatement1653); e11 = forexpr(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt38 >= 1 ) goto loop38; EarlyExitException eee38 = new EarlyExitException(38, input); throw eee38; } cnt38++; } while (true); loop38: ; // Stops C# compiler whinging that label 'loop38' has no statements RIGHTPARANTHESIS130=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_forstatement1658); RIGHTPARANTHESIS130_tree = (object)adaptor.Create(RIGHTPARANTHESIS130); adaptor.AddChild(root_0, RIGHTPARANTHESIS130_tree); } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "forstatement" // spinach.g:246:1: forstatement returns [ForStatementElement ret] : 'for' r11= range LEFTPARANTHESIS (e11= expr1 )+ RIGHTPARANTHESIS ; public spinachParser.forstatement_return forstatement() // throws RecognitionException [1] { spinachParser.forstatement_return retval = new spinachParser.forstatement_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal104 = null; IToken LEFTPARANTHESIS105 = null; IToken RIGHTPARANTHESIS106 = null; spinachParser.range_return r11 = null; spinachParser.expr1_return e11 = null; object string_literal104_tree=null; object LEFTPARANTHESIS105_tree=null; object RIGHTPARANTHESIS106_tree=null; retval.ret = new ForStatementElement(); try { // spinach.g:249:2: ( 'for' r11= range LEFTPARANTHESIS (e11= expr1 )+ RIGHTPARANTHESIS ) // spinach.g:249:3: 'for' r11= range LEFTPARANTHESIS (e11= expr1 )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal104=(IToken)Match(input,42,FOLLOW_42_in_forstatement1447); string_literal104_tree = (object)adaptor.Create(string_literal104); adaptor.AddChild(root_0, string_literal104_tree); PushFollow(FOLLOW_range_in_forstatement1452); r11 = range(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGE = ((r11 != null) ? r11.ret : null); LEFTPARANTHESIS105=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_forstatement1455); LEFTPARANTHESIS105_tree = (object)adaptor.Create(LEFTPARANTHESIS105); adaptor.AddChild(root_0, LEFTPARANTHESIS105_tree); // spinach.g:249:66: (e11= expr1 )+ int cnt30 = 0; do { int alt30 = 2; int LA30_0 = input.LA(1); if ( (LA30_0 == VARIABLE || LA30_0 == VARTYPE || LA30_0 == STRINGTYPE || LA30_0 == 28 || LA30_0 == 32 || (LA30_0 >= 34 && LA30_0 <= 36) || LA30_0 == 40 || (LA30_0 >= 42 && LA30_0 <= 43) || LA30_0 == 46 || LA30_0 == 48 || (LA30_0 >= 52 && LA30_0 <= 56)) ) { alt30 = 1; } switch (alt30) { case 1 : // spinach.g:249:67: e11= expr1 { PushFollow(FOLLOW_expr1_in_forstatement1460); e11 = expr1(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt30 >= 1 ) goto loop30; EarlyExitException eee30 = new EarlyExitException(30, input); throw eee30; } cnt30++; } while (true); loop30: ; // Stops C# compiler whining that label 'loop30' has no statements RIGHTPARANTHESIS106=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_forstatement1465); RIGHTPARANTHESIS106_tree = (object)adaptor.Create(RIGHTPARANTHESIS106); adaptor.AddChild(root_0, RIGHTPARANTHESIS106_tree); } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "forstatement" // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:264:1: forstatement returns [ForStatementElement ret] : 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= expr2 )+ RIGHTPARANTHESIS ; public spinachParser.forstatement_return forstatement() // throws RecognitionException [1] { spinachParser.forstatement_return retval = new spinachParser.forstatement_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal116 = null; IToken LEFTBRACE117 = null; IToken POINT118 = null; IToken string_literal119 = null; IToken RIGHTBRACE120 = null; IToken LEFTPARANTHESIS121 = null; IToken RIGHTPARANTHESIS122 = null; spinachParser.variable_return r11 = null; spinachParser.int_literal_return r12 = null; spinachParser.int_literal_return r13 = null; spinachParser.expr2_return e11 = null; object string_literal116_tree=null; object LEFTBRACE117_tree=null; object POINT118_tree=null; object string_literal119_tree=null; object RIGHTBRACE120_tree=null; object LEFTPARANTHESIS121_tree=null; object RIGHTPARANTHESIS122_tree=null; retval.ret = new ForStatementElement(); try { // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:267:2: ( 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= expr2 )+ RIGHTPARANTHESIS ) // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:267:3: 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= expr2 )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal116=(IToken)Match(input,42,FOLLOW_42_in_forstatement1557); string_literal116_tree = (object)adaptor.Create(string_literal116); adaptor.AddChild(root_0, string_literal116_tree); LEFTBRACE117=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_forstatement1559); LEFTBRACE117_tree = (object)adaptor.Create(LEFTBRACE117); adaptor.AddChild(root_0, LEFTBRACE117_tree); PushFollow(FOLLOW_variable_in_forstatement1565); r11 = variable(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGEVARIABLE = ((r11 != null) ? r11.ret : null); POINT118=(IToken)Match(input,POINT,FOLLOW_POINT_in_forstatement1568); POINT118_tree = (object)adaptor.Create(POINT118); adaptor.AddChild(root_0, POINT118_tree); PushFollow(FOLLOW_int_literal_in_forstatement1574); r12 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r12.Tree); retval.ret.STARTINGRANGE = ((r12 != null) ? r12.ret : null); string_literal119=(IToken)Match(input,38,FOLLOW_38_in_forstatement1577); string_literal119_tree = (object)adaptor.Create(string_literal119); adaptor.AddChild(root_0, string_literal119_tree); PushFollow(FOLLOW_int_literal_in_forstatement1582); r13 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r13.Tree); retval.ret.ENDINGRANGE = ((r13 != null) ? r13.ret : null); RIGHTBRACE120=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_forstatement1585); RIGHTBRACE120_tree = (object)adaptor.Create(RIGHTBRACE120); adaptor.AddChild(root_0, RIGHTBRACE120_tree); LEFTPARANTHESIS121=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_forstatement1587); LEFTPARANTHESIS121_tree = (object)adaptor.Create(LEFTPARANTHESIS121); adaptor.AddChild(root_0, LEFTPARANTHESIS121_tree); // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:267:219: (e11= expr2 )+ int cnt36 = 0; do { int alt36 = 2; int LA36_0 = input.LA(1); if ( (LA36_0 == VARIABLE || LA36_0 == 40 || LA36_0 == 42 || LA36_0 == 46) ) { alt36 = 1; } switch (alt36) { case 1 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:267:220: e11= expr2 { PushFollow(FOLLOW_expr2_in_forstatement1592); e11 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt36 >= 1 ) goto loop36; EarlyExitException eee36 = new EarlyExitException(36, input); throw eee36; } cnt36++; } while (true); loop36: ; // Stops C# compiler whining that label 'loop36' has no statements RIGHTPARANTHESIS122=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_forstatement1597); RIGHTPARANTHESIS122_tree = (object)adaptor.Create(RIGHTPARANTHESIS122); adaptor.AddChild(root_0, RIGHTPARANTHESIS122_tree); } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start "forstatement" // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:182:1: forstatement returns [ForStatementElement ret] : 'for' r11= range LEFTPARANTHESIS (e11= expr1 )+ RIGHTPARANTHESIS ; public spinachParser.forstatement_return forstatement() { spinachParser.forstatement_return retval = new spinachParser.forstatement_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal93 = null; IToken LEFTPARANTHESIS94 = null; IToken RIGHTPARANTHESIS95 = null; spinachParser.range_return r11 = null; spinachParser.expr1_return e11 = null; object string_literal93_tree=null; object LEFTPARANTHESIS94_tree=null; object RIGHTPARANTHESIS95_tree=null; retval.ret = new ForStatementElement(); try { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:185:2: ( 'for' r11= range LEFTPARANTHESIS (e11= expr1 )+ RIGHTPARANTHESIS ) // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:185:3: 'for' r11= range LEFTPARANTHESIS (e11= expr1 )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal93=(IToken)Match(input,38,FOLLOW_38_in_forstatement1014); string_literal93_tree = (object)adaptor.Create(string_literal93); adaptor.AddChild(root_0, string_literal93_tree); PushFollow(FOLLOW_range_in_forstatement1019); r11 = range(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGE = ((r11 != null) ? r11.ret : null); LEFTPARANTHESIS94=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_forstatement1022); LEFTPARANTHESIS94_tree = (object)adaptor.Create(LEFTPARANTHESIS94); adaptor.AddChild(root_0, LEFTPARANTHESIS94_tree); // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:185:66: (e11= expr1 )+ int cnt20 = 0; do { int alt20 = 2; int LA20_0 = input.LA(1); if ( (LA20_0 == VARIABLE || LA20_0 == VARTYPE || LA20_0 == STRINGTYPE || LA20_0 == 23 || (LA20_0 >= 29 && LA20_0 <= 32) || LA20_0 == 36 || (LA20_0 >= 38 && LA20_0 <= 46)) ) { alt20 = 1; } switch (alt20) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:185:67: e11= expr1 { PushFollow(FOLLOW_expr1_in_forstatement1027); e11 = expr1(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt20 >= 1 ) goto loop20; EarlyExitException eee20 = new EarlyExitException(20, input); throw eee20; } cnt20++; } while (true); loop20: ; // Stops C# compiler whining that label 'loop20' has no statements RIGHTPARANTHESIS95=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_forstatement1032); RIGHTPARANTHESIS95_tree = (object)adaptor.Create(RIGHTPARANTHESIS95); adaptor.AddChild(root_0, RIGHTPARANTHESIS95_tree); } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "forstatement" // spinach.g:270:1: forstatement returns [ForStatementElement ret] : 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= forexpr | comment )+ RIGHTPARANTHESIS ; public spinachParser.forstatement_return forstatement() // throws RecognitionException [1] { spinachParser.forstatement_return retval = new spinachParser.forstatement_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal124 = null; IToken LEFTBRACE125 = null; IToken POINT126 = null; IToken string_literal127 = null; IToken RIGHTBRACE128 = null; IToken LEFTPARANTHESIS129 = null; IToken RIGHTPARANTHESIS131 = null; spinachParser.variable_return r11 = null; spinachParser.int_literal_return r12 = null; spinachParser.int_literal_return r13 = null; spinachParser.forexpr_return e11 = null; spinachParser.comment_return comment130 = null; object string_literal124_tree=null; object LEFTBRACE125_tree=null; object POINT126_tree=null; object string_literal127_tree=null; object RIGHTBRACE128_tree=null; object LEFTPARANTHESIS129_tree=null; object RIGHTPARANTHESIS131_tree=null; retval.ret = new ForStatementElement(); try { // spinach.g:273:2: ( 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= forexpr | comment )+ RIGHTPARANTHESIS ) // spinach.g:273:3: 'for' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS (e11= forexpr | comment )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal124=(IToken)Match(input,42,FOLLOW_42_in_forstatement1574); string_literal124_tree = (object)adaptor.Create(string_literal124); adaptor.AddChild(root_0, string_literal124_tree); LEFTBRACE125=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_forstatement1576); LEFTBRACE125_tree = (object)adaptor.Create(LEFTBRACE125); adaptor.AddChild(root_0, LEFTBRACE125_tree); PushFollow(FOLLOW_variable_in_forstatement1582); r11 = variable(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGEVARIABLE = ((r11 != null) ? r11.ret : null); POINT126=(IToken)Match(input,POINT,FOLLOW_POINT_in_forstatement1585); POINT126_tree = (object)adaptor.Create(POINT126); adaptor.AddChild(root_0, POINT126_tree); PushFollow(FOLLOW_int_literal_in_forstatement1591); r12 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r12.Tree); retval.ret.STARTINGRANGE = ((r12 != null) ? r12.ret : null); string_literal127=(IToken)Match(input,38,FOLLOW_38_in_forstatement1594); string_literal127_tree = (object)adaptor.Create(string_literal127); adaptor.AddChild(root_0, string_literal127_tree); PushFollow(FOLLOW_int_literal_in_forstatement1599); r13 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r13.Tree); retval.ret.ENDINGRANGE = ((r13 != null) ? r13.ret : null); RIGHTBRACE128=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_forstatement1602); RIGHTBRACE128_tree = (object)adaptor.Create(RIGHTBRACE128); adaptor.AddChild(root_0, RIGHTBRACE128_tree); LEFTPARANTHESIS129=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_forstatement1604); LEFTPARANTHESIS129_tree = (object)adaptor.Create(LEFTPARANTHESIS129); adaptor.AddChild(root_0, LEFTPARANTHESIS129_tree); // spinach.g:273:219: (e11= forexpr | comment )+ int cnt36 = 0; do { int alt36 = 3; int LA36_0 = input.LA(1); if ( (LA36_0 == VARIABLE || LA36_0 == VARTYPE || LA36_0 == STRINGTYPE || LA36_0 == 28 || LA36_0 == 32 || LA36_0 == 35 || LA36_0 == 40 || LA36_0 == 42 || LA36_0 == 47 || (LA36_0 >= 51 && LA36_0 <= 55)) ) { alt36 = 1; } else if ( (LA36_0 == 56) ) { alt36 = 2; } switch (alt36) { case 1 : // spinach.g:273:220: e11= forexpr { PushFollow(FOLLOW_forexpr_in_forstatement1609); e11 = forexpr(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; case 2 : // spinach.g:273:263: comment { PushFollow(FOLLOW_comment_in_forstatement1612); comment130 = comment(); state.followingStackPointer--; adaptor.AddChild(root_0, comment130.Tree); } break; default: if ( cnt36 >= 1 ) goto loop36; EarlyExitException eee36 = new EarlyExitException(36, input); throw eee36; } cnt36++; } while (true); loop36: ; // Stops C# compiler whining that label 'loop36' has no statements RIGHTPARANTHESIS131=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_forstatement1616); RIGHTPARANTHESIS131_tree = (object)adaptor.Create(RIGHTPARANTHESIS131); adaptor.AddChild(root_0, RIGHTPARANTHESIS131_tree); } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }