// $ANTLR start "expr1" // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:37:1: expr1 returns [Element ret] : ( forexpr | print ); public spinachParser.expr1_return expr1() // throws RecognitionException [1] { spinachParser.expr1_return retval = new spinachParser.expr1_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.forexpr_return forexpr6 = null; spinachParser.print_return print7 = null; try { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:38:4: ( forexpr | print ) int alt3 = 2; int LA3_0 = input.LA(1); if ( (LA3_0 == VARIABLE || LA3_0 == VARTYPE || LA3_0 == STRINGTYPE || LA3_0 == 28 || LA3_0 == 32 || LA3_0 == 35 || LA3_0 == 40 || LA3_0 == 42 || LA3_0 == 46 || LA3_0 == 48 || (LA3_0 >= 52 && LA3_0 <= 56)) ) { alt3 = 1; } else if ( (LA3_0 == 36) ) { alt3 = 2; } else { NoViableAltException nvae_d3s0 = new NoViableAltException("", 3, 0, input); throw nvae_d3s0; } switch (alt3) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:38:5: forexpr { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_forexpr_in_expr1131); forexpr6 = forexpr(); state.followingStackPointer--; adaptor.AddChild(root_0, forexpr6.Tree); retval.ret = ((forexpr6 != null) ? forexpr6.ret : null); } break; case 2 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:39:10: print { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_print_in_expr1143); print7 = print(); state.followingStackPointer--; adaptor.AddChild(root_0, print7.Tree); retval.ret = ((print7 != null) ? print7.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 "expr1" // spinach.g:31:1: expr1 returns [Element ret] : ( expr2 | matrixvardec | structdec | structobjdec | functiondefination | plotfunctions ); public spinachParser.expr1_return expr1() // throws RecognitionException [1] { spinachParser.expr1_return retval = new spinachParser.expr1_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr2_return expr24 = null; spinachParser.matrixvardec_return matrixvardec5 = null; spinachParser.structdec_return structdec6 = null; spinachParser.structobjdec_return structobjdec7 = null; spinachParser.functiondefination_return functiondefination8 = null; spinachParser.plotfunctions_return plotfunctions9 = null; try { // spinach.g:32:4: ( expr2 | matrixvardec | structdec | structobjdec | functiondefination | plotfunctions ) int alt3 = 6; alt3 = dfa3.Predict(input); switch (alt3) { case 1 : // spinach.g:32:6: expr2 { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_expr2_in_expr1112); expr24 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, expr24.Tree); retval.ret = ((expr24 != null) ? expr24.ret : null); } break; case 2 : // spinach.g:33:7: matrixvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_matrixvardec_in_expr1121); matrixvardec5 = matrixvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, matrixvardec5.Tree); retval.ret = ((matrixvardec5 != null) ? matrixvardec5.ret : null); } break; case 3 : // spinach.g:34:8: structdec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_structdec_in_expr1132); structdec6 = structdec(); state.followingStackPointer--; adaptor.AddChild(root_0, structdec6.Tree); retval.ret = ((structdec6 != null) ? structdec6.ret : null); } break; case 4 : // spinach.g:35:8: structobjdec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_structobjdec_in_expr1143); structobjdec7 = structobjdec(); state.followingStackPointer--; adaptor.AddChild(root_0, structobjdec7.Tree); retval.ret = ((structobjdec7 != null) ? structobjdec7.ret : null); } break; case 5 : // spinach.g:36:8: functiondefination { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functiondefination_in_expr1154); functiondefination8 = functiondefination(); state.followingStackPointer--; adaptor.AddChild(root_0, functiondefination8.Tree); retval.ret = ((functiondefination8 != null) ? functiondefination8.ret : null); } break; case 6 : // spinach.g:37:9: plotfunctions { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_plotfunctions_in_expr1165); plotfunctions9 = plotfunctions(); state.followingStackPointer--; adaptor.AddChild(root_0, plotfunctions9.Tree); retval.ret = ((plotfunctions9 != null) ? plotfunctions9.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 "expr1" // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:38:1: expr1 returns [Element ret] : ( expr2 | matrixvardec | plotfunctions | deletionofvar | print | functioncall | scalarvardec | vectorvardec ); public spinachParser.expr1_return expr1() // throws RecognitionException [1] { spinachParser.expr1_return retval = new spinachParser.expr1_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr2_return expr27 = null; spinachParser.matrixvardec_return matrixvardec8 = null; spinachParser.plotfunctions_return plotfunctions9 = null; spinachParser.deletionofvar_return deletionofvar10 = null; spinachParser.print_return print11 = null; spinachParser.functioncall_return functioncall12 = null; spinachParser.scalarvardec_return scalarvardec13 = null; spinachParser.vectorvardec_return vectorvardec14 = null; try { // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:39:4: ( expr2 | matrixvardec | plotfunctions | deletionofvar | print | functioncall | scalarvardec | vectorvardec ) int alt3 = 8; alt3 = dfa3.Predict(input); switch (alt3) { case 1 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:39:6: expr2 { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_expr2_in_expr1143); expr27 = expr2(); state.followingStackPointer--; adaptor.AddChild(root_0, expr27.Tree); retval.ret = ((expr27 != null) ? expr27.ret : null); } break; case 2 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:40:7: matrixvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_matrixvardec_in_expr1152); matrixvardec8 = matrixvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, matrixvardec8.Tree); retval.ret = ((matrixvardec8 != null) ? matrixvardec8.ret : null); } break; case 3 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:41:7: plotfunctions { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_plotfunctions_in_expr1162); plotfunctions9 = plotfunctions(); state.followingStackPointer--; adaptor.AddChild(root_0, plotfunctions9.Tree); retval.ret = ((plotfunctions9 != null) ? plotfunctions9.ret : null); } break; case 4 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:42:7: deletionofvar { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_deletionofvar_in_expr1171); deletionofvar10 = deletionofvar(); state.followingStackPointer--; adaptor.AddChild(root_0, deletionofvar10.Tree); retval.ret = ((deletionofvar10 != null) ? deletionofvar10.ret : null); } break; case 5 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:43:7: print { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_print_in_expr1182); print11 = print(); state.followingStackPointer--; adaptor.AddChild(root_0, print11.Tree); retval.ret = ((print11 != null) ? print11.ret : null); } break; case 6 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:44:7: functioncall { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functioncall_in_expr1192); functioncall12 = functioncall(); state.followingStackPointer--; adaptor.AddChild(root_0, functioncall12.Tree); retval.ret=((functioncall12 != null) ? functioncall12.ret : null); } break; case 7 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:45:7: scalarvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_scalarvardec_in_expr1201); scalarvardec13 = scalarvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, scalarvardec13.Tree); retval.ret = ((scalarvardec13 != null) ? scalarvardec13.ret : null); } break; case 8 : // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:46:7: vectorvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_vectorvardec_in_expr1211); vectorvardec14 = vectorvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, vectorvardec14.Tree); retval.ret = ((vectorvardec14 != null) ? vectorvardec14.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 "expr1" // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:30:1: expr1 returns [Element ret] : ( assignment | scalarvardec | vectorvardec | matrixvardec | deletionofvar | structdec | structobjdec | print | ifelse | functioncall | equality | nonequality | forstatement | functiondefination | functionreturn | plotfunctions ); public spinachParser.expr1_return expr1() { spinachParser.expr1_return retval = new spinachParser.expr1_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.assignment_return assignment4 = null; spinachParser.scalarvardec_return scalarvardec5 = null; spinachParser.vectorvardec_return vectorvardec6 = null; spinachParser.matrixvardec_return matrixvardec7 = null; spinachParser.deletionofvar_return deletionofvar8 = null; spinachParser.structdec_return structdec9 = null; spinachParser.structobjdec_return structobjdec10 = null; spinachParser.print_return print11 = null; spinachParser.ifelse_return ifelse12 = null; spinachParser.functioncall_return functioncall13 = null; spinachParser.equality_return equality14 = null; spinachParser.nonequality_return nonequality15 = null; spinachParser.forstatement_return forstatement16 = null; spinachParser.functiondefination_return functiondefination17 = null; spinachParser.functionreturn_return functionreturn18 = null; spinachParser.plotfunctions_return plotfunctions19 = null; try { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:31:3: ( assignment | scalarvardec | vectorvardec | matrixvardec | deletionofvar | structdec | structobjdec | print | ifelse | functioncall | equality | nonequality | forstatement | functiondefination | functionreturn | plotfunctions ) int alt3 = 16; alt3 = dfa3.Predict(input); switch (alt3) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:31:5: assignment { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_assignment_in_expr1105); assignment4 = assignment(); state.followingStackPointer--; adaptor.AddChild(root_0, assignment4.Tree); retval.ret = ((assignment4 != null) ? assignment4.ret : null); } break; case 2 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:32:5: scalarvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_scalarvardec_in_expr1113); scalarvardec5 = scalarvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, scalarvardec5.Tree); retval.ret = ((scalarvardec5 != null) ? scalarvardec5.ret : null); } break; case 3 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:33:5: vectorvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_vectorvardec_in_expr1121); vectorvardec6 = vectorvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, vectorvardec6.Tree); retval.ret = ((vectorvardec6 != null) ? vectorvardec6.ret : null); } break; case 4 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:34:5: matrixvardec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_matrixvardec_in_expr1129); matrixvardec7 = matrixvardec(); state.followingStackPointer--; adaptor.AddChild(root_0, matrixvardec7.Tree); retval.ret = ((matrixvardec7 != null) ? matrixvardec7.ret : null); } break; case 5 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:35:5: deletionofvar { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_deletionofvar_in_expr1137); deletionofvar8 = deletionofvar(); state.followingStackPointer--; adaptor.AddChild(root_0, deletionofvar8.Tree); retval.ret = ((deletionofvar8 != null) ? deletionofvar8.ret : null); } break; case 6 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:36:5: structdec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_structdec_in_expr1145); structdec9 = structdec(); state.followingStackPointer--; adaptor.AddChild(root_0, structdec9.Tree); retval.ret = ((structdec9 != null) ? structdec9.ret : null); } break; case 7 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:37:5: structobjdec { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_structobjdec_in_expr1153); structobjdec10 = structobjdec(); state.followingStackPointer--; adaptor.AddChild(root_0, structobjdec10.Tree); retval.ret = ((structobjdec10 != null) ? structobjdec10.ret : null); } break; case 8 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:38:5: print { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_print_in_expr1161); print11 = print(); state.followingStackPointer--; adaptor.AddChild(root_0, print11.Tree); retval.ret = ((print11 != null) ? print11.ret : null); } break; case 9 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:39:5: ifelse { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_ifelse_in_expr1169); ifelse12 = ifelse(); state.followingStackPointer--; adaptor.AddChild(root_0, ifelse12.Tree); retval.ret = ((ifelse12 != null) ? ifelse12.ret : null); } break; case 10 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:40:5: functioncall { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functioncall_in_expr1176); functioncall13 = functioncall(); state.followingStackPointer--; adaptor.AddChild(root_0, functioncall13.Tree); retval.ret=((functioncall13 != null) ? functioncall13.ret : null); } break; case 11 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:41:5: equality { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_equality_in_expr1183); equality14 = equality(); state.followingStackPointer--; adaptor.AddChild(root_0, equality14.Tree); retval.ret = ((equality14 != null) ? equality14.ret : null); } break; case 12 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:42:5: nonequality { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_nonequality_in_expr1190); nonequality15 = nonequality(); state.followingStackPointer--; adaptor.AddChild(root_0, nonequality15.Tree); retval.ret = ((nonequality15 != null) ? nonequality15.ret : null); } break; case 13 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:43:5: forstatement { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_forstatement_in_expr1197); forstatement16 = forstatement(); state.followingStackPointer--; adaptor.AddChild(root_0, forstatement16.Tree); retval.ret = ((forstatement16 != null) ? forstatement16.ret : null); } break; case 14 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:44:5: functiondefination { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functiondefination_in_expr1204); functiondefination17 = functiondefination(); state.followingStackPointer--; adaptor.AddChild(root_0, functiondefination17.Tree); retval.ret = ((functiondefination17 != null) ? functiondefination17.ret : null); } break; case 15 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:45:5: functionreturn { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_functionreturn_in_expr1211); functionreturn18 = functionreturn(); state.followingStackPointer--; adaptor.AddChild(root_0, functionreturn18.Tree); retval.ret =((functionreturn18 != null) ? functionreturn18.ret : null); } break; case 16 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:46:5: plotfunctions { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_plotfunctions_in_expr1218); plotfunctions19 = plotfunctions(); state.followingStackPointer--; adaptor.AddChild(root_0, plotfunctions19.Tree); retval.ret = ((plotfunctions19 != null) ? plotfunctions19.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 "expr1" // spinach.g:37:1: expr1 returns [Element ret] : ( forexpr | print ); public spinachParser.expr1_return expr1() // throws RecognitionException [1] { spinachParser.expr1_return retval = new spinachParser.expr1_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.forexpr_return forexpr8 = null; spinachParser.print_return print9 = null; try { // spinach.g:38:4: ( forexpr | print ) int alt3 = 2; int LA3_0 = input.LA(1); if ( (LA3_0 == VARIABLE || LA3_0 == VARTYPE || LA3_0 == STRINGTYPE || LA3_0 == 27 || LA3_0 == 31 || LA3_0 == 34 || LA3_0 == 39 || LA3_0 == 41 || LA3_0 == 46 || (LA3_0 >= 50 && LA3_0 <= 54)) ) { alt3 = 1; } else if ( (LA3_0 == 35) ) { alt3 = 2; } else { NoViableAltException nvae_d3s0 = new NoViableAltException("", 3, 0, input); throw nvae_d3s0; } switch (alt3) { case 1 : // spinach.g:38:5: forexpr { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_forexpr_in_expr1140); forexpr8 = forexpr(); state.followingStackPointer--; adaptor.AddChild(root_0, forexpr8.Tree); retval.ret = ((forexpr8 != null) ? forexpr8.ret : null); } break; case 2 : // spinach.g:39:10: print { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_print_in_expr1152); print9 = print(); state.followingStackPointer--; adaptor.AddChild(root_0, print9.Tree); retval.ret = ((print9 != null) ? print9.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; }