All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.tapestry5.internal.antlr.PropertyExpressionParser Maven / Gradle / Ivy

Go to download

Central module for Tapestry, containing interfaces to the Java Servlet API and all core services and components.

There is a newer version: 5.8.6
Show newest version
// $ANTLR 3.1.1 org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g 2010-10-24 08:14:53

package org.apache.tapestry5.internal.antlr;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

import org.antlr.runtime.tree.*;

public class PropertyExpressionParser extends org.apache.tapestry5.internal.antlr.BaseParser {
    public static final String[] tokenNames = new String[] {
        "", "", "", "", "INTEGER", "DEREF", "RANGEOP", "DECIMAL", "LETTER", "DIGIT", "SIGN", "LPAREN", "RPAREN", "LBRACKET", "RBRACKET", "COMMA", "BANG", "QUOTE", "A", "E", "F", "H", "I", "L", "N", "R", "S", "T", "U", "NULL", "TRUE", "FALSE", "THIS", "JAVA_ID_START", "JAVA_ID_PART", "IDENTIFIER", "SAFEDEREF", "WS", "STRING", "NUMBER_OR_RANGEOP", "INVOKE", "LIST", "NOT"
    };
    public static final int SIGN=10;
    public static final int INTEGER=4;
    public static final int E=19;
    public static final int RANGEOP=6;
    public static final int F=20;
    public static final int JAVA_ID_PART=34;
    public static final int A=18;
    public static final int L=23;
    public static final int N=24;
    public static final int LETTER=8;
    public static final int H=21;
    public static final int NULL=29;
    public static final int I=22;
    public static final int U=28;
    public static final int T=27;
    public static final int DEREF=5;
    public static final int BANG=16;
    public static final int NOT=42;
    public static final int S=26;
    public static final int R=25;
    public static final int LIST=41;
    public static final int EOF=-1;
    public static final int TRUE=30;
    public static final int LPAREN=11;
    public static final int LBRACKET=13;
    public static final int QUOTE=17;
    public static final int RPAREN=12;
    public static final int WS=37;
    public static final int DECIMAL=7;
    public static final int SAFEDEREF=36;
    public static final int COMMA=15;
    public static final int IDENTIFIER=35;
    public static final int THIS=32;
    public static final int NUMBER_OR_RANGEOP=39;
    public static final int DIGIT=9;
    public static final int RBRACKET=14;
    public static final int INVOKE=40;
    public static final int FALSE=31;
    public static final int STRING=38;
    public static final int JAVA_ID_START=33;

    // delegates
    // delegators


        public PropertyExpressionParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public PropertyExpressionParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        
    protected TreeAdaptor adaptor = new CommonTreeAdaptor();

    public void setTreeAdaptor(TreeAdaptor adaptor) {
        this.adaptor = adaptor;
    }
    public TreeAdaptor getTreeAdaptor() {
        return adaptor;
    }

    public String[] getTokenNames() { return PropertyExpressionParser.tokenNames; }
    public String getGrammarFileName() { return "org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g"; }


