// $ANTLR start "parallelfor" // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:244:1: parallelfor returns [ParallelForElement ret] : 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ; public spinachParser.parallelfor_return parallelfor() // throws RecognitionException [1] { spinachParser.parallelfor_return retval = new spinachParser.parallelfor_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal98 = null; IToken LEFTBRACE99 = null; IToken POINT100 = null; IToken string_literal101 = null; IToken RIGHTBRACE102 = null; IToken LEFTPARANTHESIS103 = null; IToken string_literal104 = null; IToken END_OF_STATEMENT105 = null; IToken RIGHTPARANTHESIS106 = 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_literal98_tree=null; object LEFTBRACE99_tree=null; object POINT100_tree=null; object string_literal101_tree=null; object RIGHTBRACE102_tree=null; object LEFTPARANTHESIS103_tree=null; object string_literal104_tree=null; object END_OF_STATEMENT105_tree=null; object RIGHTPARANTHESIS106_tree=null; retval.ret = new ParallelForElement(); try { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:2: ( 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ) // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:4: 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal98=(IToken)Match(input,37,FOLLOW_37_in_parallelfor1377); string_literal98_tree = (object)adaptor.Create(string_literal98); adaptor.AddChild(root_0, string_literal98_tree); LEFTBRACE99=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_parallelfor1378); LEFTBRACE99_tree = (object)adaptor.Create(LEFTBRACE99); adaptor.AddChild(root_0, LEFTBRACE99_tree); PushFollow(FOLLOW_variable_in_parallelfor1384); r11 = variable(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGEVARIABLE = ((r11 != null) ? r11.ret : null); POINT100=(IToken)Match(input,POINT,FOLLOW_POINT_in_parallelfor1387); POINT100_tree = (object)adaptor.Create(POINT100); adaptor.AddChild(root_0, POINT100_tree); PushFollow(FOLLOW_int_literal_in_parallelfor1393); r12 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r12.Tree); retval.ret.STARTINGRANGE = ((r12 != null) ? r12.ret : null); string_literal101=(IToken)Match(input,38,FOLLOW_38_in_parallelfor1396); string_literal101_tree = (object)adaptor.Create(string_literal101); adaptor.AddChild(root_0, string_literal101_tree); PushFollow(FOLLOW_int_literal_in_parallelfor1401); r13 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r13.Tree); retval.ret.ENDINGRANGE = ((r13 != null) ? r13.ret : null); RIGHTBRACE102=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_parallelfor1404); RIGHTBRACE102_tree = (object)adaptor.Create(RIGHTBRACE102); adaptor.AddChild(root_0, RIGHTBRACE102_tree); LEFTPARANTHESIS103=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_parallelfor1406); LEFTPARANTHESIS103_tree = (object)adaptor.Create(LEFTPARANTHESIS103); adaptor.AddChild(root_0, LEFTPARANTHESIS103_tree); // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:228: ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ int cnt31 = 0; do { int alt31 = 2; int LA31_0 = input.LA(1); if ( (LA31_0 == VARIABLE || LA31_0 == VARTYPE || LA31_0 == STRINGTYPE || LA31_0 == 35 || LA31_0 == 40 || LA31_0 == 42 || LA31_0 == 46) ) { alt31 = 1; } switch (alt31) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:229: (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:229: (e11= expr2 )+ int cnt29 = 0; do { int alt29 = 2; switch ( input.LA(1) ) { case VARIABLE: { alt29 = 1; } break; case 40: { alt29 = 1; } break; case 42: { alt29 = 1; } break; case 46: { alt29 = 1; } break; case VARTYPE: { alt29 = 1; } break; case STRINGTYPE: { alt29 = 1; } break; case 35: { alt29 = 1; } break; } switch (alt29) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:230: e11= expr2 { PushFollow(FOLLOW_expr2_in_parallelfor1413); e11 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt29 >= 1 ) goto loop29; EarlyExitException eee29 = new EarlyExitException(29, input); throw eee29; } cnt29++; } while (true); loop29: ; // Stops C# compiler whinging that label 'loop29' has no statements // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:272: ( ( 'SYNC' END_OF_STATEMENT ) | ) int alt30 = 2; int LA30_0 = input.LA(1); if ( (LA30_0 == 39) ) { alt30 = 1; } else if ( (LA30_0 == VARIABLE || LA30_0 == VARTYPE || LA30_0 == STRINGTYPE || LA30_0 == RIGHTPARANTHESIS || LA30_0 == 35 || LA30_0 == 40 || LA30_0 == 42 || LA30_0 == 46) ) { alt30 = 2; } else { NoViableAltException nvae_d30s0 = new NoViableAltException("", 30, 0, input); throw nvae_d30s0; } switch (alt30) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:273: ( 'SYNC' END_OF_STATEMENT ) { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:273: ( 'SYNC' END_OF_STATEMENT ) // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:274: 'SYNC' END_OF_STATEMENT { string_literal104=(IToken)Match(input,39,FOLLOW_39_in_parallelfor1419); string_literal104_tree = (object)adaptor.Create(string_literal104); adaptor.AddChild(root_0, string_literal104_tree); retval.ret.syncfunction(); END_OF_STATEMENT105=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_parallelfor1422); END_OF_STATEMENT105_tree = (object)adaptor.Create(END_OF_STATEMENT105); adaptor.AddChild(root_0, END_OF_STATEMENT105_tree); } } break; case 2 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:247:327: { retval.ret.syncfunction(); } break; } } break; default: if ( cnt31 >= 1 ) goto loop31; EarlyExitException eee31 = new EarlyExitException(31, input); throw eee31; } cnt31++; } while (true); loop31: ; // Stops C# compiler whinging that label 'loop31' has no statements RIGHTPARANTHESIS106=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_parallelfor1430); 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 "parallelfor" // spinach.g:217:1: parallelfor returns [ParallelForElement ret] : 'parallelfor' r11= range LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ; public spinachParser.parallelfor_return parallelfor() // throws RecognitionException [1] { spinachParser.parallelfor_return retval = new spinachParser.parallelfor_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal79 = null; IToken LEFTPARANTHESIS80 = null; IToken string_literal81 = null; IToken END_OF_STATEMENT82 = null; IToken RIGHTPARANTHESIS83 = null; spinachParser.range_return r11 = null; spinachParser.expr2_return e11 = null; object string_literal79_tree=null; object LEFTPARANTHESIS80_tree=null; object string_literal81_tree=null; object END_OF_STATEMENT82_tree=null; object RIGHTPARANTHESIS83_tree=null; retval.ret = new ParallelForElement(); try { // spinach.g:220:2: ( 'parallelfor' r11= range LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ) // spinach.g:220:4: 'parallelfor' r11= range LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal79=(IToken)Match(input,37,FOLLOW_37_in_parallelfor1249); string_literal79_tree = (object)adaptor.Create(string_literal79); adaptor.AddChild(root_0, string_literal79_tree); PushFollow(FOLLOW_range_in_parallelfor1255); r11 = range(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGE = ((r11 != null) ? r11.ret : null); LEFTPARANTHESIS80=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_parallelfor1258); LEFTPARANTHESIS80_tree = (object)adaptor.Create(LEFTPARANTHESIS80); adaptor.AddChild(root_0, LEFTPARANTHESIS80_tree); // spinach.g:220:79: ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ int cnt24 = 0; do { int alt24 = 2; int LA24_0 = input.LA(1); if ( (LA24_0 == VARIABLE || LA24_0 == VARTYPE || LA24_0 == STRINGTYPE || LA24_0 == 32 || (LA24_0 >= 35 && LA24_0 <= 36) || LA24_0 == 40 || LA24_0 == 42 || LA24_0 == 46) ) { alt24 = 1; } switch (alt24) { case 1 : // spinach.g:220:80: (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) { // spinach.g:220:80: (e11= expr2 )+ int cnt22 = 0; do { int alt22 = 2; alt22 = dfa22.Predict(input); switch (alt22) { case 1 : // spinach.g:220:81: e11= expr2 { PushFollow(FOLLOW_expr2_in_parallelfor1265); e11 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt22 >= 1 ) goto loop22; EarlyExitException eee22 = new EarlyExitException(22, input); throw eee22; } cnt22++; } while (true); loop22: ; // Stops C# compiler whining that label 'loop22' has no statements // spinach.g:220:123: ( ( 'SYNC' END_OF_STATEMENT ) | ) int alt23 = 2; int LA23_0 = input.LA(1); if ( (LA23_0 == 38) ) { alt23 = 1; } else if ( (LA23_0 == VARIABLE || LA23_0 == VARTYPE || LA23_0 == STRINGTYPE || LA23_0 == RIGHTPARANTHESIS || LA23_0 == 32 || (LA23_0 >= 35 && LA23_0 <= 36) || LA23_0 == 40 || LA23_0 == 42 || LA23_0 == 46) ) { alt23 = 2; } else { NoViableAltException nvae_d23s0 = new NoViableAltException("", 23, 0, input); throw nvae_d23s0; } switch (alt23) { case 1 : // spinach.g:220:124: ( 'SYNC' END_OF_STATEMENT ) { // spinach.g:220:124: ( 'SYNC' END_OF_STATEMENT ) // spinach.g:220:125: 'SYNC' END_OF_STATEMENT { string_literal81=(IToken)Match(input,38,FOLLOW_38_in_parallelfor1271); string_literal81_tree = (object)adaptor.Create(string_literal81); adaptor.AddChild(root_0, string_literal81_tree); retval.ret.syncfunction(); END_OF_STATEMENT82=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_parallelfor1274); END_OF_STATEMENT82_tree = (object)adaptor.Create(END_OF_STATEMENT82); adaptor.AddChild(root_0, END_OF_STATEMENT82_tree); } } break; case 2 : // spinach.g:220:178: { retval.ret.syncfunction(); } break; } } break; default: if ( cnt24 >= 1 ) goto loop24; EarlyExitException eee24 = new EarlyExitException(24, input); throw eee24; } cnt24++; } while (true); loop24: ; // Stops C# compiler whining that label 'loop24' has no statements RIGHTPARANTHESIS83=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_parallelfor1282); RIGHTPARANTHESIS83_tree = (object)adaptor.Create(RIGHTPARANTHESIS83); adaptor.AddChild(root_0, RIGHTPARANTHESIS83_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 "parallelfor" // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:235:1: parallelfor returns [ParallelForElement ret] : 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ; public spinachParser.parallelfor_return parallelfor() // throws RecognitionException [1] { spinachParser.parallelfor_return retval = new spinachParser.parallelfor_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal90 = null; IToken LEFTBRACE91 = null; IToken POINT92 = null; IToken string_literal93 = null; IToken RIGHTBRACE94 = null; IToken LEFTPARANTHESIS95 = null; IToken string_literal96 = null; IToken END_OF_STATEMENT97 = null; IToken RIGHTPARANTHESIS98 = 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_literal90_tree=null; object LEFTBRACE91_tree=null; object POINT92_tree=null; object string_literal93_tree=null; object RIGHTBRACE94_tree=null; object LEFTPARANTHESIS95_tree=null; object string_literal96_tree=null; object END_OF_STATEMENT97_tree=null; object RIGHTPARANTHESIS98_tree=null; retval.ret = new ParallelForElement(); try { // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:2: ( 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ) // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:4: 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal90=(IToken)Match(input,37,FOLLOW_37_in_parallelfor1316); string_literal90_tree = (object)adaptor.Create(string_literal90); adaptor.AddChild(root_0, string_literal90_tree); LEFTBRACE91=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_parallelfor1317); LEFTBRACE91_tree = (object)adaptor.Create(LEFTBRACE91); adaptor.AddChild(root_0, LEFTBRACE91_tree); PushFollow(FOLLOW_variable_in_parallelfor1323); r11 = variable(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGEVARIABLE = ((r11 != null) ? r11.ret : null); POINT92=(IToken)Match(input,POINT,FOLLOW_POINT_in_parallelfor1326); POINT92_tree = (object)adaptor.Create(POINT92); adaptor.AddChild(root_0, POINT92_tree); PushFollow(FOLLOW_int_literal_in_parallelfor1332); r12 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r12.Tree); retval.ret.STARTINGRANGE = ((r12 != null) ? r12.ret : null); string_literal93=(IToken)Match(input,38,FOLLOW_38_in_parallelfor1335); string_literal93_tree = (object)adaptor.Create(string_literal93); adaptor.AddChild(root_0, string_literal93_tree); PushFollow(FOLLOW_int_literal_in_parallelfor1340); r13 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r13.Tree); retval.ret.ENDINGRANGE = ((r13 != null) ? r13.ret : null); RIGHTBRACE94=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_parallelfor1343); RIGHTBRACE94_tree = (object)adaptor.Create(RIGHTBRACE94); adaptor.AddChild(root_0, RIGHTBRACE94_tree); LEFTPARANTHESIS95=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_parallelfor1345); LEFTPARANTHESIS95_tree = (object)adaptor.Create(LEFTPARANTHESIS95); adaptor.AddChild(root_0, LEFTPARANTHESIS95_tree); // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:228: ( (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ int cnt29 = 0; do { int alt29 = 2; int LA29_0 = input.LA(1); if ( (LA29_0 == VARIABLE || LA29_0 == 40 || LA29_0 == 42 || LA29_0 == 46) ) { alt29 = 1; } switch (alt29) { case 1 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:229: (e11= expr2 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) { // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:229: (e11= expr2 )+ int cnt27 = 0; do { int alt27 = 2; switch ( input.LA(1) ) { case VARIABLE: { alt27 = 1; } break; case 40: { alt27 = 1; } break; case 42: { alt27 = 1; } break; case 46: { alt27 = 1; } break; } switch (alt27) { case 1 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:230: e11= expr2 { PushFollow(FOLLOW_expr2_in_parallelfor1352); e11 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt27 >= 1 ) goto loop27; EarlyExitException eee27 = new EarlyExitException(27, input); throw eee27; } cnt27++; } while (true); loop27: ; // Stops C# compiler whining that label 'loop27' has no statements // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:272: ( ( 'SYNC' END_OF_STATEMENT ) | ) int alt28 = 2; int LA28_0 = input.LA(1); if ( (LA28_0 == 39) ) { alt28 = 1; } else if ( (LA28_0 == VARIABLE || LA28_0 == RIGHTPARANTHESIS || LA28_0 == 40 || LA28_0 == 42 || LA28_0 == 46) ) { alt28 = 2; } else { NoViableAltException nvae_d28s0 = new NoViableAltException("", 28, 0, input); throw nvae_d28s0; } switch (alt28) { case 1 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:273: ( 'SYNC' END_OF_STATEMENT ) { // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:273: ( 'SYNC' END_OF_STATEMENT ) // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:274: 'SYNC' END_OF_STATEMENT { string_literal96=(IToken)Match(input,39,FOLLOW_39_in_parallelfor1358); string_literal96_tree = (object)adaptor.Create(string_literal96); adaptor.AddChild(root_0, string_literal96_tree); retval.ret.syncfunction(); END_OF_STATEMENT97=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_parallelfor1361); END_OF_STATEMENT97_tree = (object)adaptor.Create(END_OF_STATEMENT97); adaptor.AddChild(root_0, END_OF_STATEMENT97_tree); } } break; case 2 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:238:327: { retval.ret.syncfunction(); } break; } } break; default: if ( cnt29 >= 1 ) goto loop29; EarlyExitException eee29 = new EarlyExitException(29, input); throw eee29; } cnt29++; } while (true); loop29: ; // Stops C# compiler whining that label 'loop29' has no statements RIGHTPARANTHESIS98=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_parallelfor1369); RIGHTPARANTHESIS98_tree = (object)adaptor.Create(RIGHTPARANTHESIS98); adaptor.AddChild(root_0, RIGHTPARANTHESIS98_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 "parallelfor" // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:159:1: parallelfor returns [ParallelForElement ret] : 'parallelfor' r11= range LEFTPARANTHESIS ( (e11= expr1 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ; public spinachParser.parallelfor_return parallelfor() { spinachParser.parallelfor_return retval = new spinachParser.parallelfor_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal74 = null; IToken LEFTPARANTHESIS75 = null; IToken string_literal76 = null; IToken END_OF_STATEMENT77 = null; IToken RIGHTPARANTHESIS78 = null; spinachParser.range_return r11 = null; spinachParser.expr1_return e11 = null; object string_literal74_tree=null; object LEFTPARANTHESIS75_tree=null; object string_literal76_tree=null; object END_OF_STATEMENT77_tree=null; object RIGHTPARANTHESIS78_tree=null; retval.ret = new ParallelForElement(); try { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:2: ( 'parallelfor' r11= range LEFTPARANTHESIS ( (e11= expr1 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS ) // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:4: 'parallelfor' r11= range LEFTPARANTHESIS ( (e11= expr1 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal74=(IToken)Match(input,33,FOLLOW_33_in_parallelfor854); string_literal74_tree = (object)adaptor.Create(string_literal74); adaptor.AddChild(root_0, string_literal74_tree); PushFollow(FOLLOW_range_in_parallelfor860); r11 = range(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGE = ((r11 != null) ? r11.ret : null); LEFTPARANTHESIS75=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_parallelfor863); LEFTPARANTHESIS75_tree = (object)adaptor.Create(LEFTPARANTHESIS75); adaptor.AddChild(root_0, LEFTPARANTHESIS75_tree); // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:79: ( (e11= expr1 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) )+ int cnt15 = 0; do { int alt15 = 2; int LA15_0 = input.LA(1); if ( (LA15_0 == VARIABLE || LA15_0 == VARTYPE || LA15_0 == STRINGTYPE || LA15_0 == 23 || (LA15_0 >= 29 && LA15_0 <= 32) || LA15_0 == 36 || (LA15_0 >= 38 && LA15_0 <= 46)) ) { alt15 = 1; } switch (alt15) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:80: (e11= expr1 )+ ( ( 'SYNC' END_OF_STATEMENT ) | ) { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:80: (e11= expr1 )+ int cnt13 = 0; do { int alt13 = 2; alt13 = dfa13.Predict(input); switch (alt13) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:81: e11= expr1 { PushFollow(FOLLOW_expr1_in_parallelfor870); e11 = expr1(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } break; default: if ( cnt13 >= 1 ) goto loop13; EarlyExitException eee13 = new EarlyExitException(13, input); throw eee13; } cnt13++; } while (true); loop13: ; // Stops C# compiler whining that label 'loop13' has no statements // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:123: ( ( 'SYNC' END_OF_STATEMENT ) | ) int alt14 = 2; int LA14_0 = input.LA(1); if ( (LA14_0 == 34) ) { alt14 = 1; } else if ( (LA14_0 == VARIABLE || LA14_0 == VARTYPE || LA14_0 == STRINGTYPE || LA14_0 == RIGHTPARANTHESIS || LA14_0 == 23 || (LA14_0 >= 29 && LA14_0 <= 32) || LA14_0 == 36 || (LA14_0 >= 38 && LA14_0 <= 46)) ) { alt14 = 2; } else { NoViableAltException nvae_d14s0 = new NoViableAltException("", 14, 0, input); throw nvae_d14s0; } switch (alt14) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:124: ( 'SYNC' END_OF_STATEMENT ) { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:124: ( 'SYNC' END_OF_STATEMENT ) // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:125: 'SYNC' END_OF_STATEMENT { string_literal76=(IToken)Match(input,34,FOLLOW_34_in_parallelfor876); string_literal76_tree = (object)adaptor.Create(string_literal76); adaptor.AddChild(root_0, string_literal76_tree); retval.ret.syncfunction(); END_OF_STATEMENT77=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_parallelfor879); END_OF_STATEMENT77_tree = (object)adaptor.Create(END_OF_STATEMENT77); adaptor.AddChild(root_0, END_OF_STATEMENT77_tree); } } break; case 2 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:162:178: { retval.ret.syncfunction(); } break; } } break; default: if ( cnt15 >= 1 ) goto loop15; EarlyExitException eee15 = new EarlyExitException(15, input); throw eee15; } cnt15++; } while (true); loop15: ; // Stops C# compiler whining that label 'loop15' has no statements RIGHTPARANTHESIS78=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_parallelfor887); RIGHTPARANTHESIS78_tree = (object)adaptor.Create(RIGHTPARANTHESIS78); adaptor.AddChild(root_0, RIGHTPARANTHESIS78_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 "parallelfor" // spinach.g:241:1: parallelfor returns [ParallelForElement ret] : 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 ) ( 'SYNC' END_OF_STATEMENT )? )+ RIGHTPARANTHESIS ; public spinachParser.parallelfor_return parallelfor() // throws RecognitionException [1] { spinachParser.parallelfor_return retval = new spinachParser.parallelfor_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal97 = null; IToken LEFTBRACE98 = null; IToken POINT99 = null; IToken string_literal100 = null; IToken RIGHTBRACE101 = null; IToken LEFTPARANTHESIS102 = null; IToken string_literal103 = null; IToken END_OF_STATEMENT104 = null; IToken RIGHTPARANTHESIS105 = 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_literal97_tree=null; object LEFTBRACE98_tree=null; object POINT99_tree=null; object string_literal100_tree=null; object RIGHTBRACE101_tree=null; object LEFTPARANTHESIS102_tree=null; object string_literal103_tree=null; object END_OF_STATEMENT104_tree=null; object RIGHTPARANTHESIS105_tree=null; retval.ret = new ParallelForElement(); try { // spinach.g:244:2: ( 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 ) ( 'SYNC' END_OF_STATEMENT )? )+ RIGHTPARANTHESIS ) // spinach.g:244:4: 'parallelfor' LEFTBRACE r11= variable POINT r12= int_literal 'to' r13= int_literal RIGHTBRACE LEFTPARANTHESIS ( (e11= expr2 ) ( 'SYNC' END_OF_STATEMENT )? )+ RIGHTPARANTHESIS { root_0 = (object)adaptor.GetNilNode(); string_literal97=(IToken)Match(input,37,FOLLOW_37_in_parallelfor1334); string_literal97_tree = (object)adaptor.Create(string_literal97); adaptor.AddChild(root_0, string_literal97_tree); LEFTBRACE98=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_parallelfor1335); LEFTBRACE98_tree = (object)adaptor.Create(LEFTBRACE98); adaptor.AddChild(root_0, LEFTBRACE98_tree); PushFollow(FOLLOW_variable_in_parallelfor1341); r11 = variable(); state.followingStackPointer--; adaptor.AddChild(root_0, r11.Tree); retval.ret.RANGEVARIABLE = ((r11 != null) ? r11.ret : null); POINT99=(IToken)Match(input,POINT,FOLLOW_POINT_in_parallelfor1344); POINT99_tree = (object)adaptor.Create(POINT99); adaptor.AddChild(root_0, POINT99_tree); PushFollow(FOLLOW_int_literal_in_parallelfor1350); r12 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r12.Tree); retval.ret.STARTINGRANGE = ((r12 != null) ? r12.ret : null); string_literal100=(IToken)Match(input,38,FOLLOW_38_in_parallelfor1353); string_literal100_tree = (object)adaptor.Create(string_literal100); adaptor.AddChild(root_0, string_literal100_tree); PushFollow(FOLLOW_int_literal_in_parallelfor1358); r13 = int_literal(); state.followingStackPointer--; adaptor.AddChild(root_0, r13.Tree); retval.ret.ENDINGRANGE = ((r13 != null) ? r13.ret : null); RIGHTBRACE101=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_parallelfor1361); RIGHTBRACE101_tree = (object)adaptor.Create(RIGHTBRACE101); adaptor.AddChild(root_0, RIGHTBRACE101_tree); LEFTPARANTHESIS102=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_parallelfor1363); LEFTPARANTHESIS102_tree = (object)adaptor.Create(LEFTPARANTHESIS102); adaptor.AddChild(root_0, LEFTPARANTHESIS102_tree); // spinach.g:244:228: ( (e11= expr2 ) ( 'SYNC' END_OF_STATEMENT )? )+ int cnt29 = 0; do { int alt29 = 2; int LA29_0 = input.LA(1); if ( (LA29_0 == VARIABLE || LA29_0 == VARTYPE || LA29_0 == STRINGTYPE || LA29_0 == 35 || LA29_0 == 40 || LA29_0 == 42) ) { alt29 = 1; } switch (alt29) { case 1 : // spinach.g:244:229: (e11= expr2 ) ( 'SYNC' END_OF_STATEMENT )? { // spinach.g:244:229: (e11= expr2 ) // spinach.g:244:230: e11= expr2 { PushFollow(FOLLOW_expr2_in_parallelfor1370); e11 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, e11.Tree); retval.ret.ADDCODE =((e11 != null) ? e11.ret : null); } // spinach.g:244:271: ( 'SYNC' END_OF_STATEMENT )? int alt28 = 2; int LA28_0 = input.LA(1); if ( (LA28_0 == 39) ) { alt28 = 1; } switch (alt28) { case 1 : // spinach.g:244:272: 'SYNC' END_OF_STATEMENT { string_literal103=(IToken)Match(input,39,FOLLOW_39_in_parallelfor1374); string_literal103_tree = (object)adaptor.Create(string_literal103); adaptor.AddChild(root_0, string_literal103_tree); retval.ret.syncfunction(); END_OF_STATEMENT104=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_parallelfor1377); END_OF_STATEMENT104_tree = (object)adaptor.Create(END_OF_STATEMENT104); adaptor.AddChild(root_0, END_OF_STATEMENT104_tree); } break; } } break; default: if ( cnt29 >= 1 ) goto loop29; EarlyExitException eee29 = new EarlyExitException(29, input); throw eee29; } cnt29++; } while (true); loop29: ; // Stops C# compiler whining that label 'loop29' has no statements retval.ret.syncfunction(); RIGHTPARANTHESIS105=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_parallelfor1384); RIGHTPARANTHESIS105_tree = (object)adaptor.Create(RIGHTPARANTHESIS105); adaptor.AddChild(root_0, RIGHTPARANTHESIS105_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; }