    001    // $ANTLR 3.3 Nov 30, 2010 12:46:29 C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g 2014-11-20 09:03:03
    002
    003    package org.apache.tapestry5.internal.antlr;
    004
    005
    006    import org.antlr.runtime.*;
    007    import java.util.Stack;
    008    import java.util.List;
    009    import java.util.ArrayList;
    010
    011    public class PropertyExpressionLexer extends org.apache.tapestry5.internal.antlr.BaseLexer {
    012        public static final int EOF=-1;
    013        public static final int INTEGER=4;
    014        public static final int DEREF=5;
    015        public static final int RANGEOP=6;
    016        public static final int DECIMAL=7;
    017        public static final int LETTER=8;
    018        public static final int DIGIT=9;
    019        public static final int SIGN=10;
    020        public static final int LPAREN=11;
    021        public static final int RPAREN=12;
    022        public static final int LBRACKET=13;
    023        public static final int RBRACKET=14;
    024        public static final int COMMA=15;
    025        public static final int BANG=16;
    026        public static final int LBRACE=17;
    027        public static final int RBRACE=18;
    028        public static final int COLON=19;
    029        public static final int QUOTE=20;
    030        public static final int A=21;
    031        public static final int E=22;
    032        public static final int F=23;
    033        public static final int H=24;
    034        public static final int I=25;
    035        public static final int L=26;
    036        public static final int N=27;
    037        public static final int R=28;
    038        public static final int S=29;
    039        public static final int T=30;
    040        public static final int U=31;
    041        public static final int NULL=32;
    042        public static final int TRUE=33;
    043        public static final int FALSE=34;
    044        public static final int THIS=35;
    045        public static final int JAVA_ID_START=36;
    046        public static final int JAVA_ID_PART=37;
    047        public static final int IDENTIFIER=38;
    048        public static final int SAFEDEREF=39;
    049        public static final int WS=40;
    050        public static final int STRING=41;
    051        public static final int NUMBER_OR_RANGEOP=42;
    052
    053        // delegates
    054        // delegators
    055
    056        public PropertyExpressionLexer() {;}
    057        public PropertyExpressionLexer(CharStream input) {
    058            this(input, new RecognizerSharedState());
    059        }
    060        public PropertyExpressionLexer(CharStream input, RecognizerSharedState state) {
    061            super(input,state);
    062
    063        }
    064        public String getGrammarFileName() { return "C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g"; }
    065
    066        // $ANTLR start "INTEGER"
    067        public final void mINTEGER() throws RecognitionException {
    068            try {
    069                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:31:2: ()
    070                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:31:4:
    071                {
    072                this.getClass(); /* Fix java.lang.VerifyError: Stack size too large */
    073
    074                }
    075
    076            }
    077            finally {
    078            }
    079        }
    080        // $ANTLR end "INTEGER"
    081
    082        // $ANTLR start "DEREF"
    083        public final void mDEREF() throws RecognitionException {
    084            try {
    085                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:35:2: ()
    086                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:35:4:
    087                {
    088                this.getClass(); /* Fix java.lang.VerifyError: Stack size too large */
    089
    090                }
    091
    092            }
    093            finally {
    094            }
    095        }
    096        // $ANTLR end "DEREF"
    097
    098        // $ANTLR start "RANGEOP"
    099        public final void mRANGEOP() throws RecognitionException {
    100            try {
    101                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:39:2: ()
    102                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:39:4:
    103                {
    104                this.getClass(); /* Fix java.lang.VerifyError: Stack size too large */
    105
    106                }
    107
    108            }
    109            finally {
    110            }
    111        }
    112        // $ANTLR end "RANGEOP"
    113
    114        // $ANTLR start "DECIMAL"
    115        public final void mDECIMAL() throws RecognitionException {
    116            try {
    117                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:43:2: ()
    118                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:43:4:
    119                {
    120                this.getClass(); /* Fix java.lang.VerifyError: Stack size too large */
    121
    122                }
    123
    124            }
    125            finally {
    126            }
    127        }
    128        // $ANTLR end "DECIMAL"
    129
    130        // $ANTLR start "LETTER"
    131        public final void mLETTER() throws RecognitionException {
    132            try {
    133                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:46:2: ( ( 'a' .. 'z' | 'A' .. 'Z' ) )
    134                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:46:4: ( 'a' .. 'z' | 'A' .. 'Z' )
    135                {
    136                if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
    137                    input.consume();
    138
    139                }
    140                else {
    141                    MismatchedSetException mse = new MismatchedSetException(null,input);
    142                    recover(mse);
    143                    throw mse;}
    144
    145
    146                }
    147
    148            }
    149            finally {
    150            }
    151        }
    152        // $ANTLR end "LETTER"
    153
    154        // $ANTLR start "DIGIT"
    155        public final void mDIGIT() throws RecognitionException {
    156            try {
    157                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:48:2: ( '0' .. '9' )
    158                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:48:4: '0' .. '9'
    159                {
    160                matchRange('0','9');
    161
    162                }
    163
    164            }
    165            finally {
    166            }
    167        }
    168        // $ANTLR end "DIGIT"
    169
    170        // $ANTLR start "SIGN"
    171        public final void mSIGN() throws RecognitionException {
    172            try {
    173                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:50:2: ( ( '+' | '-' ) )
    174                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:50:4: ( '+' | '-' )
    175                {
    176                if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
    177                    input.consume();
    178
    179                }
    180                else {
    181                    MismatchedSetException mse = new MismatchedSetException(null,input);
    182                    recover(mse);
    183                    throw mse;}
    184
    185
    186                }
    187
    188            }
    189            finally {
    190            }
    191        }
    192        // $ANTLR end "SIGN"
    193
    194        // $ANTLR start "LPAREN"
    195        public final void mLPAREN() throws RecognitionException {
    196            try {
    197                int _type = LPAREN;
    198                int _channel = DEFAULT_TOKEN_CHANNEL;
    199                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:51:9: ( '(' )
    200                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:51:11: '('
    201                {
    202                match('(');
    203
    204                }
    205
    206                state.type = _type;
    207                state.channel = _channel;
    208            }
    209            finally {
    210            }
    211        }
    212        // $ANTLR end "LPAREN"
    213
    214        // $ANTLR start "RPAREN"
    215        public final void mRPAREN() throws RecognitionException {
    216            try {
    217                int _type = RPAREN;
    218                int _channel = DEFAULT_TOKEN_CHANNEL;
    219                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:52:9: ( ')' )
    220                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:52:11: ')'
    221                {
    222                match(')');
    223
    224                }
    225
    226                state.type = _type;
    227                state.channel = _channel;
    228            }
    229            finally {
    230            }
    231        }
    232        // $ANTLR end "RPAREN"
    233
    234        // $ANTLR start "LBRACKET"
    235        public final void mLBRACKET() throws RecognitionException {
    236            try {
    237                int _type = LBRACKET;
    238                int _channel = DEFAULT_TOKEN_CHANNEL;
    239                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:53:9: ( '[' )
    240                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:53:11: '['
    241                {
    242                match('[');
    243
    244                }
    245
    246                state.type = _type;
    247                state.channel = _channel;
    248            }
    249            finally {
    250            }
    251        }
    252        // $ANTLR end "LBRACKET"
    253
    254        // $ANTLR start "RBRACKET"
    255        public final void mRBRACKET() throws RecognitionException {
    256            try {
    257                int _type = RBRACKET;
    258                int _channel = DEFAULT_TOKEN_CHANNEL;
    259                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:54:9: ( ']' )
    260                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:54:11: ']'
    261                {
    262                match(']');
    263
    264                }
    265
    266                state.type = _type;
    267                state.channel = _channel;
    268            }
    269            finally {
    270            }
    271        }
    272        // $ANTLR end "RBRACKET"
    273
    274        // $ANTLR start "COMMA"
    275        public final void mCOMMA() throws RecognitionException {
    276            try {
    277                int _type = COMMA;
    278                int _channel = DEFAULT_TOKEN_CHANNEL;
    279                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:55:7: ( ',' )
    280                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:55:9: ','
    281                {
    282                match(',');
    283
    284                }
    285
    286                state.type = _type;
    287                state.channel = _channel;
    288            }
    289            finally {
    290            }
    291        }
    292        // $ANTLR end "COMMA"
    293
    294        // $ANTLR start "BANG"
    295        public final void mBANG() throws RecognitionException {
    296            try {
    297                int _type = BANG;
    298                int _channel = DEFAULT_TOKEN_CHANNEL;
    299                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:56:6: ( '!' )
    300                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:56:8: '!'
    301                {
    302                match('!');
    303
    304                }
    305
    306                state.type = _type;
    307                state.channel = _channel;
    308            }
    309            finally {
    310            }
    311        }
    312        // $ANTLR end "BANG"
    313
    314        // $ANTLR start "LBRACE"
    315        public final void mLBRACE() throws RecognitionException {
    316            try {
    317                int _type = LBRACE;
    318                int _channel = DEFAULT_TOKEN_CHANNEL;
    319                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:57:8: ( '{' )
    320                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:57:10: '{'
    321                {
    322                match('{');
    323
    324                }
    325
    326                state.type = _type;
    327                state.channel = _channel;
    328            }
    329            finally {
    330            }
    331        }
    332        // $ANTLR end "LBRACE"
    333
    334        // $ANTLR start "RBRACE"
    335        public final void mRBRACE() throws RecognitionException {
    336            try {
    337                int _type = RBRACE;
    338                int _channel = DEFAULT_TOKEN_CHANNEL;
    339                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:58:8: ( '}' )
    340                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:58:10: '}'
    341                {
    342                match('}');
    343
    344                }
    345
    346                state.type = _type;
    347                state.channel = _channel;
    348            }
    349            finally {
    350            }
    351        }
    352        // $ANTLR end "RBRACE"
    353
    354        // $ANTLR start "COLON"
    355        public final void mCOLON() throws RecognitionException {
    356            try {
    357                int _type = COLON;
    358                int _channel = DEFAULT_TOKEN_CHANNEL;
    359                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:59:7: ( ':' )
    360                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:59:9: ':'
    361                {
    362                match(':');
    363
    364                }
    365
    366                state.type = _type;
    367                state.channel = _channel;
    368            }
    369            finally {
    370            }
    371        }
    372        // $ANTLR end "COLON"
    373
    374        // $ANTLR start "QUOTE"
    375        public final void mQUOTE() throws RecognitionException {
    376            try {
    377                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:62:2: ( '\\'' )
    378                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:62:4: '\\''
    379                {
    380                match('\'');
    381
    382                }
    383
    384            }
    385            finally {
    386            }
    387        }
    388        // $ANTLR end "QUOTE"
    389
    390        // $ANTLR start "A"
    391        public final void mA() throws RecognitionException {
    392            try {
    393                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:67:2: ( ( 'a' | 'A' ) )
    394                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:67:4: ( 'a' | 'A' )
    395                {
    396                if ( input.LA(1)=='A'||input.LA(1)=='a' ) {
    397                    input.consume();
    398
    399                }
    400                else {
    401                    MismatchedSetException mse = new MismatchedSetException(null,input);
    402                    recover(mse);
    403                    throw mse;}
    404
    405
    406                }
    407
    408            }
    409            finally {
    410            }
    411        }
    412        // $ANTLR end "A"
    413
    414        // $ANTLR start "E"
    415        public final void mE() throws RecognitionException {
    416            try {
    417                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:69:2: ( ( 'e' | 'E' ) )
    418                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:69:4: ( 'e' | 'E' )
    419                {
    420                if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
    421                    input.consume();
    422
    423                }
    424                else {
    425                    MismatchedSetException mse = new MismatchedSetException(null,input);
    426                    recover(mse);
    427                    throw mse;}
    428
    429
    430                }
    431
    432            }
    433            finally {
    434            }
    435        }
    436        // $ANTLR end "E"
    437
    438        // $ANTLR start "F"
    439        public final void mF() throws RecognitionException {
    440            try {
    441                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:71:2: ( ( 'f' | 'F' ) )
    442                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:71:4: ( 'f' | 'F' )
    443                {
    444                if ( input.LA(1)=='F'||input.LA(1)=='f' ) {
    445                    input.consume();
    446
    447                }
    448                else {
    449                    MismatchedSetException mse = new MismatchedSetException(null,input);
    450                    recover(mse);
    451                    throw mse;}
    452
    453
    454                }
    455
    456            }
    457            finally {
    458            }
    459        }
    460        // $ANTLR end "F"
    461
    462        // $ANTLR start "H"
    463        public final void mH() throws RecognitionException {
    464            try {
    465                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:73:2: ( ( 'h' | 'H' ) )
    466                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:73:4: ( 'h' | 'H' )
    467                {
    468                if ( input.LA(1)=='H'||input.LA(1)=='h' ) {
    469                    input.consume();
    470
    471                }
    472                else {
    473                    MismatchedSetException mse = new MismatchedSetException(null,input);
    474                    recover(mse);
    475                    throw mse;}
    476
    477
    478                }
    479
    480            }
    481            finally {
    482            }
    483        }
    484        // $ANTLR end "H"
    485
    486        // $ANTLR start "I"
    487        public final void mI() throws RecognitionException {
    488            try {
    489                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:75:2: ( ( 'i' | 'I' ) )
    490                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:75:4: ( 'i' | 'I' )
    491                {
    492                if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
    493                    input.consume();
    494
    495                }
    496                else {
    497                    MismatchedSetException mse = new MismatchedSetException(null,input);
    498                    recover(mse);
    499                    throw mse;}
    500
    501
    502                }
    503
    504            }
    505            finally {
    506            }
    507        }
    508        // $ANTLR end "I"
    509
    510        // $ANTLR start "L"
    511        public final void mL() throws RecognitionException {
    512            try {
    513                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:77:2: ( ( 'l' | 'L' ) )
    514                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:77:5: ( 'l' | 'L' )
    515                {
    516                if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
    517                    input.consume();
    518
    519                }
    520                else {
    521                    MismatchedSetException mse = new MismatchedSetException(null,input);
    522                    recover(mse);
    523                    throw mse;}
    524
    525
    526                }
    527
    528            }
    529            finally {
    530            }
    531        }
    532        // $ANTLR end "L"
    533
    534        // $ANTLR start "N"
    535        public final void mN() throws RecognitionException {
    536            try {
    537                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:79:2: ( ( 'n' | 'N' ) )
    538                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:79:4: ( 'n' | 'N' )
    539                {
    540                if ( input.LA(1)=='N'||input.LA(1)=='n' ) {
    541                    input.consume();
    542
    543                }
    544                else {
    545                    MismatchedSetException mse = new MismatchedSetException(null,input);
    546                    recover(mse);
    547                    throw mse;}
    548
    549
    550                }
    551
    552            }
    553            finally {
    554            }
    555        }
    556        // $ANTLR end "N"
    557
    558        // $ANTLR start "R"
    559        public final void mR() throws RecognitionException {
    560            try {
    561                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:81:2: ( ( 'r' | 'R' ) )
    562                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:81:4: ( 'r' | 'R' )
    563                {
    564                if ( input.LA(1)=='R'||input.LA(1)=='r' ) {
    565                    input.consume();
    566
    567                }
    568                else {
    569                    MismatchedSetException mse = new MismatchedSetException(null,input);
    570                    recover(mse);
    571                    throw mse;}
    572
    573
    574                }
    575
    576            }
    577            finally {
    578            }
    579        }
    580        // $ANTLR end "R"
    581
    582        // $ANTLR start "S"
    583        public final void mS() throws RecognitionException {
    584            try {
    585                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:83:2: ( ( 's' | 'S' ) )
    586                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:83:4: ( 's' | 'S' )
    587                {
    588                if ( input.LA(1)=='S'||input.LA(1)=='s' ) {
    589                    input.consume();
    590
    591                }
    592                else {
    593                    MismatchedSetException mse = new MismatchedSetException(null,input);
    594                    recover(mse);
    595                    throw mse;}
    596
    597
    598                }
    599
    600            }
    601            finally {
    602            }
    603        }
    604        // $ANTLR end "S"
    605
    606        // $ANTLR start "T"
    607        public final void mT() throws RecognitionException {
    608            try {
    609                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:85:2: ( ( 't' | 'T' ) )
    610                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:85:4: ( 't' | 'T' )
    611                {
    612                if ( input.LA(1)=='T'||input.LA(1)=='t' ) {
    613                    input.consume();
    614
    615                }
    616                else {
    617                    MismatchedSetException mse = new MismatchedSetException(null,input);
    618                    recover(mse);
    619                    throw mse;}
    620
    621
    622                }
    623
    624            }
    625            finally {
    626            }
    627        }
    628        // $ANTLR end "T"
    629
    630        // $ANTLR start "U"
    631        public final void mU() throws RecognitionException {
    632            try {
    633                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:87:2: ( ( 'u' | 'U' ) )
    634                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:87:4: ( 'u' | 'U' )
    635                {
    636                if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
    637                    input.consume();
    638
    639                }
    640                else {
    641                    MismatchedSetException mse = new MismatchedSetException(null,input);
    642                    recover(mse);
    643                    throw mse;}
    644
    645
    646                }
    647
    648            }
    649            finally {
    650            }
    651        }
    652        // $ANTLR end "U"
    653
    654        // $ANTLR start "NULL"
    655        public final void mNULL() throws RecognitionException {
    656            try {
    657                int _type = NULL;
    658                int _channel = DEFAULT_TOKEN_CHANNEL;
    659                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:91:7: ( N U L L )
    660                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:91:9: N U L L
    661                {
    662                mN();
    663                mU();
    664                mL();
    665                mL();
    666
    667                }
    668
    669                state.type = _type;
    670                state.channel = _channel;
    671            }
    672            finally {
    673            }
    674        }
    675        // $ANTLR end "NULL"
    676
    677        // $ANTLR start "TRUE"
    678        public final void mTRUE() throws RecognitionException {
    679            try {
    680                int _type = TRUE;
    681                int _channel = DEFAULT_TOKEN_CHANNEL;
    682                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:92:6: ( T R U E )
    683                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:92:8: T R U E
    684                {
    685                mT();
    686                mR();
    687                mU();
    688                mE();
    689
    690                }
    691
    692                state.type = _type;
    693                state.channel = _channel;
    694            }
    695            finally {
    696            }
    697        }
    698        // $ANTLR end "TRUE"
    699
    700        // $ANTLR start "FALSE"
    701        public final void mFALSE() throws RecognitionException {
    702            try {
    703                int _type = FALSE;
    704                int _channel = DEFAULT_TOKEN_CHANNEL;
    705                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:93:7: ( F A L S E )
    706                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:93:9: F A L S E
    707                {
    708                mF();
    709                mA();
    710                mL();
    711                mS();
    712                mE();
    713
    714                }
    715
    716                state.type = _type;
    717                state.channel = _channel;
    718            }
    719            finally {
    720            }
    721        }
    722        // $ANTLR end "FALSE"
    723
    724        // $ANTLR start "THIS"
    725        public final void mTHIS() throws RecognitionException {
    726            try {
    727                int _type = THIS;
    728                int _channel = DEFAULT_TOKEN_CHANNEL;
    729                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:94:6: ( T H I S )
    730                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:94:8: T H I S
    731                {
    732                mT();
    733                mH();
    734                mI();
    735                mS();
    736
    737                }
    738
    739                state.type = _type;
    740                state.channel = _channel;
    741            }
    742            finally {
    743            }
    744        }
    745        // $ANTLR end "THIS"
    746
    747        // $ANTLR start "IDENTIFIER"
    748        public final void mIDENTIFIER() throws RecognitionException {
    749            try {
    750                int _type = IDENTIFIER;
    751                int _channel = DEFAULT_TOKEN_CHANNEL;
    752                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:97:5: ( JAVA_ID_START ( JAVA_ID_PART )* )
    753                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:97:9: JAVA_ID_START ( JAVA_ID_PART )*
    754                {
    755                mJAVA_ID_START();
    756                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:97:23: ( JAVA_ID_PART )*
    757                loop1:
    758                do {
    759                    int alt1=2;
    760                    int LA1_0 = input.LA(1);
    761
    762                    if ( (LA1_0=='$'||(LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')||(LA1_0>='\u00C0' && LA1_0<='\u00D6')||(LA1_0>='\u00D8' && LA1_0<='\u00F6')||(LA1_0>='\u00F8' && LA1_0<='\u1FFF')||(LA1_0>='\u3040' && LA1_0<='\u318F')||(LA1_0>='\u3300' && LA1_0<='\u337F')||(LA1_0>='\u3400' && LA1_0<='\u3D2D')||(LA1_0>='\u4E00' && LA1_0<='\u9FFF')||(LA1_0>='\uF900' && LA1_0<='\uFAFF')) ) {
    763                        alt1=1;
    764                    }
    765
    766
    767                    switch (alt1) {
    768                    case 1 :
    769                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:97:24: JAVA_ID_PART
    770                        {
    771                        mJAVA_ID_PART();
    772
    773                        }
    774                        break;
    775
    776                    default :
    777                        break loop1;
    778                    }
    779                } while (true);
    780
    781
    782                }
    783
    784                state.type = _type;
    785                state.channel = _channel;
    786            }
    787            finally {
    788            }
    789        }
    790        // $ANTLR end "IDENTIFIER"
    791
    792        // $ANTLR start "JAVA_ID_START"
    793        public final void mJAVA_ID_START() throws RecognitionException {
    794            try {
    795                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:102:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' )
    796                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:
    797                {
    798                if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
    799                    input.consume();
    800
    801                }
    802                else {
    803                    MismatchedSetException mse = new MismatchedSetException(null,input);
    804                    recover(mse);
    805                    throw mse;}
    806
    807
    808                }
    809
    810            }
    811            finally {
    812            }
    813        }
    814        // $ANTLR end "JAVA_ID_START"
    815
    816        // $ANTLR start "JAVA_ID_PART"
    817        public final void mJAVA_ID_PART() throws RecognitionException {
    818            try {
    819                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:119:5: ( JAVA_ID_START | '\\u0030' .. '\\u0039' )
    820                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:
    821                {
    822                if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
    823                    input.consume();
    824
    825                }
    826                else {
    827                    MismatchedSetException mse = new MismatchedSetException(null,input);
    828                    recover(mse);
    829                    throw mse;}
    830
    831
    832                }
    833
    834            }
    835            finally {
    836            }
    837        }
    838        // $ANTLR end "JAVA_ID_PART"
    839
    840        // $ANTLR start "SAFEDEREF"
    841        public final void mSAFEDEREF() throws RecognitionException {
    842            try {
    843                int _type = SAFEDEREF;
    844                int _channel = DEFAULT_TOKEN_CHANNEL;
    845                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:128:2: ( '?.' )
    846                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:128:5: '?.'
    847                {
    848                match("?.");
    849
    850
    851                }
    852
    853                state.type = _type;
    854                state.channel = _channel;
    855            }
    856            finally {
    857            }
    858        }
    859        // $ANTLR end "SAFEDEREF"
    860
    861        // $ANTLR start "WS"
    862        public final void mWS() throws RecognitionException {
    863            try {
    864                int _type = WS;
    865                int _channel = DEFAULT_TOKEN_CHANNEL;
    866                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:130:5: ( ( ' ' | '\\t' | '\\n' | '\\r' )+ )
    867                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:130:7: ( ' ' | '\\t' | '\\n' | '\\r' )+
    868                {
    869                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:130:7: ( ' ' | '\\t' | '\\n' | '\\r' )+
    870                int cnt2=0;
    871                loop2:
    872                do {
    873                    int alt2=2;
    874                    int LA2_0 = input.LA(1);
    875
    876                    if ( ((LA2_0>='\t' && LA2_0<='\n')||LA2_0=='\r'||LA2_0==' ') ) {
    877                        alt2=1;
    878                    }
    879
    880
    881                    switch (alt2) {
    882                    case 1 :
    883                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:
    884                        {
    885                        if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
    886                            input.consume();
    887
    888                        }
    889                        else {
    890                            MismatchedSetException mse = new MismatchedSetException(null,input);
    891                            recover(mse);
    892                            throw mse;}
    893
    894
    895                        }
    896                        break;
    897
    898                    default :
    899                        if ( cnt2 >= 1 ) break loop2;
    900                            EarlyExitException eee =
    901                                new EarlyExitException(2, input);
    902                            throw eee;
    903                    }
    904                    cnt2++;
    905                } while (true);
    906
    907                 skip();
    908
    909                }
    910
    911                state.type = _type;
    912                state.channel = _channel;
    913            }
    914            finally {
    915            }
    916        }
    917        // $ANTLR end "WS"
    918
    919        // $ANTLR start "STRING"
    920        public final void mSTRING() throws RecognitionException {
    921            try {
    922                int _type = STRING;
    923                int _channel = DEFAULT_TOKEN_CHANNEL;
    924                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:135:2: ( QUOTE ( options {greedy=false; } : . )* QUOTE )
    925                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:135:4: QUOTE ( options {greedy=false; } : . )* QUOTE
    926                {
    927                mQUOTE();
    928                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:135:10: ( options {greedy=false; } : . )*
    929                loop3:
    930                do {
    931                    int alt3=2;
    932                    int LA3_0 = input.LA(1);
    933
    934                    if ( (LA3_0=='\'') ) {
    935                        alt3=2;
    936                    }
    937                    else if ( ((LA3_0>='\u0000' && LA3_0<='&')||(LA3_0>='(' && LA3_0<='\uFFFF')) ) {
    938                        alt3=1;
    939                    }
    940
    941
    942                    switch (alt3) {
    943                    case 1 :
    944                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:135:37: .
    945                        {
    946                        matchAny();
    947
    948                        }
    949                        break;
    950
    951                    default :
    952                        break loop3;
    953                    }
    954                } while (true);
    955
    956                mQUOTE();
    957                 setText(getText().substring(1, getText().length()-1));
    958
    959                }
    960
    961                state.type = _type;
    962                state.channel = _channel;
    963            }
    964            finally {
    965            }
    966        }
    967        // $ANTLR end "STRING"
    968
    969        // $ANTLR start "NUMBER_OR_RANGEOP"
    970        public final void mNUMBER_OR_RANGEOP() throws RecognitionException {
    971            try {
    972                int _type = NUMBER_OR_RANGEOP;
    973                int _channel = DEFAULT_TOKEN_CHANNEL;
    974                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:148:2: ( ( SIGN )? ( DIGIT )+ ({...}? => '.' ( DIGIT )* | ) | SIGN '.' ( DIGIT )+ | '.' ( ( DIGIT )+ | '.' | ) )
    975                int alt11=3;
    976                switch ( input.LA(1) ) {
    977                case '+':
    978                case '-':
    979                    {
    980                    int LA11_1 = input.LA(2);
    981
    982                    if ( ((LA11_1>='0' && LA11_1<='9')) ) {
    983                        alt11=1;
    984                    }
    985                    else if ( (LA11_1=='.') ) {
    986                        alt11=2;
    987                    }
    988                    else {
    989                        NoViableAltException nvae =
    990                            new NoViableAltException("", 11, 1, input);
    991
    992                        throw nvae;
    993                    }
    994                    }
    995                    break;
    996                case '0':
    997                case '1':
    998                case '2':
    999                case '3':
    1000                case '4':
    1001                case '5':
    1002                case '6':
    1003                case '7':
    1004                case '8':
    1005                case '9':
    1006                    {
    1007                    alt11=1;
    1008                    }
    1009                    break;
    1010                case '.':
    1011                    {
    1012                    alt11=3;
    1013                    }
    1014                    break;
    1015                default:
    1016                    NoViableAltException nvae =
    1017                        new NoViableAltException("", 11, 0, input);
    1018
    1019                    throw nvae;
    1020                }
    1021
    1022                switch (alt11) {
    1023                    case 1 :
    1024                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:148:4: ( SIGN )? ( DIGIT )+ ({...}? => '.' ( DIGIT )* | )
    1025                        {
    1026                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:148:4: ( SIGN )?
    1027                        int alt4=2;
    1028                        int LA4_0 = input.LA(1);
    1029
    1030                        if ( (LA4_0=='+'||LA4_0=='-') ) {
    1031                            alt4=1;
    1032                        }
    1033                        switch (alt4) {
    1034                            case 1 :
    1035                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:148:4: SIGN
    1036                                {
    1037                                mSIGN();
    1038
    1039                                }
    1040                                break;
    1041
    1042                        }
    1043
    1044                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:148:10: ( DIGIT )+
    1045                        int cnt5=0;
    1046                        loop5:
    1047                        do {
    1048                            int alt5=2;
    1049                            int LA5_0 = input.LA(1);
    1050
    1051                            if ( ((LA5_0>='0' && LA5_0<='9')) ) {
    1052                                alt5=1;
    1053                            }
    1054
    1055
    1056                            switch (alt5) {
    1057                            case 1 :
    1058                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:148:10: DIGIT
    1059                                {
    1060                                mDIGIT();
    1061
    1062                                }
    1063                                break;
    1064
    1065                            default :
    1066                                if ( cnt5 >= 1 ) break loop5;
    1067                                    EarlyExitException eee =
    1068                                        new EarlyExitException(5, input);
    1069                                    throw eee;
    1070                            }
    1071                            cnt5++;
    1072                        } while (true);
    1073
    1074                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:149:3: ({...}? => '.' ( DIGIT )* | )
    1075                        int alt7=2;
    1076                        int LA7_0 = input.LA(1);
    1077
    1078                        if ( (LA7_0=='.') && (( input.LA(2) != '.' ))) {
    1079                            alt7=1;
    1080                        }
    1081                        else {
    1082                            alt7=2;}
    1083                        switch (alt7) {
    1084                            case 1 :
    1085                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:150:4: {...}? => '.' ( DIGIT )*
    1086                                {
    1087                                if ( !(( input.LA(2) != '.' )) ) {
    1088                                    throw new FailedPredicateException(input, "NUMBER_OR_RANGEOP", " input.LA(2) != '.' ");
    1089                                }
    1090                                match('.');
    1091                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:150:35: ( DIGIT )*
    1092                                loop6:
    1093                                do {
    1094                                    int alt6=2;
    1095                                    int LA6_0 = input.LA(1);
    1096
    1097                                    if ( ((LA6_0>='0' && LA6_0<='9')) ) {
    1098                                        alt6=1;
    1099                                    }
    1100
    1101
    1102                                    switch (alt6) {
    1103                                    case 1 :
    1104                                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:150:35: DIGIT
    1105                                        {
    1106                                        mDIGIT();
    1107
    1108                                        }
    1109                                        break;
    1110
    1111                                    default :
    1112                                        break loop6;
    1113                                    }
    1114                                } while (true);
    1115
    1116                                   _type = DECIMAL; stripLeadingPlus();
    1117
    1118                                }
    1119                                break;
    1120                            case 2 :
    1121                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:151:6:
    1122                                {
    1123                                  _type = INTEGER;  stripLeadingPlus();
    1124
    1125                                }
    1126                                break;
    1127
    1128                        }
    1129
    1130
    1131                        }
    1132                        break;
    1133                    case 2 :
    1134                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:154:4: SIGN '.' ( DIGIT )+
    1135                        {
    1136                        mSIGN();
    1137                        match('.');
    1138                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:154:13: ( DIGIT )+
    1139                        int cnt8=0;
    1140                        loop8:
    1141                        do {
    1142                            int alt8=2;
    1143                            int LA8_0 = input.LA(1);
    1144
    1145                            if ( ((LA8_0>='0' && LA8_0<='9')) ) {
    1146                                alt8=1;
    1147                            }
    1148
    1149
    1150                            switch (alt8) {
    1151                            case 1 :
    1152                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:154:13: DIGIT
    1153                                {
    1154                                mDIGIT();
    1155
    1156                                }
    1157                                break;
    1158
    1159                            default :
    1160                                if ( cnt8 >= 1 ) break loop8;
    1161                                    EarlyExitException eee =
    1162                                        new EarlyExitException(8, input);
    1163                                    throw eee;
    1164                            }
    1165                            cnt8++;
    1166                        } while (true);
    1167
    1168                          _type = DECIMAL;  stripLeadingPlus();
    1169
    1170                        }
    1171                        break;
    1172                    case 3 :
    1173                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:156:4: '.' ( ( DIGIT )+ | '.' | )
    1174                        {
    1175                        match('.');
    1176                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:157:3: ( ( DIGIT )+ | '.' | )
    1177                        int alt10=3;
    1178                        switch ( input.LA(1) ) {
    1179                        case '0':
    1180                        case '1':
    1181                        case '2':
    1182                        case '3':
    1183                        case '4':
    1184                        case '5':
    1185                        case '6':
    1186                        case '7':
    1187                        case '8':
    1188                        case '9':
    1189                            {
    1190                            alt10=1;
    1191                            }
    1192                            break;
    1193                        case '.':
    1194                            {
    1195                            alt10=2;
    1196                            }
    1197                            break;
    1198                        default:
    1199                            alt10=3;}
    1200
    1201                        switch (alt10) {
    1202                            case 1 :
    1203                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:158:4: ( DIGIT )+
    1204                                {
    1205                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:158:4: ( DIGIT )+
    1206                                int cnt9=0;
    1207                                loop9:
    1208                                do {
    1209                                    int alt9=2;
    1210                                    int LA9_0 = input.LA(1);
    1211
    1212                                    if ( ((LA9_0>='0' && LA9_0<='9')) ) {
    1213                                        alt9=1;
    1214                                    }
    1215
    1216
    1217                                    switch (alt9) {
    1218                                    case 1 :
    1219                                        // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:158:4: DIGIT
    1220                                        {
    1221                                        mDIGIT();
    1222
    1223                                        }
    1224                                        break;
    1225
    1226                                    default :
    1227                                        if ( cnt9 >= 1 ) break loop9;
    1228                                            EarlyExitException eee =
    1229                                                new EarlyExitException(9, input);
    1230                                            throw eee;
    1231                                    }
    1232                                    cnt9++;
    1233                                } while (true);
    1234
    1235                                 _type = DECIMAL; stripLeadingPlus();
    1236
    1237                                }
    1238                                break;
    1239                            case 2 :
    1240                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:159:6: '.'
    1241                                {
    1242                                match('.');
    1243                                _type = RANGEOP;
    1244
    1245                                }
    1246                                break;
    1247                            case 3 :
    1248                                // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:160:6:
    1249                                {
    1250                                _type = DEREF;
    1251
    1252                                }
    1253                                break;
    1254
    1255                        }
    1256
    1257
    1258                        }
    1259                        break;
    1260
    1261                }
    1262                state.type = _type;
    1263                state.channel = _channel;
    1264            }
    1265            finally {
    1266            }
    1267        }
    1268        // $ANTLR end "NUMBER_OR_RANGEOP"
    1269
    1270        public void mTokens() throws RecognitionException {
    1271            // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:8: ( LPAREN | RPAREN | LBRACKET | RBRACKET | COMMA | BANG | LBRACE | RBRACE | COLON | NULL | TRUE | FALSE | THIS | IDENTIFIER | SAFEDEREF | WS | STRING | NUMBER_OR_RANGEOP )
    1272            int alt12=18;
    1273            alt12 = dfa12.predict(input);
    1274            switch (alt12) {
    1275                case 1 :
    1276                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:10: LPAREN
    1277                    {
    1278                    mLPAREN();
    1279
    1280                    }
    1281                    break;
    1282                case 2 :
    1283                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:17: RPAREN
    1284                    {
    1285                    mRPAREN();
    1286
    1287                    }
    1288                    break;
    1289                case 3 :
    1290                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:24: LBRACKET
    1291                    {
    1292                    mLBRACKET();
    1293
    1294                    }
    1295                    break;
    1296                case 4 :
    1297                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:33: RBRACKET
    1298                    {
    1299                    mRBRACKET();
    1300
    1301                    }
    1302                    break;
    1303                case 5 :
    1304                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:42: COMMA
    1305                    {
    1306                    mCOMMA();
    1307
    1308                    }
    1309                    break;
    1310                case 6 :
    1311                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:48: BANG
    1312                    {
    1313                    mBANG();
    1314
    1315                    }
    1316                    break;
    1317                case 7 :
    1318                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:53: LBRACE
    1319                    {
    1320                    mLBRACE();
    1321
    1322                    }
    1323                    break;
    1324                case 8 :
    1325                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:60: RBRACE
    1326                    {
    1327                    mRBRACE();
    1328
    1329                    }
    1330                    break;
    1331                case 9 :
    1332                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:67: COLON
    1333                    {
    1334                    mCOLON();
    1335
    1336                    }
    1337                    break;
    1338                case 10 :
    1339                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:73: NULL
    1340                    {
    1341                    mNULL();
    1342
    1343                    }
    1344                    break;
    1345                case 11 :
    1346                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:78: TRUE
    1347                    {
    1348                    mTRUE();
    1349
    1350                    }
    1351                    break;
    1352                case 12 :
    1353                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:83: FALSE
    1354                    {
    1355                    mFALSE();
    1356
    1357                    }
    1358                    break;
    1359                case 13 :
    1360                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:89: THIS
    1361                    {
    1362                    mTHIS();
    1363
    1364                    }
    1365                    break;
    1366                case 14 :
    1367                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:94: IDENTIFIER
    1368                    {
    1369                    mIDENTIFIER();
    1370
    1371                    }
    1372                    break;
    1373                case 15 :
    1374                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:105: SAFEDEREF
    1375                    {
    1376                    mSAFEDEREF();
    1377
    1378                    }
    1379                    break;
    1380                case 16 :
    1381                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:115: WS
    1382                    {
    1383                    mWS();
    1384
    1385                    }
    1386                    break;
    1387                case 17 :
    1388                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:118: STRING
    1389                    {
    1390                    mSTRING();
    1391
    1392                    }
    1393                    break;
    1394                case 18 :
    1395                    // C:\\Users\\kaosko\\Documents\\personal\\git-tapestry5\\tapestry-core\\src\\main\\antlr\\org\\apache\\tapestry5\\internal\\antlr\\PropertyExpressionLexer.g:1:125: NUMBER_OR_RANGEOP
    1396                    {
    1397                    mNUMBER_OR_RANGEOP();
    1398
    1399                    }
    1400                    break;
    1401
    1402            }
    1403
    1404        }
    1405
    1406
    1407        protected DFA12 dfa12 = new DFA12(this);
    1408        static final String DFA12_eotS =
    1409            "\12\uffff\3\15\5\uffff\10\15\1\36\1\37\1\40\1\15\3\uffff\1\42\1"+
    1410            "\uffff";
    1411        static final String DFA12_eofS =
    1412            "\43\uffff";
    1413        static final String DFA12_minS =
    1414            "\1\11\11\uffff\1\125\1\110\1\101\5\uffff\1\114\1\125\1\111\2\114"+
    1415            "\1\105\2\123\3\44\1\105\3\uffff\1\44\1\uffff";
    1416        static final String DFA12_maxS =
    1417            "\1\ufaff\11\uffff\1\165\1\162\1\141\5\uffff\1\154\1\165\1\151\2"+
    1418            "\154\1\145\2\163\3\ufaff\1\145\3\uffff\1\ufaff\1\uffff";
    1419        static final String DFA12_acceptS =
    1420            "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\3\uffff\1\16\1\17"+
    1421            "\1\20\1\21\1\22\14\uffff\1\12\1\13\1\15\1\uffff\1\14";
    1422        static final String DFA12_specialS =
    1423            "\43\uffff}>";
    1424        static final String[] DFA12_transitionS = {
    1425                "\2\17\2\uffff\1\17\22\uffff\1\17\1\6\2\uffff\1\15\2\uffff\1"+
    1426                "\20\1\1\1\2\1\uffff\1\21\1\5\2\21\1\uffff\12\21\1\11\4\uffff"+
    1427                "\1\16\1\uffff\5\15\1\14\7\15\1\12\5\15\1\13\6\15\1\3\1\uffff"+
    1428                "\1\4\1\uffff\1\15\1\uffff\5\15\1\14\7\15\1\12\5\15\1\13\6\15"+
    1429                "\1\7\1\uffff\1\10\102\uffff\27\15\1\uffff\37\15\1\uffff\u1f08"+
    1430                "\15\u1040\uffff\u0150\15\u0170\uffff\u0080\15\u0080\uffff\u092e"+
    1431                "\15\u10d2\uffff\u5200\15\u5900\uffff\u0200\15",
    1432                "",
    1433                "",
    1434                "",
    1435                "",
    1436                "",
    1437                "",
    1438                "",
    1439                "",
    1440                "",
    1441                "\1\22\37\uffff\1\22",
    1442                "\1\24\11\uffff\1\23\25\uffff\1\24\11\uffff\1\23",
    1443                "\1\25\37\uffff\1\25",
    1444                "",
    1445                "",
    1446                "",
    1447                "",
    1448                "",
    1449                "\1\26\37\uffff\1\26",
    1450                "\1\27\37\uffff\1\27",
    1451                "\1\30\37\uffff\1\30",
    1452                "\1\31\37\uffff\1\31",
    1453                "\1\32\37\uffff\1\32",
    1454                "\1\33\37\uffff\1\33",
    1455                "\1\34\37\uffff\1\34",
    1456                "\1\35\37\uffff\1\35",
    1457                "\1\15\13\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32"+
    1458                "\15\105\uffff\27\15\1\uffff\37\15\1\uffff\u1f08\15\u1040\uffff"+
    1459                "\u0150\15\u0170\uffff\u0080\15\u0080\uffff\u092e\15\u10d2\uffff"+
    1460                "\u5200\15\u5900\uffff\u0200\15",
    1461                "\1\15\13\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32"+
    1462                "\15\105\uffff\27\15\1\uffff\37\15\1\uffff\u1f08\15\u1040\uffff"+
    1463                "\u0150\15\u0170\uffff\u0080\15\u0080\uffff\u092e\15\u10d2\uffff"+
    1464                "\u5200\15\u5900\uffff\u0200\15",
    1465                "\1\15\13\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32"+
    1466                "\15\105\uffff\27\15\1\uffff\37\15\1\uffff\u1f08\15\u1040\uffff"+
    1467                "\u0150\15\u0170\uffff\u0080\15\u0080\uffff\u092e\15\u10d2\uffff"+
    1468                "\u5200\15\u5900\uffff\u0200\15",
    1469                "\1\41\37\uffff\1\41",
    1470                "",
    1471                "",
    1472                "",
    1473                "\1\15\13\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32"+
    1474                "\15\105\uffff\27\15\1\uffff\37\15\1\uffff\u1f08\15\u1040\uffff"+
    1475                "\u0150\15\u0170\uffff\u0080\15\u0080\uffff\u092e\15\u10d2\uffff"+
    1476                "\u5200\15\u5900\uffff\u0200\15",
    1477                ""
    1478        };
    1479
    1480        static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
    1481        static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
    1482        static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
    1483        static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
    1484        static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
    1485        static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
    1486        static final short[][] DFA12_transition;
    1487
    1488        static {
    1489            int numStates = DFA12_transitionS.length;
    1490            DFA12_transition = new short[numStates][];
    1491            for (int i=0; i<numStates; i++) {
    1492                DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
    1493            }
    1494        }
    1495
    1496        class DFA12 extends DFA {
    1497
    1498            public DFA12(BaseRecognizer recognizer) {
    1499                this.recognizer = recognizer;
    1500                this.decisionNumber = 12;
    1501                this.eot = DFA12_eot;
    1502                this.eof = DFA12_eof;
    1503                this.min = DFA12_min;
    1504                this.max = DFA12_max;
    1505                this.accept = DFA12_accept;
    1506                this.special = DFA12_special;
    1507                this.transition = DFA12_transition;
    1508            }
    1509            public String getDescription() {
    1510                return "1:1: Tokens : ( LPAREN | RPAREN | LBRACKET | RBRACKET | COMMA | BANG | LBRACE | RBRACE | COLON | NULL | TRUE | FALSE | THIS | IDENTIFIER | SAFEDEREF | WS | STRING | NUMBER_OR_RANGEOP );";
    1511            }
    1512        }
    1513
    1514
    1515    }