// $ANTLR start "term" // antlr_temp_dir\\MathExpr.g:84:1: term : add ; public MathExprParser.term_return term() // throws RecognitionException [1] { MathExprParser.term_return retval = new MathExprParser.term_return(); retval.Start = input.LT(1); object root_0 = null; MathExprParser.add_return add12 = default(MathExprParser.add_return); try { // antlr_temp_dir\\MathExpr.g:84:5: ( add ) // antlr_temp_dir\\MathExpr.g:84:7: add { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_add_in_term452); add12 = add(); state.followingStackPointer--; adaptor.AddChild(root_0, add12.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 "term" // MathExpr.g:106:1: term : or_logic ; public MathExprParser.term_return term() // throws RecognitionException [1] { MathExprParser.term_return retval = new MathExprParser.term_return(); retval.Start = input.LT(1); int term_StartIndex = input.Index(); AstNode root_0 = null; MathExprParser.or_logic_return or_logic35 = default(MathExprParser.or_logic_return); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 11) ) { return retval; } // MathExpr.g:106:5: ( or_logic ) // MathExpr.g:106:7: or_logic { root_0 = (AstNode)adaptor.GetNilNode(); PushFollow(FOLLOW_or_logic_in_term1160); or_logic35 = or_logic(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, or_logic35.Tree); } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (AstNode)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 = (AstNode)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 11, term_StartIndex); } } return retval; }