// $ANTLR start "sentence" // abevformula.g:28:0: sentence : STRING ; private abevformulaParser.sentence_return sentence( ) { abevformulaParser.sentence_return retval = new abevformulaParser.sentence_return(); retval.start = input.LT(1); int sentence_StartIndex = input.Index; CommonTree root_0 = null; IToken STRING12 = null; CommonTree STRING12_tree = null; try { if (state.backtracking > 0 && AlreadyParsedRule(input, 6)) { return(retval); } // abevformula.g:28:12: ( STRING ) // abevformula.g:28:12: STRING { root_0 = (CommonTree)adaptor.Nil(); STRING12 = (IToken)Match(input, STRING, Follow._STRING_in_sentence171); if (state.failed) { return(retval); } if (state.backtracking == 0) { STRING12_tree = (CommonTree)adaptor.Create(STRING12); adaptor.AddChild(root_0, STRING12_tree); } } retval.stop = input.LT(-1); if (state.backtracking == 0) { retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { ReportError(re); Recover(input, re); retval.tree = (CommonTree)adaptor.ErrorNode(input, retval.start, input.LT(-1), re); } finally { if (state.backtracking > 0) { Memoize(input, 6, sentence_StartIndex); } } return(retval); }
// $ANTLR start "param" // abevformula.g:29:0: param : ( word | sentence | funcwithparams ); private abevformulaParser.param_return param( ) { abevformulaParser.param_return retval = new abevformulaParser.param_return(); retval.start = input.LT(1); int param_StartIndex = input.Index; CommonTree root_0 = null; abevformulaParser.word_return word13 = default(abevformulaParser.word_return); abevformulaParser.sentence_return sentence14 = default(abevformulaParser.sentence_return); abevformulaParser.funcwithparams_return funcwithparams15 = default(abevformulaParser.funcwithparams_return); try { if (state.backtracking > 0 && AlreadyParsedRule(input, 7)) { return(retval); } // abevformula.g:29:10: ( word | sentence | funcwithparams ) int alt2 = 3; switch (input.LA(1)) { case WORD: { alt2 = 1; } break; case STRING: { alt2 = 2; } break; case 9: { alt2 = 3; } break; default: { if (state.backtracking > 0) { state.failed = true; return(retval); } NoViableAltException nvae = new NoViableAltException("", 2, 0, input); throw nvae; } } switch (alt2) { case 1: // abevformula.g:29:10: word { root_0 = (CommonTree)adaptor.Nil(); PushFollow(Follow._word_in_param180); word13 = word(); state._fsp--; if (state.failed) { return(retval); } if (state.backtracking == 0) { adaptor.AddChild(root_0, word13.Tree); } } break; case 2: // abevformula.g:30:6: sentence { root_0 = (CommonTree)adaptor.Nil(); PushFollow(Follow._sentence_in_param188); sentence14 = sentence(); state._fsp--; if (state.failed) { return(retval); } if (state.backtracking == 0) { adaptor.AddChild(root_0, sentence14.Tree); } } break; case 3: // abevformula.g:31:6: funcwithparams { root_0 = (CommonTree)adaptor.Nil(); PushFollow(Follow._funcwithparams_in_param195); funcwithparams15 = funcwithparams(); state._fsp--; if (state.failed) { return(retval); } if (state.backtracking == 0) { adaptor.AddChild(root_0, funcwithparams15.Tree); } } break; } retval.stop = input.LT(-1); if (state.backtracking == 0) { retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.tree, retval.start, retval.stop); } } catch (RecognitionException re) { ReportError(re); Recover(input, re); retval.tree = (CommonTree)adaptor.ErrorNode(input, retval.start, input.LT(-1), re); } finally { if (state.backtracking > 0) { Memoize(input, 7, param_StartIndex); } } return(retval); }