// $ANTLR start "expression" // SimpleExpression.g3:43:0: public expression : additive_expression EOF ; public SimpleExpressionParser.expression_return expression() { SimpleExpressionParser.expression_return retval = new SimpleExpressionParser.expression_return(); retval.start = input.LT(1); CommonTree root_0 = null; IToken EOF2 = null; SimpleExpressionParser.additive_expression_return additive_expression1 = default(SimpleExpressionParser.additive_expression_return); CommonTree EOF2_tree = null; try { // SimpleExpression.g3:44:4: ( additive_expression EOF ) // SimpleExpression.g3:44:4: additive_expression EOF { root_0 = (CommonTree)adaptor.Nil(); PushFollow(Follow._additive_expression_in_expression39); additive_expression1 = additive_expression(); PopFollow(); adaptor.AddChild(root_0, additive_expression1.Tree); EOF2 = (IToken)Match(input, EOF, Follow._EOF_in_expression43); EOF2_tree = (CommonTree)adaptor.Create(EOF2); adaptor.AddChild(root_0, EOF2_tree); } retval.stop = input.LT(-1); 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 { } return(retval); }
// $ANTLR start "additive_expression" // SimpleExpression.g3:48:0: additive_expression : multiplicative_expression ( ( '+' | '-' ) multiplicative_expression )* ; private SimpleExpressionParser.additive_expression_return additive_expression() { SimpleExpressionParser.additive_expression_return retval = new SimpleExpressionParser.additive_expression_return(); retval.start = input.LT(1); CommonTree root_0 = null; IToken char_literal4 = null; IToken char_literal5 = null; SimpleExpressionParser.multiplicative_expression_return multiplicative_expression3 = default(SimpleExpressionParser.multiplicative_expression_return); SimpleExpressionParser.multiplicative_expression_return multiplicative_expression6 = default(SimpleExpressionParser.multiplicative_expression_return); CommonTree char_literal4_tree = null; CommonTree char_literal5_tree = null; try { // SimpleExpression.g3:49:4: ( multiplicative_expression ( ( '+' | '-' ) multiplicative_expression )* ) // SimpleExpression.g3:49:4: multiplicative_expression ( ( '+' | '-' ) multiplicative_expression )* { root_0 = (CommonTree)adaptor.Nil(); PushFollow(Follow._multiplicative_expression_in_additive_expression54); multiplicative_expression3 = multiplicative_expression(); PopFollow(); adaptor.AddChild(root_0, multiplicative_expression3.Tree); // SimpleExpression.g3:50:3: ( ( '+' | '-' ) multiplicative_expression )* while (true) { int alt2 = 2; int LA2_0 = input.LA(1); if ((LA2_0 == 7 || LA2_0 == 11)) { alt2 = 1; } switch (alt2) { case 1: // SimpleExpression.g3:50:5: ( '+' | '-' ) multiplicative_expression { // SimpleExpression.g3:50:5: ( '+' | '-' ) int alt1 = 2; int LA1_0 = input.LA(1); if ((LA1_0 == 11)) { alt1 = 1; } else if ((LA1_0 == 7)) { alt1 = 2; } else { NoViableAltException nvae = new NoViableAltException("", 1, 0, input); throw nvae; } switch (alt1) { case 1: // SimpleExpression.g3:50:6: '+' { char_literal4 = (IToken)Match(input, 11, Follow._11_in_additive_expression61); char_literal4_tree = (CommonTree)adaptor.Create(char_literal4); root_0 = (CommonTree)adaptor.BecomeRoot(char_literal4_tree, root_0); } break; case 2: // SimpleExpression.g3:50:13: '-' { char_literal5 = (IToken)Match(input, 7, Follow._7_in_additive_expression66); char_literal5_tree = (CommonTree)adaptor.Create(char_literal5); root_0 = (CommonTree)adaptor.BecomeRoot(char_literal5_tree, root_0); } break; } PushFollow(Follow._multiplicative_expression_in_additive_expression73); multiplicative_expression6 = multiplicative_expression(); PopFollow(); adaptor.AddChild(root_0, multiplicative_expression6.Tree); } break; default: goto loop2; } } loop2: ; } retval.stop = input.LT(-1); 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 { } return(retval); }
// $ANTLR start "additive_expression" // SimpleExpression.g3:48:0: additive_expression : multiplicative_expression ( ( '+' | '-' ) multiplicative_expression )* ; private SimpleExpressionParser.additive_expression_return additive_expression() { SimpleExpressionParser.additive_expression_return retval = new SimpleExpressionParser.additive_expression_return(); retval.start = input.LT(1); CommonTree root_0 = null; IToken char_literal4=null; IToken char_literal5=null; SimpleExpressionParser.multiplicative_expression_return multiplicative_expression3 = default(SimpleExpressionParser.multiplicative_expression_return); SimpleExpressionParser.multiplicative_expression_return multiplicative_expression6 = default(SimpleExpressionParser.multiplicative_expression_return); CommonTree char_literal4_tree=null; CommonTree char_literal5_tree=null; try { // SimpleExpression.g3:49:4: ( multiplicative_expression ( ( '+' | '-' ) multiplicative_expression )* ) // SimpleExpression.g3:49:4: multiplicative_expression ( ( '+' | '-' ) multiplicative_expression )* { root_0 = (CommonTree)adaptor.Nil(); PushFollow(Follow._multiplicative_expression_in_additive_expression54); multiplicative_expression3=multiplicative_expression(); PopFollow(); adaptor.AddChild(root_0, multiplicative_expression3.Tree); // SimpleExpression.g3:50:3: ( ( '+' | '-' ) multiplicative_expression )* while (true) { int alt2=2; int LA2_0 = input.LA(1); if ((LA2_0==7||LA2_0==11)) { alt2=1; } switch ( alt2 ) { case 1: // SimpleExpression.g3:50:5: ( '+' | '-' ) multiplicative_expression { // SimpleExpression.g3:50:5: ( '+' | '-' ) int alt1=2; int LA1_0 = input.LA(1); if ((LA1_0==11)) { alt1=1; } else if ((LA1_0==7)) { alt1=2; } else { NoViableAltException nvae = new NoViableAltException("", 1, 0, input); throw nvae; } switch (alt1) { case 1: // SimpleExpression.g3:50:6: '+' { char_literal4=(IToken)Match(input,11,Follow._11_in_additive_expression61); char_literal4_tree = (CommonTree)adaptor.Create(char_literal4); root_0 = (CommonTree)adaptor.BecomeRoot(char_literal4_tree, root_0); } break; case 2: // SimpleExpression.g3:50:13: '-' { char_literal5=(IToken)Match(input,7,Follow._7_in_additive_expression66); char_literal5_tree = (CommonTree)adaptor.Create(char_literal5); root_0 = (CommonTree)adaptor.BecomeRoot(char_literal5_tree, root_0); } break; } PushFollow(Follow._multiplicative_expression_in_additive_expression73); multiplicative_expression6=multiplicative_expression(); PopFollow(); adaptor.AddChild(root_0, multiplicative_expression6.Tree); } break; default: goto loop2; } } loop2: ; } retval.stop = input.LT(-1); 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 { } return retval; }