// $ANTLR start "expr2" // spinach.g:39:1: expr2 returns [Element ret] : (el1= assignment | el2= scalarvardec | el3= vectorvardec | el4= deletionofvar | el5= print | el6= ifelse | el7= functioncall | el8= forstatement | el9= comment ) ; public spinachParser.expr2_return expr2() // throws RecognitionException [1] { spinachParser.expr2_return retval = new spinachParser.expr2_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.assignment_return el1 = null; spinachParser.scalarvardec_return el2 = null; spinachParser.vectorvardec_return el3 = null; spinachParser.deletionofvar_return el4 = null; spinachParser.print_return el5 = null; spinachParser.ifelse_return el6 = null; spinachParser.functioncall_return el7 = null; spinachParser.forstatement_return el8 = null; spinachParser.comment_return el9 = null; try { // spinach.g:40:1: ( (el1= assignment | el2= scalarvardec | el3= vectorvardec | el4= deletionofvar | el5= print | el6= ifelse | el7= functioncall | el8= forstatement | el9= comment ) ) // spinach.g:40:4: (el1= assignment | el2= scalarvardec | el3= vectorvardec | el4= deletionofvar | el5= print | el6= ifelse | el7= functioncall | el8= forstatement | el9= comment ) { root_0 = (object)adaptor.GetNilNode(); // spinach.g:40:4: (el1= assignment | el2= scalarvardec | el3= vectorvardec | el4= deletionofvar | el5= print | el6= ifelse | el7= functioncall | el8= forstatement | el9= comment ) int alt4 = 9; alt4 = dfa4.Predict(input); switch (alt4) { case 1 : // spinach.g:40:5: el1= assignment { PushFollow(FOLLOW_assignment_in_expr2183); el1 = assignment(); state.followingStackPointer--; adaptor.AddChild(root_0, el1.Tree); retval.ret = ((el1 != null) ? el1.ret : null); } break; case 2 : // spinach.g:41:5: el2= scalarvardec { PushFollow(FOLLOW_scalarvardec_in_expr2193); el2 = scalarvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, el2.Tree); retval.ret = ((el2 != null) ? el2.ret : null); } break; case 3 : // spinach.g:42:5: el3= vectorvardec { PushFollow(FOLLOW_vectorvardec_in_expr2203); el3 = vectorvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, el3.Tree); retval.ret = ((el3 != null) ? el3.ret : null); } break; case 4 : // spinach.g:43:5: el4= deletionofvar { PushFollow(FOLLOW_deletionofvar_in_expr2214); el4 = deletionofvar(); state.followingStackPointer--; adaptor.AddChild(root_0, el4.Tree); retval.ret = ((el4 != null) ? el4.ret : null); } break; case 5 : // spinach.g:44:5: el5= print { PushFollow(FOLLOW_print_in_expr2225); el5 = print(); state.followingStackPointer--; adaptor.AddChild(root_0, el5.Tree); retval.ret = ((el5 != null) ? el5.ret : null); } break; case 6 : // spinach.g:45:5: el6= ifelse { PushFollow(FOLLOW_ifelse_in_expr2235); el6 = ifelse(); state.followingStackPointer--; adaptor.AddChild(root_0, el6.Tree); retval.ret = ((el6 != null) ? el6.ret : null); } break; case 7 : // spinach.g:46:5: el7= functioncall { PushFollow(FOLLOW_functioncall_in_expr2244); el7 = functioncall(); state.followingStackPointer--; adaptor.AddChild(root_0, el7.Tree); retval.ret=((el7 != null) ? el7.ret : null); } break; case 8 : // spinach.g:47:5: el8= forstatement { PushFollow(FOLLOW_forstatement_in_expr2253); el8 = forstatement(); state.followingStackPointer--; adaptor.AddChild(root_0, el8.Tree); retval.ret = ((el8 != null) ? el8.ret : null); } break; case 9 : // spinach.g:48:5: el9= comment { PushFollow(FOLLOW_comment_in_expr2262); el9 = comment(); state.followingStackPointer--; adaptor.AddChild(root_0, el9.Tree); retval.ret = ((el9 != null) ? el9.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 "expr2" // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:52:1: expr2 returns [Element ret] : (el1= assignment | el4= ifelse | el5= forstatement | el6= comment | e12= scalarvardec | e13= deletionofvar | structobjdec ) ; public spinachParser.expr2_return expr2() // throws RecognitionException [1] { spinachParser.expr2_return retval = new spinachParser.expr2_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.assignment_return el1 = null; spinachParser.ifelse_return el4 = null; spinachParser.forstatement_return el5 = null; spinachParser.comment_return el6 = null; spinachParser.scalarvardec_return e12 = null; spinachParser.deletionofvar_return e13 = null; spinachParser.structobjdec_return structobjdec13 = null; try { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:53:1: ( (el1= assignment | el4= ifelse | el5= forstatement | el6= comment | e12= scalarvardec | e13= deletionofvar | structobjdec ) ) // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:53:4: (el1= assignment | el4= ifelse | el5= forstatement | el6= comment | e12= scalarvardec | e13= deletionofvar | structobjdec ) { root_0 = (object)adaptor.GetNilNode(); // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:53:4: (el1= assignment | el4= ifelse | el5= forstatement | el6= comment | e12= scalarvardec | e13= deletionofvar | structobjdec ) int alt5 = 7; switch ( input.LA(1) ) { case VARIABLE: { int LA5_1 = input.LA(2); if ( (LA5_1 == ASSIGNMENT || LA5_1 == DOT || LA5_1 == 29) ) { alt5 = 1; } else if ( (LA5_1 == VARIABLE) ) { alt5 = 7; } else { NoViableAltException nvae_d5s1 = new NoViableAltException("", 5, 1, input); throw nvae_d5s1; } } break; case 40: { alt5 = 2; } break; case 42: { alt5 = 3; } break; case 46: { alt5 = 4; } break; case VARTYPE: case STRINGTYPE: { alt5 = 5; } break; case 35: { alt5 = 6; } break; default: NoViableAltException nvae_d5s0 = new NoViableAltException("", 5, 0, input); throw nvae_d5s0; } switch (alt5) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:53:5: el1= assignment { PushFollow(FOLLOW_assignment_in_expr2233); el1 = assignment(); state.followingStackPointer--; adaptor.AddChild(root_0, el1.Tree); retval.ret = ((el1 != null) ? el1.ret : null); } break; case 2 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:54:5: el4= ifelse { PushFollow(FOLLOW_ifelse_in_expr2243); el4 = ifelse(); state.followingStackPointer--; adaptor.AddChild(root_0, el4.Tree); retval.ret = ((el4 != null) ? el4.ret : null); } break; case 3 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:55:5: el5= forstatement { PushFollow(FOLLOW_forstatement_in_expr2253); el5 = forstatement(); state.followingStackPointer--; adaptor.AddChild(root_0, el5.Tree); retval.ret = ((el5 != null) ? el5.ret : null); } break; case 4 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:56:5: el6= comment { PushFollow(FOLLOW_comment_in_expr2262); el6 = comment(); state.followingStackPointer--; adaptor.AddChild(root_0, el6.Tree); retval.ret = ((el6 != null) ? el6.ret : null); } break; case 5 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:57:5: e12= scalarvardec { PushFollow(FOLLOW_scalarvardec_in_expr2272); e12 = scalarvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, e12.Tree); retval.ret = ((e12 != null) ? e12.ret : null); } break; case 6 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:58:5: e13= deletionofvar { PushFollow(FOLLOW_deletionofvar_in_expr2284); e13 = deletionofvar(); state.followingStackPointer--; adaptor.AddChild(root_0, e13.Tree); retval.ret = ((e13 != null) ? e13.ret : null); } break; case 7 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:59:5: structobjdec { PushFollow(FOLLOW_structobjdec_in_expr2291); structobjdec13 = structobjdec(); state.followingStackPointer--; adaptor.AddChild(root_0, structobjdec13.Tree); retval.ret = ((structobjdec13 != null) ? structobjdec13.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 "expr2" // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:48:1: expr2 returns [Element ret] : (el1= assignment | el4= ifelse | el5= forstatement | el6= comment ) ; public spinachParser.expr2_return expr2() // throws RecognitionException [1] { spinachParser.expr2_return retval = new spinachParser.expr2_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.assignment_return el1 = null; spinachParser.ifelse_return el4 = null; spinachParser.forstatement_return el5 = null; spinachParser.comment_return el6 = null; try { // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:49:1: ( (el1= assignment | el4= ifelse | el5= forstatement | el6= comment ) ) // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:49:4: (el1= assignment | el4= ifelse | el5= forstatement | el6= comment ) { root_0 = (object)adaptor.GetNilNode(); // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:49:4: (el1= assignment | el4= ifelse | el5= forstatement | el6= comment ) int alt4 = 4; switch ( input.LA(1) ) { case VARIABLE: { alt4 = 1; } break; case 40: { alt4 = 2; } break; case 42: { alt4 = 3; } break; case 46: { alt4 = 4; } break; default: NoViableAltException nvae_d4s0 = new NoViableAltException("", 4, 0, input); throw nvae_d4s0; } switch (alt4) { case 1 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:49:5: el1= assignment { PushFollow(FOLLOW_assignment_in_expr2231); el1 = assignment(); state.followingStackPointer--; adaptor.AddChild(root_0, el1.Tree); retval.ret = ((el1 != null) ? el1.ret : null); } break; case 2 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:50:5: el4= ifelse { PushFollow(FOLLOW_ifelse_in_expr2241); el4 = ifelse(); state.followingStackPointer--; adaptor.AddChild(root_0, el4.Tree); retval.ret = ((el4 != null) ? el4.ret : null); } break; case 3 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:51:5: el5= forstatement { PushFollow(FOLLOW_forstatement_in_expr2251); el5 = forstatement(); state.followingStackPointer--; adaptor.AddChild(root_0, el5.Tree); retval.ret = ((el5 != null) ? el5.ret : null); } break; case 4 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:52:5: el6= comment { PushFollow(FOLLOW_comment_in_expr2260); el6 = comment(); state.followingStackPointer--; adaptor.AddChild(root_0, el6.Tree); retval.ret = ((el6 != null) ? el6.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; }