    public static class start_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "start"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:43:1: start : expression EOF ;
    public final PropertyExpressionParser.start_return start() throws RecognitionException {
        PropertyExpressionParser.start_return retval = new PropertyExpressionParser.start_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token EOF2=null;
        PropertyExpressionParser.expression_return expression1 = null;


        CommonTree EOF2_tree=null;

        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:43:8: ( expression EOF )
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:43:10: expression EOF
            {
            root_0 = (CommonTree)adaptor.nil();

            pushFollow(FOLLOW_expression_in_start122);
            expression1=expression();

            state._fsp--;
            if (state.failed) return retval;
            if ( state.backtracking==0 ) root_0 = (CommonTree)adaptor.becomeRoot(expression1.getTree(), root_0);
            EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_start125); if (state.failed) return retval;

            }

            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 {
        }
        return retval;
    }
    // $ANTLR end "start"

    public static class expression_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "expression"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:45:1: expression : ( keyword | rangeOp | constant | propertyChain | list | notOp );
    public final PropertyExpressionParser.expression_return expression() throws RecognitionException {
        PropertyExpressionParser.expression_return retval = new PropertyExpressionParser.expression_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        PropertyExpressionParser.keyword_return keyword3 = null;

        PropertyExpressionParser.rangeOp_return rangeOp4 = null;

        PropertyExpressionParser.constant_return constant5 = null;

        PropertyExpressionParser.propertyChain_return propertyChain6 = null;

        PropertyExpressionParser.list_return list7 = null;

        PropertyExpressionParser.notOp_return notOp8 = null;



        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:46:2: ( keyword | rangeOp | constant | propertyChain | list | notOp )
            int alt1=6;
            switch ( input.LA(1) ) {
            case NULL:
            case TRUE:
            case FALSE:
            case THIS:
                {
                alt1=1;
                }
                break;
            case INTEGER:
                {
                int LA1_2 = input.LA(2);

                if ( (synpred2_PropertyExpressionParser()) ) {
                    alt1=2;
                }
                else if ( (synpred3_PropertyExpressionParser()) ) {
                    alt1=3;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return retval;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 2, input);

                    throw nvae;
                }
                }
                break;
            case IDENTIFIER:
                {
                int LA1_3 = input.LA(2);

                if ( (synpred2_PropertyExpressionParser()) ) {
                    alt1=2;
                }
                else if ( (synpred4_PropertyExpressionParser()) ) {
                    alt1=4;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return retval;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 3, input);

                    throw nvae;
                }
                }
                break;
            case DECIMAL:
            case STRING:
                {
                alt1=3;
                }
                break;
            case LBRACKET:
                {
                alt1=5;
                }
                break;
            case BANG:
                {
                alt1=6;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return retval;}
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:46:4: keyword
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_keyword_in_expression137);
                    keyword3=keyword();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, keyword3.getTree());

                    }
                    break;
                case 2 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:47:4: rangeOp
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_rangeOp_in_expression142);
                    rangeOp4=rangeOp();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, rangeOp4.getTree());

                    }
                    break;
                case 3 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:48:4: constant
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_constant_in_expression147);
                    constant5=constant();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, constant5.getTree());

                    }
                    break;
                case 4 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:49:4: propertyChain
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_propertyChain_in_expression152);
                    propertyChain6=propertyChain();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, propertyChain6.getTree());

                    }
                    break;
                case 5 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:50:4: list
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_list_in_expression157);
                    list7=list();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, list7.getTree());

                    }
                    break;
                case 6 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:51:4: notOp
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_notOp_in_expression162);
                    notOp8=notOp();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, notOp8.getTree());

                    }
                    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 {
        }
        return retval;
    }
    // $ANTLR end "expression"

    public static class keyword_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "keyword"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:54:1: keyword : ( NULL | TRUE | FALSE | THIS );
    public final PropertyExpressionParser.keyword_return keyword() throws RecognitionException {
        PropertyExpressionParser.keyword_return retval = new PropertyExpressionParser.keyword_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token set9=null;

        CommonTree set9_tree=null;

        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:54:9: ( NULL | TRUE | FALSE | THIS )
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:
            {
            root_0 = (CommonTree)adaptor.nil();

            set9=(Token)input.LT(1);
            if ( (input.LA(1)>=NULL && input.LA(1)<=THIS) ) {
                input.consume();
                if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set9));
                state.errorRecovery=false;state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

            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 {
        }
        return retval;
    }
    // $ANTLR end "keyword"

    public static class constant_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "constant"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:56:1: constant : ( INTEGER | DECIMAL | STRING );
    public final PropertyExpressionParser.constant_return constant() throws RecognitionException {
        PropertyExpressionParser.constant_return retval = new PropertyExpressionParser.constant_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token set10=null;

        CommonTree set10_tree=null;

        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:56:9: ( INTEGER | DECIMAL | STRING )
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:
            {
            root_0 = (CommonTree)adaptor.nil();

            set10=(Token)input.LT(1);
            if ( input.LA(1)==INTEGER||input.LA(1)==DECIMAL||input.LA(1)==STRING ) {
                input.consume();
                if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set10));
                state.errorRecovery=false;state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

            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 {
        }
        return retval;
    }
    // $ANTLR end "constant"

    public static class propertyChain_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "propertyChain"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:58:1: propertyChain : ( term DEREF propertyChain -> ^( DEREF term propertyChain ) | term SAFEDEREF propertyChain -> ^( SAFEDEREF term propertyChain ) | term );
    public final PropertyExpressionParser.propertyChain_return propertyChain() throws RecognitionException {
        PropertyExpressionParser.propertyChain_return retval = new PropertyExpressionParser.propertyChain_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token DEREF12=null;
        Token SAFEDEREF15=null;
        PropertyExpressionParser.term_return term11 = null;

        PropertyExpressionParser.propertyChain_return propertyChain13 = null;

        PropertyExpressionParser.term_return term14 = null;

        PropertyExpressionParser.propertyChain_return propertyChain16 = null;

        PropertyExpressionParser.term_return term17 = null;


        CommonTree DEREF12_tree=null;
        CommonTree SAFEDEREF15_tree=null;
        RewriteRuleTokenStream stream_DEREF=new RewriteRuleTokenStream(adaptor,"token DEREF");
        RewriteRuleTokenStream stream_SAFEDEREF=new RewriteRuleTokenStream(adaptor,"token SAFEDEREF");
        RewriteRuleSubtreeStream stream_propertyChain=new RewriteRuleSubtreeStream(adaptor,"rule propertyChain");
        RewriteRuleSubtreeStream stream_term=new RewriteRuleSubtreeStream(adaptor,"rule term");
        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:2: ( term DEREF propertyChain -> ^( DEREF term propertyChain ) | term SAFEDEREF propertyChain -> ^( SAFEDEREF term propertyChain ) | term )
            int alt2=3;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==IDENTIFIER) ) {
                int LA2_1 = input.LA(2);

                if ( (synpred11_PropertyExpressionParser()) ) {
                    alt2=1;
                }
                else if ( (synpred12_PropertyExpressionParser()) ) {
                    alt2=2;
                }
                else if ( (true) ) {
                    alt2=3;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return retval;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 2, 1, input);

                    throw nvae;
                }
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:4: term DEREF propertyChain
                    {
                    pushFollow(FOLLOW_term_in_propertyChain210);
                    term11=term();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) stream_term.add(term11.getTree());
                    DEREF12=(Token)match(input,DEREF,FOLLOW_DEREF_in_propertyChain212); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_DEREF.add(DEREF12);

                    pushFollow(FOLLOW_propertyChain_in_propertyChain214);
                    propertyChain13=propertyChain();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) stream_propertyChain.add(propertyChain13.getTree());


                    // AST REWRITE
                    // elements: term, propertyChain, DEREF
                    // token labels: 
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

                    root_0 = (CommonTree)adaptor.nil();
                    // 59:29: -> ^( DEREF term propertyChain )
                    {
                        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:32: ^( DEREF term propertyChain )
                        {
                        CommonTree root_1 = (CommonTree)adaptor.nil();
                        root_1 = (CommonTree)adaptor.becomeRoot(stream_DEREF.nextNode(), root_1);

                        adaptor.addChild(root_1, stream_term.nextTree());
                        adaptor.addChild(root_1, stream_propertyChain.nextTree());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;
                case 2 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:60:4: term SAFEDEREF propertyChain
                    {
                    pushFollow(FOLLOW_term_in_propertyChain229);
                    term14=term();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) stream_term.add(term14.getTree());
                    SAFEDEREF15=(Token)match(input,SAFEDEREF,FOLLOW_SAFEDEREF_in_propertyChain231); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_SAFEDEREF.add(SAFEDEREF15);

                    pushFollow(FOLLOW_propertyChain_in_propertyChain233);
                    propertyChain16=propertyChain();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) stream_propertyChain.add(propertyChain16.getTree());


                    // AST REWRITE
                    // elements: propertyChain, term, SAFEDEREF
                    // token labels: 
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

                    root_0 = (CommonTree)adaptor.nil();
                    // 60:33: -> ^( SAFEDEREF term propertyChain )
                    {
                        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:60:36: ^( SAFEDEREF term propertyChain )
                        {
                        CommonTree root_1 = (CommonTree)adaptor.nil();
                        root_1 = (CommonTree)adaptor.becomeRoot(stream_SAFEDEREF.nextNode(), root_1);

                        adaptor.addChild(root_1, stream_term.nextTree());
                        adaptor.addChild(root_1, stream_propertyChain.nextTree());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;
                case 3 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:61:4: term
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_term_in_propertyChain248);
                    term17=term();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, term17.getTree());

                    }
                    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 {
        }
        return retval;
    }
    // $ANTLR end "propertyChain"

    public static class term_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "term"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:64:1: term : ( IDENTIFIER | methodInvocation );
    public final PropertyExpressionParser.term_return term() throws RecognitionException {
        PropertyExpressionParser.term_return retval = new PropertyExpressionParser.term_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token IDENTIFIER18=null;
        PropertyExpressionParser.methodInvocation_return methodInvocation19 = null;


        CommonTree IDENTIFIER18_tree=null;

        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:64:6: ( IDENTIFIER | methodInvocation )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==IDENTIFIER) ) {
                int LA3_1 = input.LA(2);

                if ( (LA3_1==LPAREN) ) {
                    alt3=2;
                }
                else if ( (LA3_1==EOF||(LA3_1>=DEREF && LA3_1<=RANGEOP)||LA3_1==RPAREN||(LA3_1>=RBRACKET && LA3_1<=COMMA)||LA3_1==SAFEDEREF) ) {
                    alt3=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return retval;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 3, 1, input);

                    throw nvae;
                }
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:64:8: IDENTIFIER
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    IDENTIFIER18=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_term260); if (state.failed) return retval;
                    if ( state.backtracking==0 ) {
                    IDENTIFIER18_tree = (CommonTree)adaptor.create(IDENTIFIER18);
                    adaptor.addChild(root_0, IDENTIFIER18_tree);
                    }

                    }
                    break;
                case 2 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:65:4: methodInvocation
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_methodInvocation_in_term265);
                    methodInvocation19=methodInvocation();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, methodInvocation19.getTree());

                    }
                    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 {
        }
        return retval;
    }
    // $ANTLR end "term"

    public static class methodInvocation_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "methodInvocation"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:68:1: methodInvocation : (id= IDENTIFIER LPAREN RPAREN -> ^( INVOKE $id) | id= IDENTIFIER LPAREN expressionList RPAREN -> ^( INVOKE $id expressionList ) );
    public final PropertyExpressionParser.methodInvocation_return methodInvocation() throws RecognitionException {
        PropertyExpressionParser.methodInvocation_return retval = new PropertyExpressionParser.methodInvocation_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token id=null;
        Token LPAREN20=null;
        Token RPAREN21=null;
        Token LPAREN22=null;
        Token RPAREN24=null;
        PropertyExpressionParser.expressionList_return expressionList23 = null;


        CommonTree id_tree=null;
        CommonTree LPAREN20_tree=null;
        CommonTree RPAREN21_tree=null;
        CommonTree LPAREN22_tree=null;
        CommonTree RPAREN24_tree=null;
        RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
        RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
        RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
        RewriteRuleSubtreeStream stream_expressionList=new RewriteRuleSubtreeStream(adaptor,"rule expressionList");
        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:69:2: (id= IDENTIFIER LPAREN RPAREN -> ^( INVOKE $id) | id= IDENTIFIER LPAREN expressionList RPAREN -> ^( INVOKE $id expressionList ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==IDENTIFIER) ) {
                int LA4_1 = input.LA(2);

                if ( (LA4_1==LPAREN) ) {
                    int LA4_2 = input.LA(3);

                    if ( (LA4_2==RPAREN) ) {
                        alt4=1;
                    }
                    else if ( (LA4_2==INTEGER||LA4_2==DECIMAL||LA4_2==LBRACKET||LA4_2==BANG||(LA4_2>=NULL && LA4_2<=THIS)||LA4_2==IDENTIFIER||LA4_2==STRING) ) {
                        alt4=2;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return retval;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 4, 2, input);

                        throw nvae;
                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return retval;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 4, 1, input);

                    throw nvae;
                }
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:69:4: id= IDENTIFIER LPAREN RPAREN
                    {
                    id=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodInvocation279); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_IDENTIFIER.add(id);

                    LPAREN20=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_methodInvocation281); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN20);

                    RPAREN21=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_methodInvocation283); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN21);



                    // AST REWRITE
                    // elements: id
                    // token labels: id
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleTokenStream stream_id=new RewriteRuleTokenStream(adaptor,"token id",id);
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

                    root_0 = (CommonTree)adaptor.nil();
                    // 69:32: -> ^( INVOKE $id)
                    {
                        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:69:35: ^( INVOKE $id)
                        {
                        CommonTree root_1 = (CommonTree)adaptor.nil();
                        root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INVOKE, "INVOKE"), root_1);

                        adaptor.addChild(root_1, stream_id.nextNode());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;
                case 2 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:70:4: id= IDENTIFIER LPAREN expressionList RPAREN
                    {
                    id=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodInvocation299); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_IDENTIFIER.add(id);

                    LPAREN22=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_methodInvocation301); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN22);

                    pushFollow(FOLLOW_expressionList_in_methodInvocation303);
                    expressionList23=expressionList();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) stream_expressionList.add(expressionList23.getTree());
                    RPAREN24=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_methodInvocation305); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN24);



                    // AST REWRITE
                    // elements: expressionList, id
                    // token labels: id
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleTokenStream stream_id=new RewriteRuleTokenStream(adaptor,"token id",id);
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

                    root_0 = (CommonTree)adaptor.nil();
                    // 70:47: -> ^( INVOKE $id expressionList )
                    {
                        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:70:50: ^( INVOKE $id expressionList )
                        {
                        CommonTree root_1 = (CommonTree)adaptor.nil();
                        root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INVOKE, "INVOKE"), root_1);

                        adaptor.addChild(root_1, stream_id.nextNode());
                        adaptor.addChild(root_1, stream_expressionList.nextTree());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    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 {
        }
        return retval;
    }
    // $ANTLR end "methodInvocation"

    public static class expressionList_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "expressionList"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:73:1: expressionList : expression ( COMMA expression )* ;
    public final PropertyExpressionParser.expressionList_return expressionList() throws RecognitionException {
        PropertyExpressionParser.expressionList_return retval = new PropertyExpressionParser.expressionList_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token COMMA26=null;
        PropertyExpressionParser.expression_return expression25 = null;

        PropertyExpressionParser.expression_return expression27 = null;


        CommonTree COMMA26_tree=null;

        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:74:2: ( expression ( COMMA expression )* )
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:74:4: expression ( COMMA expression )*
            {
            root_0 = (CommonTree)adaptor.nil();

            pushFollow(FOLLOW_expression_in_expressionList329);
            expression25=expression();

            state._fsp--;
            if (state.failed) return retval;
            if ( state.backtracking==0 ) adaptor.addChild(root_0, expression25.getTree());
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:74:15: ( COMMA expression )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==COMMA) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:74:16: COMMA expression
            	    {
            	    COMMA26=(Token)match(input,COMMA,FOLLOW_COMMA_in_expressionList332); if (state.failed) return retval;
            	    pushFollow(FOLLOW_expression_in_expressionList335);
            	    expression27=expression();

            	    state._fsp--;
            	    if (state.failed) return retval;
            	    if ( state.backtracking==0 ) adaptor.addChild(root_0, expression27.getTree());

            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            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 {
        }
        return retval;
    }
    // $ANTLR end "expressionList"

    public static class rangeOp_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "rangeOp"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:77:1: rangeOp : from= rangeopArg RANGEOP to= rangeopArg -> ^( RANGEOP $from $to) ;
    public final PropertyExpressionParser.rangeOp_return rangeOp() throws RecognitionException {
        PropertyExpressionParser.rangeOp_return retval = new PropertyExpressionParser.rangeOp_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token RANGEOP28=null;
        PropertyExpressionParser.rangeopArg_return from = null;

        PropertyExpressionParser.rangeopArg_return to = null;


        CommonTree RANGEOP28_tree=null;
        RewriteRuleTokenStream stream_RANGEOP=new RewriteRuleTokenStream(adaptor,"token RANGEOP");
        RewriteRuleSubtreeStream stream_rangeopArg=new RewriteRuleSubtreeStream(adaptor,"rule rangeopArg");
        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:78:2: (from= rangeopArg RANGEOP to= rangeopArg -> ^( RANGEOP $from $to) )
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:78:4: from= rangeopArg RANGEOP to= rangeopArg
            {
            pushFollow(FOLLOW_rangeopArg_in_rangeOp352);
            from=rangeopArg();

            state._fsp--;
            if (state.failed) return retval;
            if ( state.backtracking==0 ) stream_rangeopArg.add(from.getTree());
            RANGEOP28=(Token)match(input,RANGEOP,FOLLOW_RANGEOP_in_rangeOp355); if (state.failed) return retval; 
            if ( state.backtracking==0 ) stream_RANGEOP.add(RANGEOP28);

            pushFollow(FOLLOW_rangeopArg_in_rangeOp359);
            to=rangeopArg();

            state._fsp--;
            if (state.failed) return retval;
            if ( state.backtracking==0 ) stream_rangeopArg.add(to.getTree());


            // AST REWRITE
            // elements: from, RANGEOP, to
            // token labels: 
            // rule labels: to, retval, from
            // token list labels: 
            // rule list labels: 
            if ( state.backtracking==0 ) {
            retval.tree = root_0;
            RewriteRuleSubtreeStream stream_to=new RewriteRuleSubtreeStream(adaptor,"token to",to!=null?to.tree:null);
            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
            RewriteRuleSubtreeStream stream_from=new RewriteRuleSubtreeStream(adaptor,"token from",from!=null?from.tree:null);

            root_0 = (CommonTree)adaptor.nil();
            // 78:43: -> ^( RANGEOP $from $to)
            {
                // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:78:46: ^( RANGEOP $from $to)
                {
                CommonTree root_1 = (CommonTree)adaptor.nil();
                root_1 = (CommonTree)adaptor.becomeRoot(stream_RANGEOP.nextNode(), root_1);

                adaptor.addChild(root_1, stream_from.nextTree());
                adaptor.addChild(root_1, stream_to.nextTree());

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            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 {
        }
        return retval;
    }
    // $ANTLR end "rangeOp"

    public static class rangeopArg_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "rangeopArg"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:81:1: rangeopArg : ( INTEGER | propertyChain );
    public final PropertyExpressionParser.rangeopArg_return rangeopArg() throws RecognitionException {
        PropertyExpressionParser.rangeopArg_return retval = new PropertyExpressionParser.rangeopArg_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token INTEGER29=null;
        PropertyExpressionParser.propertyChain_return propertyChain30 = null;


        CommonTree INTEGER29_tree=null;

        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:82:2: ( INTEGER | propertyChain )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==INTEGER) ) {
                alt6=1;
            }
            else if ( (LA6_0==IDENTIFIER) ) {
                alt6=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:82:4: INTEGER
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    INTEGER29=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_rangeopArg385); if (state.failed) return retval;
                    if ( state.backtracking==0 ) {
                    INTEGER29_tree = (CommonTree)adaptor.create(INTEGER29);
                    adaptor.addChild(root_0, INTEGER29_tree);
                    }

                    }
                    break;
                case 2 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:83:4: propertyChain
                    {
                    root_0 = (CommonTree)adaptor.nil();

                    pushFollow(FOLLOW_propertyChain_in_rangeopArg390);
                    propertyChain30=propertyChain();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, propertyChain30.getTree());

                    }
                    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 {
        }
        return retval;
    }
    // $ANTLR end "rangeopArg"

    public static class list_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "list"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:86:1: list : ( LBRACKET RBRACKET -> ^( LIST ) | LBRACKET expressionList RBRACKET -> ^( LIST expressionList ) );
    public final PropertyExpressionParser.list_return list() throws RecognitionException {
        PropertyExpressionParser.list_return retval = new PropertyExpressionParser.list_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token LBRACKET31=null;
        Token RBRACKET32=null;
        Token LBRACKET33=null;
        Token RBRACKET35=null;
        PropertyExpressionParser.expressionList_return expressionList34 = null;


        CommonTree LBRACKET31_tree=null;
        CommonTree RBRACKET32_tree=null;
        CommonTree LBRACKET33_tree=null;
        CommonTree RBRACKET35_tree=null;
        RewriteRuleTokenStream stream_LBRACKET=new RewriteRuleTokenStream(adaptor,"token LBRACKET");
        RewriteRuleTokenStream stream_RBRACKET=new RewriteRuleTokenStream(adaptor,"token RBRACKET");
        RewriteRuleSubtreeStream stream_expressionList=new RewriteRuleSubtreeStream(adaptor,"rule expressionList");
        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:86:6: ( LBRACKET RBRACKET -> ^( LIST ) | LBRACKET expressionList RBRACKET -> ^( LIST expressionList ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==LBRACKET) ) {
                int LA7_1 = input.LA(2);

                if ( (LA7_1==RBRACKET) ) {
                    alt7=1;
                }
                else if ( (LA7_1==INTEGER||LA7_1==DECIMAL||LA7_1==LBRACKET||LA7_1==BANG||(LA7_1>=NULL && LA7_1<=THIS)||LA7_1==IDENTIFIER||LA7_1==STRING) ) {
                    alt7=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return retval;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 7, 1, input);

                    throw nvae;
                }
            }
            else {
                if (state.backtracking>0) {state.failed=true; return retval;}
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:86:8: LBRACKET RBRACKET
                    {
                    LBRACKET31=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_list402); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_LBRACKET.add(LBRACKET31);

                    RBRACKET32=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_list404); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_RBRACKET.add(RBRACKET32);



                    // AST REWRITE
                    // elements: 
                    // token labels: 
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

                    root_0 = (CommonTree)adaptor.nil();
                    // 86:26: -> ^( LIST )
                    {
                        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:86:29: ^( LIST )
                        {
                        CommonTree root_1 = (CommonTree)adaptor.nil();
                        root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(LIST, "LIST"), root_1);

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;
                case 2 :
                    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:87:4: LBRACKET expressionList RBRACKET
                    {
                    LBRACKET33=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_list415); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_LBRACKET.add(LBRACKET33);

                    pushFollow(FOLLOW_expressionList_in_list417);
                    expressionList34=expressionList();

                    state._fsp--;
                    if (state.failed) return retval;
                    if ( state.backtracking==0 ) stream_expressionList.add(expressionList34.getTree());
                    RBRACKET35=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_list419); if (state.failed) return retval; 
                    if ( state.backtracking==0 ) stream_RBRACKET.add(RBRACKET35);



                    // AST REWRITE
                    // elements: expressionList
                    // token labels: 
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

                    root_0 = (CommonTree)adaptor.nil();
                    // 87:37: -> ^( LIST expressionList )
                    {
                        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:87:40: ^( LIST expressionList )
                        {
                        CommonTree root_1 = (CommonTree)adaptor.nil();
                        root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(LIST, "LIST"), root_1);

                        adaptor.addChild(root_1, stream_expressionList.nextTree());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    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 {
        }
        return retval;
    }
    // $ANTLR end "list"

    public static class notOp_return extends ParserRuleReturnScope {
        CommonTree tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "notOp"
    // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:91:1: notOp : BANG expression -> ^( NOT expression ) ;
    public final PropertyExpressionParser.notOp_return notOp() throws RecognitionException {
        PropertyExpressionParser.notOp_return retval = new PropertyExpressionParser.notOp_return();
        retval.start = input.LT(1);

        CommonTree root_0 = null;

        Token BANG36=null;
        PropertyExpressionParser.expression_return expression37 = null;


        CommonTree BANG36_tree=null;
        RewriteRuleTokenStream stream_BANG=new RewriteRuleTokenStream(adaptor,"token BANG");
        RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression");
        try {
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:91:8: ( BANG expression -> ^( NOT expression ) )
            // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:91:10: BANG expression
            {
            BANG36=(Token)match(input,BANG,FOLLOW_BANG_in_notOp442); if (state.failed) return retval; 
            if ( state.backtracking==0 ) stream_BANG.add(BANG36);

            pushFollow(FOLLOW_expression_in_notOp444);
            expression37=expression();

            state._fsp--;
            if (state.failed) return retval;
            if ( state.backtracking==0 ) stream_expression.add(expression37.getTree());


            // AST REWRITE
            // elements: expression
            // token labels: 
            // rule labels: retval
            // token list labels: 
            // rule list labels: 
            if ( state.backtracking==0 ) {
            retval.tree = root_0;
            RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);

            root_0 = (CommonTree)adaptor.nil();
            // 91:26: -> ^( NOT expression )
            {
                // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:91:29: ^( NOT expression )
                {
                CommonTree root_1 = (CommonTree)adaptor.nil();
                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(NOT, "NOT"), root_1);

                adaptor.addChild(root_1, stream_expression.nextTree());

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            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 {
        }
        return retval;
    }
    // $ANTLR end "notOp"

    // $ANTLR start synpred2_PropertyExpressionParser
    public final void synpred2_PropertyExpressionParser_fragment() throws RecognitionException {   
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:47:4: ( rangeOp )
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:47:4: rangeOp
        {
        pushFollow(FOLLOW_rangeOp_in_synpred2_PropertyExpressionParser142);
        rangeOp();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred2_PropertyExpressionParser

    // $ANTLR start synpred3_PropertyExpressionParser
    public final void synpred3_PropertyExpressionParser_fragment() throws RecognitionException {   
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:48:4: ( constant )
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:48:4: constant
        {
        pushFollow(FOLLOW_constant_in_synpred3_PropertyExpressionParser147);
        constant();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred3_PropertyExpressionParser

    // $ANTLR start synpred4_PropertyExpressionParser
    public final void synpred4_PropertyExpressionParser_fragment() throws RecognitionException {   
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:49:4: ( propertyChain )
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:49:4: propertyChain
        {
        pushFollow(FOLLOW_propertyChain_in_synpred4_PropertyExpressionParser152);
        propertyChain();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred4_PropertyExpressionParser

    // $ANTLR start synpred11_PropertyExpressionParser
    public final void synpred11_PropertyExpressionParser_fragment() throws RecognitionException {   
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:4: ( term DEREF propertyChain )
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:4: term DEREF propertyChain
        {
        pushFollow(FOLLOW_term_in_synpred11_PropertyExpressionParser210);
        term();

        state._fsp--;
        if (state.failed) return ;
        match(input,DEREF,FOLLOW_DEREF_in_synpred11_PropertyExpressionParser212); if (state.failed) return ;
        pushFollow(FOLLOW_propertyChain_in_synpred11_PropertyExpressionParser214);
        propertyChain();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred11_PropertyExpressionParser

    // $ANTLR start synpred12_PropertyExpressionParser
    public final void synpred12_PropertyExpressionParser_fragment() throws RecognitionException {   
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:60:4: ( term SAFEDEREF propertyChain )
        // org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:60:4: term SAFEDEREF propertyChain
        {
        pushFollow(FOLLOW_term_in_synpred12_PropertyExpressionParser229);
        term();

        state._fsp--;
        if (state.failed) return ;
        match(input,SAFEDEREF,FOLLOW_SAFEDEREF_in_synpred12_PropertyExpressionParser231); if (state.failed) return ;
        pushFollow(FOLLOW_propertyChain_in_synpred12_PropertyExpressionParser233);
        propertyChain();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred12_PropertyExpressionParser

    // Delegated rules

    public final boolean synpred4_PropertyExpressionParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred4_PropertyExpressionParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred12_PropertyExpressionParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred12_PropertyExpressionParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred3_PropertyExpressionParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred3_PropertyExpressionParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred2_PropertyExpressionParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred2_PropertyExpressionParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred11_PropertyExpressionParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred11_PropertyExpressionParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }


 

    public static final BitSet FOLLOW_expression_in_start122 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_start125 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_keyword_in_expression137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rangeOp_in_expression142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_constant_in_expression147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_propertyChain_in_expression152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_list_in_expression157 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_notOp_in_expression162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_keyword0 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_constant0 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_term_in_propertyChain210 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_DEREF_in_propertyChain212 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_propertyChain_in_propertyChain214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_term_in_propertyChain229 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_SAFEDEREF_in_propertyChain231 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_propertyChain_in_propertyChain233 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_term_in_propertyChain248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_term260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_methodInvocation_in_term265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_methodInvocation279 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_LPAREN_in_methodInvocation281 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_RPAREN_in_methodInvocation283 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_methodInvocation299 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_LPAREN_in_methodInvocation301 = new BitSet(new long[]{0x00000049E0012090L});
    public static final BitSet FOLLOW_expressionList_in_methodInvocation303 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_RPAREN_in_methodInvocation305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_expression_in_expressionList329 = new BitSet(new long[]{0x0000000000008002L});
    public static final BitSet FOLLOW_COMMA_in_expressionList332 = new BitSet(new long[]{0x00000049E0012090L});
    public static final BitSet FOLLOW_expression_in_expressionList335 = new BitSet(new long[]{0x0000000000008002L});
    public static final BitSet FOLLOW_rangeopArg_in_rangeOp352 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_RANGEOP_in_rangeOp355 = new BitSet(new long[]{0x0000000800000010L});
    public static final BitSet FOLLOW_rangeopArg_in_rangeOp359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INTEGER_in_rangeopArg385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_propertyChain_in_rangeopArg390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LBRACKET_in_list402 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_RBRACKET_in_list404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LBRACKET_in_list415 = new BitSet(new long[]{0x00000049E0012090L});
    public static final BitSet FOLLOW_expressionList_in_list417 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_RBRACKET_in_list419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BANG_in_notOp442 = new BitSet(new long[]{0x00000049E0012090L});
    public static final BitSet FOLLOW_expression_in_notOp444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rangeOp_in_synpred2_PropertyExpressionParser142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_constant_in_synpred3_PropertyExpressionParser147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_propertyChain_in_synpred4_PropertyExpressionParser152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_term_in_synpred11_PropertyExpressionParser210 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_DEREF_in_synpred11_PropertyExpressionParser212 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_propertyChain_in_synpred11_PropertyExpressionParser214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_term_in_synpred12_PropertyExpressionParser229 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_SAFEDEREF_in_synpred12_PropertyExpressionParser231 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_propertyChain_in_synpred12_PropertyExpressionParser233 = new BitSet(new long[]{0x0000000000000002L});

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy