// $ANTLR start "expr" // spinach.g:27:1: expr returns [Element ret] : ( expr1 | parallelfor ); public spinachParser.expr_return expr() // throws RecognitionException [1] { spinachParser.expr_return retval = new spinachParser.expr_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr1_return expr12 = null; spinachParser.parallelfor_return parallelfor3 = null; try { // spinach.g:28:3: ( expr1 | parallelfor ) int alt2 = 2; int LA2_0 = input.LA(1); if ( (LA2_0 == VARIABLE || LA2_0 == VARTYPE || LA2_0 == STRINGTYPE || LA2_0 == 28 || LA2_0 == 32 || (LA2_0 >= 34 && LA2_0 <= 36) || LA2_0 == 40 || (LA2_0 >= 42 && LA2_0 <= 43) || LA2_0 == 46 || LA2_0 == 48 || (LA2_0 >= 52 && LA2_0 <= 56)) ) { alt2 = 1; } else if ( (LA2_0 == 37) ) { alt2 = 2; } else { NoViableAltException nvae_d2s0 = new NoViableAltException("", 2, 0, input); throw nvae_d2s0; } switch (alt2) { case 1 : // spinach.g:28:4: expr1 { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_expr1_in_expr91); expr12 = expr1(); state.followingStackPointer--; adaptor.AddChild(root_0, expr12.Tree); retval.ret = ((expr12 != null) ? expr12.ret : null); } break; case 2 : // spinach.g:28:37: parallelfor { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_parallelfor_in_expr95); parallelfor3 = parallelfor(); state.followingStackPointer--; adaptor.AddChild(root_0, parallelfor3.Tree); retval.ret = ((parallelfor3 != null) ? parallelfor3.ret : null); } break; } 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 "expr" // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:32:1: expr returns [Element ret] : ( expr1 | parallelfor | structdec | functiondefination ); public spinachParser.expr_return expr() // throws RecognitionException [1] { spinachParser.expr_return retval = new spinachParser.expr_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr1_return expr12 = null; spinachParser.parallelfor_return parallelfor3 = null; spinachParser.structdec_return structdec4 = null; spinachParser.functiondefination_return functiondefination5 = null; try { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:3: ( expr1 | parallelfor | structdec | functiondefination ) int alt2 = 4; switch ( input.LA(1) ) { case VARIABLE: case STRINGTYPE: case 28: case 32: case 35: case 36: case 40: case 42: case 46: case 48: case 52: case 53: case 54: case 55: case 56: { alt2 = 1; } break; case VARTYPE: { int LA2_2 = input.LA(2); if ( (LA2_2 == VARIABLE) ) { int LA2_6 = input.LA(3); if ( (LA2_6 == END_OF_STATEMENT) ) { alt2 = 1; } else if ( (LA2_6 == LEFTBRACE) ) { alt2 = 4; } else { NoViableAltException nvae_d2s6 = new NoViableAltException("", 2, 6, input); throw nvae_d2s6; } } else { NoViableAltException nvae_d2s2 = new NoViableAltException("", 2, 2, input); throw nvae_d2s2; } } break; case 37: { alt2 = 2; } break; case 34: { alt2 = 3; } break; case 43: { alt2 = 4; } break; default: NoViableAltException nvae_d2s0 = new NoViableAltException("", 2, 0, input); throw nvae_d2s0; } switch (alt2) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:4: expr1 { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_expr1_in_expr96); expr12 = expr1(); state.followingStackPointer--; adaptor.AddChild(root_0, expr12.Tree); retval.ret = ((expr12 != null) ? expr12.ret : null); } break; case 2 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:37: parallelfor { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_parallelfor_in_expr100); parallelfor3 = parallelfor(); state.followingStackPointer--; adaptor.AddChild(root_0, parallelfor3.Tree); retval.ret = ((parallelfor3 != null) ? parallelfor3.ret : null); } break; case 3 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:82: structdec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_structdec_in_expr104); structdec4 = structdec(); state.followingStackPointer--; adaptor.AddChild(root_0, structdec4.Tree); retval.ret = ((structdec4 != null) ? structdec4.ret : null); } break; case 4 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:34:8: functiondefination { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functiondefination_in_expr115); functiondefination5 = functiondefination(); state.followingStackPointer--; adaptor.AddChild(root_0, functiondefination5.Tree); retval.ret = ((functiondefination5 != null) ? functiondefination5.ret : null); } break; } 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 "expr" // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:26:1: expr returns [Element ret] : ( expr1 | parallelfor ); public spinachParser.expr_return expr() { spinachParser.expr_return retval = new spinachParser.expr_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr1_return expr12 = null; spinachParser.parallelfor_return parallelfor3 = null; try { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:27:3: ( expr1 | parallelfor ) int alt2 = 2; int LA2_0 = input.LA(1); if ( (LA2_0 == VARIABLE || LA2_0 == VARTYPE || LA2_0 == STRINGTYPE || LA2_0 == 23 || (LA2_0 >= 29 && LA2_0 <= 32) || LA2_0 == 36 || (LA2_0 >= 38 && LA2_0 <= 46)) ) { alt2 = 1; } else if ( (LA2_0 == 33) ) { alt2 = 2; } else { NoViableAltException nvae_d2s0 = new NoViableAltException("", 2, 0, input); throw nvae_d2s0; } switch (alt2) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:27:4: expr1 { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_expr1_in_expr85); expr12 = expr1(); state.followingStackPointer--; adaptor.AddChild(root_0, expr12.Tree); retval.ret = ((expr12 != null) ? expr12.ret : null); } break; case 2 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:27:37: parallelfor { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_parallelfor_in_expr89); parallelfor3 = parallelfor(); state.followingStackPointer--; adaptor.AddChild(root_0, parallelfor3.Tree); retval.ret = ((parallelfor3 != null) ? parallelfor3.ret : null); } break; } 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; }