001 // $ANTLR 3.3 Nov 30, 2010 12:46:29 /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g 2013-04-29 18:42:52
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 import java.util.Map;
011 import java.util.HashMap;
012
013 import org.antlr.runtime.tree.*;
014
015 public class PropertyExpressionParser extends org.apache.tapestry5.internal.antlr.BaseParser {
016 public static final String[] tokenNames = new String[] {
017 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "INTEGER", "DEREF", "RANGEOP", "DECIMAL", "LETTER", "DIGIT", "SIGN", "LPAREN", "RPAREN", "LBRACKET", "RBRACKET", "COMMA", "BANG", "LBRACE", "RBRACE", "COLON", "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", "MAP", "NOT"
018 };
019 public static final int EOF=-1;
020 public static final int INTEGER=4;
021 public static final int DEREF=5;
022 public static final int RANGEOP=6;
023 public static final int DECIMAL=7;
024 public static final int LETTER=8;
025 public static final int DIGIT=9;
026 public static final int SIGN=10;
027 public static final int LPAREN=11;
028 public static final int RPAREN=12;
029 public static final int LBRACKET=13;
030 public static final int RBRACKET=14;
031 public static final int COMMA=15;
032 public static final int BANG=16;
033 public static final int LBRACE=17;
034 public static final int RBRACE=18;
035 public static final int COLON=19;
036 public static final int QUOTE=20;
037 public static final int A=21;
038 public static final int E=22;
039 public static final int F=23;
040 public static final int H=24;
041 public static final int I=25;
042 public static final int L=26;
043 public static final int N=27;
044 public static final int R=28;
045 public static final int S=29;
046 public static final int T=30;
047 public static final int U=31;
048 public static final int NULL=32;
049 public static final int TRUE=33;
050 public static final int FALSE=34;
051 public static final int THIS=35;
052 public static final int JAVA_ID_START=36;
053 public static final int JAVA_ID_PART=37;
054 public static final int IDENTIFIER=38;
055 public static final int SAFEDEREF=39;
056 public static final int WS=40;
057 public static final int STRING=41;
058 public static final int NUMBER_OR_RANGEOP=42;
059 public static final int INVOKE=43;
060 public static final int LIST=44;
061 public static final int MAP=45;
062 public static final int NOT=46;
063
064 // delegates
065 // delegators
066
067
068 public PropertyExpressionParser(TokenStream input) {
069 this(input, new RecognizerSharedState());
070 }
071 public PropertyExpressionParser(TokenStream input, RecognizerSharedState state) {
072 super(input, state);
073
074 }
075
076 protected TreeAdaptor adaptor = new CommonTreeAdaptor();
077
078 public void setTreeAdaptor(TreeAdaptor adaptor) {
079 this.adaptor = adaptor;
080 }
081 public TreeAdaptor getTreeAdaptor() {
082 return adaptor;
083 }
084
085 public String[] getTokenNames() { return PropertyExpressionParser.tokenNames; }
086 public String getGrammarFileName() { return "/home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g"; }
087
088
089 public static class start_return extends ParserRuleReturnScope {
090 CommonTree tree;
091 public Object getTree() { return tree; }
092 };
093
094 // $ANTLR start "start"
095 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:45:1: start : expression EOF ;
096 public final PropertyExpressionParser.start_return start() throws RecognitionException {
097 PropertyExpressionParser.start_return retval = new PropertyExpressionParser.start_return();
098 retval.start = input.LT(1);
099
100 CommonTree root_0 = null;
101
102 Token EOF2=null;
103 PropertyExpressionParser.expression_return expression1 = null;
104
105
106 CommonTree EOF2_tree=null;
107
108 try {
109 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:45:8: ( expression EOF )
110 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:45:10: expression EOF
111 {
112 root_0 = (CommonTree)adaptor.nil();
113
114 pushFollow(FOLLOW_expression_in_start130);
115 expression1=expression();
116
117 state._fsp--;
118 if (state.failed) return retval;
119 if ( state.backtracking==0 ) root_0 = (CommonTree)adaptor.becomeRoot(expression1.getTree(), root_0);
120 EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_start133); if (state.failed) return retval;
121
122 }
123
124 retval.stop = input.LT(-1);
125
126 if ( state.backtracking==0 ) {
127
128 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
129 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
130 }
131 }
132 catch (RecognitionException re) {
133 reportError(re);
134 recover(input,re);
135 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
136
137 }
138 finally {
139 }
140 return retval;
141 }
142 // $ANTLR end "start"
143
144 public static class expression_return extends ParserRuleReturnScope {
145 CommonTree tree;
146 public Object getTree() { return tree; }
147 };
148
149 // $ANTLR start "expression"
150 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:47:1: expression : ( keyword | rangeOp | constant | propertyChain | list | notOp | map );
151 public final PropertyExpressionParser.expression_return expression() throws RecognitionException {
152 PropertyExpressionParser.expression_return retval = new PropertyExpressionParser.expression_return();
153 retval.start = input.LT(1);
154
155 CommonTree root_0 = null;
156
157 PropertyExpressionParser.keyword_return keyword3 = null;
158
159 PropertyExpressionParser.rangeOp_return rangeOp4 = null;
160
161 PropertyExpressionParser.constant_return constant5 = null;
162
163 PropertyExpressionParser.propertyChain_return propertyChain6 = null;
164
165 PropertyExpressionParser.list_return list7 = null;
166
167 PropertyExpressionParser.notOp_return notOp8 = null;
168
169 PropertyExpressionParser.map_return map9 = null;
170
171
172
173 try {
174 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:48:2: ( keyword | rangeOp | constant | propertyChain | list | notOp | map )
175 int alt1=7;
176 alt1 = dfa1.predict(input);
177 switch (alt1) {
178 case 1 :
179 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:48:4: keyword
180 {
181 root_0 = (CommonTree)adaptor.nil();
182
183 pushFollow(FOLLOW_keyword_in_expression145);
184 keyword3=keyword();
185
186 state._fsp--;
187 if (state.failed) return retval;
188 if ( state.backtracking==0 ) adaptor.addChild(root_0, keyword3.getTree());
189
190 }
191 break;
192 case 2 :
193 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:49:4: rangeOp
194 {
195 root_0 = (CommonTree)adaptor.nil();
196
197 pushFollow(FOLLOW_rangeOp_in_expression150);
198 rangeOp4=rangeOp();
199
200 state._fsp--;
201 if (state.failed) return retval;
202 if ( state.backtracking==0 ) adaptor.addChild(root_0, rangeOp4.getTree());
203
204 }
205 break;
206 case 3 :
207 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:50:4: constant
208 {
209 root_0 = (CommonTree)adaptor.nil();
210
211 pushFollow(FOLLOW_constant_in_expression155);
212 constant5=constant();
213
214 state._fsp--;
215 if (state.failed) return retval;
216 if ( state.backtracking==0 ) adaptor.addChild(root_0, constant5.getTree());
217
218 }
219 break;
220 case 4 :
221 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:51:4: propertyChain
222 {
223 root_0 = (CommonTree)adaptor.nil();
224
225 pushFollow(FOLLOW_propertyChain_in_expression160);
226 propertyChain6=propertyChain();
227
228 state._fsp--;
229 if (state.failed) return retval;
230 if ( state.backtracking==0 ) adaptor.addChild(root_0, propertyChain6.getTree());
231
232 }
233 break;
234 case 5 :
235 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:52:4: list
236 {
237 root_0 = (CommonTree)adaptor.nil();
238
239 pushFollow(FOLLOW_list_in_expression165);
240 list7=list();
241
242 state._fsp--;
243 if (state.failed) return retval;
244 if ( state.backtracking==0 ) adaptor.addChild(root_0, list7.getTree());
245
246 }
247 break;
248 case 6 :
249 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:53:4: notOp
250 {
251 root_0 = (CommonTree)adaptor.nil();
252
253 pushFollow(FOLLOW_notOp_in_expression170);
254 notOp8=notOp();
255
256 state._fsp--;
257 if (state.failed) return retval;
258 if ( state.backtracking==0 ) adaptor.addChild(root_0, notOp8.getTree());
259
260 }
261 break;
262 case 7 :
263 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:54:4: map
264 {
265 root_0 = (CommonTree)adaptor.nil();
266
267 pushFollow(FOLLOW_map_in_expression175);
268 map9=map();
269
270 state._fsp--;
271 if (state.failed) return retval;
272 if ( state.backtracking==0 ) adaptor.addChild(root_0, map9.getTree());
273
274 }
275 break;
276
277 }
278 retval.stop = input.LT(-1);
279
280 if ( state.backtracking==0 ) {
281
282 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
283 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
284 }
285 }
286 catch (RecognitionException re) {
287 reportError(re);
288 recover(input,re);
289 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
290
291 }
292 finally {
293 }
294 return retval;
295 }
296 // $ANTLR end "expression"
297
298 public static class keyword_return extends ParserRuleReturnScope {
299 CommonTree tree;
300 public Object getTree() { return tree; }
301 };
302
303 // $ANTLR start "keyword"
304 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:57:1: keyword : ( NULL | TRUE | FALSE | THIS );
305 public final PropertyExpressionParser.keyword_return keyword() throws RecognitionException {
306 PropertyExpressionParser.keyword_return retval = new PropertyExpressionParser.keyword_return();
307 retval.start = input.LT(1);
308
309 CommonTree root_0 = null;
310
311 Token set10=null;
312
313 CommonTree set10_tree=null;
314
315 try {
316 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:57:9: ( NULL | TRUE | FALSE | THIS )
317 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:
318 {
319 root_0 = (CommonTree)adaptor.nil();
320
321 set10=(Token)input.LT(1);
322 if ( (input.LA(1)>=NULL && input.LA(1)<=THIS) ) {
323 input.consume();
324 if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set10));
325 state.errorRecovery=false;state.failed=false;
326 }
327 else {
328 if (state.backtracking>0) {state.failed=true; return retval;}
329 MismatchedSetException mse = new MismatchedSetException(null,input);
330 throw mse;
331 }
332
333
334 }
335
336 retval.stop = input.LT(-1);
337
338 if ( state.backtracking==0 ) {
339
340 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
341 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
342 }
343 }
344 catch (RecognitionException re) {
345 reportError(re);
346 recover(input,re);
347 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
348
349 }
350 finally {
351 }
352 return retval;
353 }
354 // $ANTLR end "keyword"
355
356 public static class constant_return extends ParserRuleReturnScope {
357 CommonTree tree;
358 public Object getTree() { return tree; }
359 };
360
361 // $ANTLR start "constant"
362 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:1: constant : ( INTEGER | DECIMAL | STRING );
363 public final PropertyExpressionParser.constant_return constant() throws RecognitionException {
364 PropertyExpressionParser.constant_return retval = new PropertyExpressionParser.constant_return();
365 retval.start = input.LT(1);
366
367 CommonTree root_0 = null;
368
369 Token set11=null;
370
371 CommonTree set11_tree=null;
372
373 try {
374 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:59:9: ( INTEGER | DECIMAL | STRING )
375 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:
376 {
377 root_0 = (CommonTree)adaptor.nil();
378
379 set11=(Token)input.LT(1);
380 if ( input.LA(1)==INTEGER||input.LA(1)==DECIMAL||input.LA(1)==STRING ) {
381 input.consume();
382 if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set11));
383 state.errorRecovery=false;state.failed=false;
384 }
385 else {
386 if (state.backtracking>0) {state.failed=true; return retval;}
387 MismatchedSetException mse = new MismatchedSetException(null,input);
388 throw mse;
389 }
390
391
392 }
393
394 retval.stop = input.LT(-1);
395
396 if ( state.backtracking==0 ) {
397
398 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
399 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
400 }
401 }
402 catch (RecognitionException re) {
403 reportError(re);
404 recover(input,re);
405 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
406
407 }
408 finally {
409 }
410 return retval;
411 }
412 // $ANTLR end "constant"
413
414 public static class propertyChain_return extends ParserRuleReturnScope {
415 CommonTree tree;
416 public Object getTree() { return tree; }
417 };
418
419 // $ANTLR start "propertyChain"
420 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:61:1: propertyChain : ( term DEREF propertyChain -> ^( DEREF term propertyChain ) | term SAFEDEREF propertyChain -> ^( SAFEDEREF term propertyChain ) | term );
421 public final PropertyExpressionParser.propertyChain_return propertyChain() throws RecognitionException {
422 PropertyExpressionParser.propertyChain_return retval = new PropertyExpressionParser.propertyChain_return();
423 retval.start = input.LT(1);
424
425 CommonTree root_0 = null;
426
427 Token DEREF13=null;
428 Token SAFEDEREF16=null;
429 PropertyExpressionParser.term_return term12 = null;
430
431 PropertyExpressionParser.propertyChain_return propertyChain14 = null;
432
433 PropertyExpressionParser.term_return term15 = null;
434
435 PropertyExpressionParser.propertyChain_return propertyChain17 = null;
436
437 PropertyExpressionParser.term_return term18 = null;
438
439
440 CommonTree DEREF13_tree=null;
441 CommonTree SAFEDEREF16_tree=null;
442 RewriteRuleTokenStream stream_DEREF=new RewriteRuleTokenStream(adaptor,"token DEREF");
443 RewriteRuleTokenStream stream_SAFEDEREF=new RewriteRuleTokenStream(adaptor,"token SAFEDEREF");
444 RewriteRuleSubtreeStream stream_propertyChain=new RewriteRuleSubtreeStream(adaptor,"rule propertyChain");
445 RewriteRuleSubtreeStream stream_term=new RewriteRuleSubtreeStream(adaptor,"rule term");
446 try {
447 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:62:2: ( term DEREF propertyChain -> ^( DEREF term propertyChain ) | term SAFEDEREF propertyChain -> ^( SAFEDEREF term propertyChain ) | term )
448 int alt2=3;
449 int LA2_0 = input.LA(1);
450
451 if ( (LA2_0==IDENTIFIER) ) {
452 int LA2_1 = input.LA(2);
453
454 if ( (synpred12_PropertyExpressionParser()) ) {
455 alt2=1;
456 }
457 else if ( (synpred13_PropertyExpressionParser()) ) {
458 alt2=2;
459 }
460 else if ( (true) ) {
461 alt2=3;
462 }
463 else {
464 if (state.backtracking>0) {state.failed=true; return retval;}
465 NoViableAltException nvae =
466 new NoViableAltException("", 2, 1, input);
467
468 throw nvae;
469 }
470 }
471 else {
472 if (state.backtracking>0) {state.failed=true; return retval;}
473 NoViableAltException nvae =
474 new NoViableAltException("", 2, 0, input);
475
476 throw nvae;
477 }
478 switch (alt2) {
479 case 1 :
480 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:62:4: term DEREF propertyChain
481 {
482 pushFollow(FOLLOW_term_in_propertyChain222);
483 term12=term();
484
485 state._fsp--;
486 if (state.failed) return retval;
487 if ( state.backtracking==0 ) stream_term.add(term12.getTree());
488 DEREF13=(Token)match(input,DEREF,FOLLOW_DEREF_in_propertyChain224); if (state.failed) return retval;
489 if ( state.backtracking==0 ) stream_DEREF.add(DEREF13);
490
491 pushFollow(FOLLOW_propertyChain_in_propertyChain226);
492 propertyChain14=propertyChain();
493
494 state._fsp--;
495 if (state.failed) return retval;
496 if ( state.backtracking==0 ) stream_propertyChain.add(propertyChain14.getTree());
497
498
499 // AST REWRITE
500 // elements: DEREF, term, propertyChain
501 // token labels:
502 // rule labels: retval
503 // token list labels:
504 // rule list labels:
505 // wildcard labels:
506 if ( state.backtracking==0 ) {
507 retval.tree = root_0;
508 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
509
510 root_0 = (CommonTree)adaptor.nil();
511 // 62:29: -> ^( DEREF term propertyChain )
512 {
513 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:62:32: ^( DEREF term propertyChain )
514 {
515 CommonTree root_1 = (CommonTree)adaptor.nil();
516 root_1 = (CommonTree)adaptor.becomeRoot(stream_DEREF.nextNode(), root_1);
517
518 adaptor.addChild(root_1, stream_term.nextTree());
519 adaptor.addChild(root_1, stream_propertyChain.nextTree());
520
521 adaptor.addChild(root_0, root_1);
522 }
523
524 }
525
526 retval.tree = root_0;}
527 }
528 break;
529 case 2 :
530 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:63:4: term SAFEDEREF propertyChain
531 {
532 pushFollow(FOLLOW_term_in_propertyChain241);
533 term15=term();
534
535 state._fsp--;
536 if (state.failed) return retval;
537 if ( state.backtracking==0 ) stream_term.add(term15.getTree());
538 SAFEDEREF16=(Token)match(input,SAFEDEREF,FOLLOW_SAFEDEREF_in_propertyChain243); if (state.failed) return retval;
539 if ( state.backtracking==0 ) stream_SAFEDEREF.add(SAFEDEREF16);
540
541 pushFollow(FOLLOW_propertyChain_in_propertyChain245);
542 propertyChain17=propertyChain();
543
544 state._fsp--;
545 if (state.failed) return retval;
546 if ( state.backtracking==0 ) stream_propertyChain.add(propertyChain17.getTree());
547
548
549 // AST REWRITE
550 // elements: SAFEDEREF, propertyChain, term
551 // token labels:
552 // rule labels: retval
553 // token list labels:
554 // rule list labels:
555 // wildcard labels:
556 if ( state.backtracking==0 ) {
557 retval.tree = root_0;
558 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
559
560 root_0 = (CommonTree)adaptor.nil();
561 // 63:33: -> ^( SAFEDEREF term propertyChain )
562 {
563 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:63:36: ^( SAFEDEREF term propertyChain )
564 {
565 CommonTree root_1 = (CommonTree)adaptor.nil();
566 root_1 = (CommonTree)adaptor.becomeRoot(stream_SAFEDEREF.nextNode(), root_1);
567
568 adaptor.addChild(root_1, stream_term.nextTree());
569 adaptor.addChild(root_1, stream_propertyChain.nextTree());
570
571 adaptor.addChild(root_0, root_1);
572 }
573
574 }
575
576 retval.tree = root_0;}
577 }
578 break;
579 case 3 :
580 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:64:4: term
581 {
582 root_0 = (CommonTree)adaptor.nil();
583
584 pushFollow(FOLLOW_term_in_propertyChain260);
585 term18=term();
586
587 state._fsp--;
588 if (state.failed) return retval;
589 if ( state.backtracking==0 ) adaptor.addChild(root_0, term18.getTree());
590
591 }
592 break;
593
594 }
595 retval.stop = input.LT(-1);
596
597 if ( state.backtracking==0 ) {
598
599 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
600 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
601 }
602 }
603 catch (RecognitionException re) {
604 reportError(re);
605 recover(input,re);
606 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
607
608 }
609 finally {
610 }
611 return retval;
612 }
613 // $ANTLR end "propertyChain"
614
615 public static class term_return extends ParserRuleReturnScope {
616 CommonTree tree;
617 public Object getTree() { return tree; }
618 };
619
620 // $ANTLR start "term"
621 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:67:1: term : ( IDENTIFIER | methodInvocation );
622 public final PropertyExpressionParser.term_return term() throws RecognitionException {
623 PropertyExpressionParser.term_return retval = new PropertyExpressionParser.term_return();
624 retval.start = input.LT(1);
625
626 CommonTree root_0 = null;
627
628 Token IDENTIFIER19=null;
629 PropertyExpressionParser.methodInvocation_return methodInvocation20 = null;
630
631
632 CommonTree IDENTIFIER19_tree=null;
633
634 try {
635 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:67:6: ( IDENTIFIER | methodInvocation )
636 int alt3=2;
637 int LA3_0 = input.LA(1);
638
639 if ( (LA3_0==IDENTIFIER) ) {
640 int LA3_1 = input.LA(2);
641
642 if ( (LA3_1==LPAREN) ) {
643 alt3=2;
644 }
645 else if ( (LA3_1==EOF||(LA3_1>=DEREF && LA3_1<=RANGEOP)||LA3_1==RPAREN||(LA3_1>=RBRACKET && LA3_1<=COMMA)||(LA3_1>=RBRACE && LA3_1<=COLON)||LA3_1==SAFEDEREF) ) {
646 alt3=1;
647 }
648 else {
649 if (state.backtracking>0) {state.failed=true; return retval;}
650 NoViableAltException nvae =
651 new NoViableAltException("", 3, 1, input);
652
653 throw nvae;
654 }
655 }
656 else {
657 if (state.backtracking>0) {state.failed=true; return retval;}
658 NoViableAltException nvae =
659 new NoViableAltException("", 3, 0, input);
660
661 throw nvae;
662 }
663 switch (alt3) {
664 case 1 :
665 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:67:8: IDENTIFIER
666 {
667 root_0 = (CommonTree)adaptor.nil();
668
669 IDENTIFIER19=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_term272); if (state.failed) return retval;
670 if ( state.backtracking==0 ) {
671 IDENTIFIER19_tree = (CommonTree)adaptor.create(IDENTIFIER19);
672 adaptor.addChild(root_0, IDENTIFIER19_tree);
673 }
674
675 }
676 break;
677 case 2 :
678 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:68:4: methodInvocation
679 {
680 root_0 = (CommonTree)adaptor.nil();
681
682 pushFollow(FOLLOW_methodInvocation_in_term277);
683 methodInvocation20=methodInvocation();
684
685 state._fsp--;
686 if (state.failed) return retval;
687 if ( state.backtracking==0 ) adaptor.addChild(root_0, methodInvocation20.getTree());
688
689 }
690 break;
691
692 }
693 retval.stop = input.LT(-1);
694
695 if ( state.backtracking==0 ) {
696
697 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
698 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
699 }
700 }
701 catch (RecognitionException re) {
702 reportError(re);
703 recover(input,re);
704 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
705
706 }
707 finally {
708 }
709 return retval;
710 }
711 // $ANTLR end "term"
712
713 public static class methodInvocation_return extends ParserRuleReturnScope {
714 CommonTree tree;
715 public Object getTree() { return tree; }
716 };
717
718 // $ANTLR start "methodInvocation"
719 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:71:1: methodInvocation : (id= IDENTIFIER LPAREN RPAREN -> ^( INVOKE $id) | id= IDENTIFIER LPAREN expressionList RPAREN -> ^( INVOKE $id expressionList ) );
720 public final PropertyExpressionParser.methodInvocation_return methodInvocation() throws RecognitionException {
721 PropertyExpressionParser.methodInvocation_return retval = new PropertyExpressionParser.methodInvocation_return();
722 retval.start = input.LT(1);
723
724 CommonTree root_0 = null;
725
726 Token id=null;
727 Token LPAREN21=null;
728 Token RPAREN22=null;
729 Token LPAREN23=null;
730 Token RPAREN25=null;
731 PropertyExpressionParser.expressionList_return expressionList24 = null;
732
733
734 CommonTree id_tree=null;
735 CommonTree LPAREN21_tree=null;
736 CommonTree RPAREN22_tree=null;
737 CommonTree LPAREN23_tree=null;
738 CommonTree RPAREN25_tree=null;
739 RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
740 RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
741 RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
742 RewriteRuleSubtreeStream stream_expressionList=new RewriteRuleSubtreeStream(adaptor,"rule expressionList");
743 try {
744 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:72:2: (id= IDENTIFIER LPAREN RPAREN -> ^( INVOKE $id) | id= IDENTIFIER LPAREN expressionList RPAREN -> ^( INVOKE $id expressionList ) )
745 int alt4=2;
746 int LA4_0 = input.LA(1);
747
748 if ( (LA4_0==IDENTIFIER) ) {
749 int LA4_1 = input.LA(2);
750
751 if ( (LA4_1==LPAREN) ) {
752 int LA4_2 = input.LA(3);
753
754 if ( (LA4_2==RPAREN) ) {
755 alt4=1;
756 }
757 else if ( (LA4_2==INTEGER||LA4_2==DECIMAL||LA4_2==LBRACKET||(LA4_2>=BANG && LA4_2<=LBRACE)||(LA4_2>=NULL && LA4_2<=THIS)||LA4_2==IDENTIFIER||LA4_2==STRING) ) {
758 alt4=2;
759 }
760 else {
761 if (state.backtracking>0) {state.failed=true; return retval;}
762 NoViableAltException nvae =
763 new NoViableAltException("", 4, 2, input);
764
765 throw nvae;
766 }
767 }
768 else {
769 if (state.backtracking>0) {state.failed=true; return retval;}
770 NoViableAltException nvae =
771 new NoViableAltException("", 4, 1, input);
772
773 throw nvae;
774 }
775 }
776 else {
777 if (state.backtracking>0) {state.failed=true; return retval;}
778 NoViableAltException nvae =
779 new NoViableAltException("", 4, 0, input);
780
781 throw nvae;
782 }
783 switch (alt4) {
784 case 1 :
785 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:72:4: id= IDENTIFIER LPAREN RPAREN
786 {
787 id=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodInvocation291); if (state.failed) return retval;
788 if ( state.backtracking==0 ) stream_IDENTIFIER.add(id);
789
790 LPAREN21=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_methodInvocation293); if (state.failed) return retval;
791 if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN21);
792
793 RPAREN22=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_methodInvocation295); if (state.failed) return retval;
794 if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN22);
795
796
797
798 // AST REWRITE
799 // elements: id
800 // token labels: id
801 // rule labels: retval
802 // token list labels:
803 // rule list labels:
804 // wildcard labels:
805 if ( state.backtracking==0 ) {
806 retval.tree = root_0;
807 RewriteRuleTokenStream stream_id=new RewriteRuleTokenStream(adaptor,"token id",id);
808 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
809
810 root_0 = (CommonTree)adaptor.nil();
811 // 72:32: -> ^( INVOKE $id)
812 {
813 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:72:35: ^( INVOKE $id)
814 {
815 CommonTree root_1 = (CommonTree)adaptor.nil();
816 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INVOKE, "INVOKE"), root_1);
817
818 adaptor.addChild(root_1, stream_id.nextNode());
819
820 adaptor.addChild(root_0, root_1);
821 }
822
823 }
824
825 retval.tree = root_0;}
826 }
827 break;
828 case 2 :
829 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:73:4: id= IDENTIFIER LPAREN expressionList RPAREN
830 {
831 id=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodInvocation311); if (state.failed) return retval;
832 if ( state.backtracking==0 ) stream_IDENTIFIER.add(id);
833
834 LPAREN23=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_methodInvocation313); if (state.failed) return retval;
835 if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN23);
836
837 pushFollow(FOLLOW_expressionList_in_methodInvocation315);
838 expressionList24=expressionList();
839
840 state._fsp--;
841 if (state.failed) return retval;
842 if ( state.backtracking==0 ) stream_expressionList.add(expressionList24.getTree());
843 RPAREN25=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_methodInvocation317); if (state.failed) return retval;
844 if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN25);
845
846
847
848 // AST REWRITE
849 // elements: id, expressionList
850 // token labels: id
851 // rule labels: retval
852 // token list labels:
853 // rule list labels:
854 // wildcard labels:
855 if ( state.backtracking==0 ) {
856 retval.tree = root_0;
857 RewriteRuleTokenStream stream_id=new RewriteRuleTokenStream(adaptor,"token id",id);
858 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
859
860 root_0 = (CommonTree)adaptor.nil();
861 // 73:47: -> ^( INVOKE $id expressionList )
862 {
863 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:73:50: ^( INVOKE $id expressionList )
864 {
865 CommonTree root_1 = (CommonTree)adaptor.nil();
866 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INVOKE, "INVOKE"), root_1);
867
868 adaptor.addChild(root_1, stream_id.nextNode());
869 adaptor.addChild(root_1, stream_expressionList.nextTree());
870
871 adaptor.addChild(root_0, root_1);
872 }
873
874 }
875
876 retval.tree = root_0;}
877 }
878 break;
879
880 }
881 retval.stop = input.LT(-1);
882
883 if ( state.backtracking==0 ) {
884
885 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
886 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
887 }
888 }
889 catch (RecognitionException re) {
890 reportError(re);
891 recover(input,re);
892 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
893
894 }
895 finally {
896 }
897 return retval;
898 }
899 // $ANTLR end "methodInvocation"
900
901 public static class expressionList_return extends ParserRuleReturnScope {
902 CommonTree tree;
903 public Object getTree() { return tree; }
904 };
905
906 // $ANTLR start "expressionList"
907 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:76:1: expressionList : expression ( COMMA expression )* ;
908 public final PropertyExpressionParser.expressionList_return expressionList() throws RecognitionException {
909 PropertyExpressionParser.expressionList_return retval = new PropertyExpressionParser.expressionList_return();
910 retval.start = input.LT(1);
911
912 CommonTree root_0 = null;
913
914 Token COMMA27=null;
915 PropertyExpressionParser.expression_return expression26 = null;
916
917 PropertyExpressionParser.expression_return expression28 = null;
918
919
920 CommonTree COMMA27_tree=null;
921
922 try {
923 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:77:2: ( expression ( COMMA expression )* )
924 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:77:4: expression ( COMMA expression )*
925 {
926 root_0 = (CommonTree)adaptor.nil();
927
928 pushFollow(FOLLOW_expression_in_expressionList341);
929 expression26=expression();
930
931 state._fsp--;
932 if (state.failed) return retval;
933 if ( state.backtracking==0 ) adaptor.addChild(root_0, expression26.getTree());
934 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:77:15: ( COMMA expression )*
935 loop5:
936 do {
937 int alt5=2;
938 int LA5_0 = input.LA(1);
939
940 if ( (LA5_0==COMMA) ) {
941 alt5=1;
942 }
943
944
945 switch (alt5) {
946 case 1 :
947 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:77:16: COMMA expression
948 {
949 COMMA27=(Token)match(input,COMMA,FOLLOW_COMMA_in_expressionList344); if (state.failed) return retval;
950 pushFollow(FOLLOW_expression_in_expressionList347);
951 expression28=expression();
952
953 state._fsp--;
954 if (state.failed) return retval;
955 if ( state.backtracking==0 ) adaptor.addChild(root_0, expression28.getTree());
956
957 }
958 break;
959
960 default :
961 break loop5;
962 }
963 } while (true);
964
965
966 }
967
968 retval.stop = input.LT(-1);
969
970 if ( state.backtracking==0 ) {
971
972 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
973 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
974 }
975 }
976 catch (RecognitionException re) {
977 reportError(re);
978 recover(input,re);
979 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
980
981 }
982 finally {
983 }
984 return retval;
985 }
986 // $ANTLR end "expressionList"
987
988 public static class rangeOp_return extends ParserRuleReturnScope {
989 CommonTree tree;
990 public Object getTree() { return tree; }
991 };
992
993 // $ANTLR start "rangeOp"
994 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:80:1: rangeOp : from= rangeopArg RANGEOP to= rangeopArg -> ^( RANGEOP $from $to) ;
995 public final PropertyExpressionParser.rangeOp_return rangeOp() throws RecognitionException {
996 PropertyExpressionParser.rangeOp_return retval = new PropertyExpressionParser.rangeOp_return();
997 retval.start = input.LT(1);
998
999 CommonTree root_0 = null;
1000
1001 Token RANGEOP29=null;
1002 PropertyExpressionParser.rangeopArg_return from = null;
1003
1004 PropertyExpressionParser.rangeopArg_return to = null;
1005
1006
1007 CommonTree RANGEOP29_tree=null;
1008 RewriteRuleTokenStream stream_RANGEOP=new RewriteRuleTokenStream(adaptor,"token RANGEOP");
1009 RewriteRuleSubtreeStream stream_rangeopArg=new RewriteRuleSubtreeStream(adaptor,"rule rangeopArg");
1010 try {
1011 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:81:2: (from= rangeopArg RANGEOP to= rangeopArg -> ^( RANGEOP $from $to) )
1012 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:81:4: from= rangeopArg RANGEOP to= rangeopArg
1013 {
1014 pushFollow(FOLLOW_rangeopArg_in_rangeOp363);
1015 from=rangeopArg();
1016
1017 state._fsp--;
1018 if (state.failed) return retval;
1019 if ( state.backtracking==0 ) stream_rangeopArg.add(from.getTree());
1020 RANGEOP29=(Token)match(input,RANGEOP,FOLLOW_RANGEOP_in_rangeOp366); if (state.failed) return retval;
1021 if ( state.backtracking==0 ) stream_RANGEOP.add(RANGEOP29);
1022
1023 pushFollow(FOLLOW_rangeopArg_in_rangeOp370);
1024 to=rangeopArg();
1025
1026 state._fsp--;
1027 if (state.failed) return retval;
1028 if ( state.backtracking==0 ) stream_rangeopArg.add(to.getTree());
1029
1030
1031 // AST REWRITE
1032 // elements: RANGEOP, from, to
1033 // token labels:
1034 // rule labels: to, retval, from
1035 // token list labels:
1036 // rule list labels:
1037 // wildcard labels:
1038 if ( state.backtracking==0 ) {
1039 retval.tree = root_0;
1040 RewriteRuleSubtreeStream stream_to=new RewriteRuleSubtreeStream(adaptor,"rule to",to!=null?to.tree:null);
1041 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
1042 RewriteRuleSubtreeStream stream_from=new RewriteRuleSubtreeStream(adaptor,"rule from",from!=null?from.tree:null);
1043
1044 root_0 = (CommonTree)adaptor.nil();
1045 // 81:43: -> ^( RANGEOP $from $to)
1046 {
1047 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:81:46: ^( RANGEOP $from $to)
1048 {
1049 CommonTree root_1 = (CommonTree)adaptor.nil();
1050 root_1 = (CommonTree)adaptor.becomeRoot(stream_RANGEOP.nextNode(), root_1);
1051
1052 adaptor.addChild(root_1, stream_from.nextTree());
1053 adaptor.addChild(root_1, stream_to.nextTree());
1054
1055 adaptor.addChild(root_0, root_1);
1056 }
1057
1058 }
1059
1060 retval.tree = root_0;}
1061 }
1062
1063 retval.stop = input.LT(-1);
1064
1065 if ( state.backtracking==0 ) {
1066
1067 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1068 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1069 }
1070 }
1071 catch (RecognitionException re) {
1072 reportError(re);
1073 recover(input,re);
1074 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1075
1076 }
1077 finally {
1078 }
1079 return retval;
1080 }
1081 // $ANTLR end "rangeOp"
1082
1083 public static class rangeopArg_return extends ParserRuleReturnScope {
1084 CommonTree tree;
1085 public Object getTree() { return tree; }
1086 };
1087
1088 // $ANTLR start "rangeopArg"
1089 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:84:1: rangeopArg : ( INTEGER | propertyChain );
1090 public final PropertyExpressionParser.rangeopArg_return rangeopArg() throws RecognitionException {
1091 PropertyExpressionParser.rangeopArg_return retval = new PropertyExpressionParser.rangeopArg_return();
1092 retval.start = input.LT(1);
1093
1094 CommonTree root_0 = null;
1095
1096 Token INTEGER30=null;
1097 PropertyExpressionParser.propertyChain_return propertyChain31 = null;
1098
1099
1100 CommonTree INTEGER30_tree=null;
1101
1102 try {
1103 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:85:2: ( INTEGER | propertyChain )
1104 int alt6=2;
1105 int LA6_0 = input.LA(1);
1106
1107 if ( (LA6_0==INTEGER) ) {
1108 alt6=1;
1109 }
1110 else if ( (LA6_0==IDENTIFIER) ) {
1111 alt6=2;
1112 }
1113 else {
1114 if (state.backtracking>0) {state.failed=true; return retval;}
1115 NoViableAltException nvae =
1116 new NoViableAltException("", 6, 0, input);
1117
1118 throw nvae;
1119 }
1120 switch (alt6) {
1121 case 1 :
1122 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:85:4: INTEGER
1123 {
1124 root_0 = (CommonTree)adaptor.nil();
1125
1126 INTEGER30=(Token)match(input,INTEGER,FOLLOW_INTEGER_in_rangeopArg396); if (state.failed) return retval;
1127 if ( state.backtracking==0 ) {
1128 INTEGER30_tree = (CommonTree)adaptor.create(INTEGER30);
1129 adaptor.addChild(root_0, INTEGER30_tree);
1130 }
1131
1132 }
1133 break;
1134 case 2 :
1135 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:86:4: propertyChain
1136 {
1137 root_0 = (CommonTree)adaptor.nil();
1138
1139 pushFollow(FOLLOW_propertyChain_in_rangeopArg401);
1140 propertyChain31=propertyChain();
1141
1142 state._fsp--;
1143 if (state.failed) return retval;
1144 if ( state.backtracking==0 ) adaptor.addChild(root_0, propertyChain31.getTree());
1145
1146 }
1147 break;
1148
1149 }
1150 retval.stop = input.LT(-1);
1151
1152 if ( state.backtracking==0 ) {
1153
1154 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1155 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1156 }
1157 }
1158 catch (RecognitionException re) {
1159 reportError(re);
1160 recover(input,re);
1161 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1162
1163 }
1164 finally {
1165 }
1166 return retval;
1167 }
1168 // $ANTLR end "rangeopArg"
1169
1170 public static class list_return extends ParserRuleReturnScope {
1171 CommonTree tree;
1172 public Object getTree() { return tree; }
1173 };
1174
1175 // $ANTLR start "list"
1176 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:89:1: list : ( LBRACKET RBRACKET -> ^( LIST ) | LBRACKET expressionList RBRACKET -> ^( LIST expressionList ) );
1177 public final PropertyExpressionParser.list_return list() throws RecognitionException {
1178 PropertyExpressionParser.list_return retval = new PropertyExpressionParser.list_return();
1179 retval.start = input.LT(1);
1180
1181 CommonTree root_0 = null;
1182
1183 Token LBRACKET32=null;
1184 Token RBRACKET33=null;
1185 Token LBRACKET34=null;
1186 Token RBRACKET36=null;
1187 PropertyExpressionParser.expressionList_return expressionList35 = null;
1188
1189
1190 CommonTree LBRACKET32_tree=null;
1191 CommonTree RBRACKET33_tree=null;
1192 CommonTree LBRACKET34_tree=null;
1193 CommonTree RBRACKET36_tree=null;
1194 RewriteRuleTokenStream stream_LBRACKET=new RewriteRuleTokenStream(adaptor,"token LBRACKET");
1195 RewriteRuleTokenStream stream_RBRACKET=new RewriteRuleTokenStream(adaptor,"token RBRACKET");
1196 RewriteRuleSubtreeStream stream_expressionList=new RewriteRuleSubtreeStream(adaptor,"rule expressionList");
1197 try {
1198 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:89:6: ( LBRACKET RBRACKET -> ^( LIST ) | LBRACKET expressionList RBRACKET -> ^( LIST expressionList ) )
1199 int alt7=2;
1200 int LA7_0 = input.LA(1);
1201
1202 if ( (LA7_0==LBRACKET) ) {
1203 int LA7_1 = input.LA(2);
1204
1205 if ( (LA7_1==RBRACKET) ) {
1206 alt7=1;
1207 }
1208 else if ( (LA7_1==INTEGER||LA7_1==DECIMAL||LA7_1==LBRACKET||(LA7_1>=BANG && LA7_1<=LBRACE)||(LA7_1>=NULL && LA7_1<=THIS)||LA7_1==IDENTIFIER||LA7_1==STRING) ) {
1209 alt7=2;
1210 }
1211 else {
1212 if (state.backtracking>0) {state.failed=true; return retval;}
1213 NoViableAltException nvae =
1214 new NoViableAltException("", 7, 1, input);
1215
1216 throw nvae;
1217 }
1218 }
1219 else {
1220 if (state.backtracking>0) {state.failed=true; return retval;}
1221 NoViableAltException nvae =
1222 new NoViableAltException("", 7, 0, input);
1223
1224 throw nvae;
1225 }
1226 switch (alt7) {
1227 case 1 :
1228 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:89:8: LBRACKET RBRACKET
1229 {
1230 LBRACKET32=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_list413); if (state.failed) return retval;
1231 if ( state.backtracking==0 ) stream_LBRACKET.add(LBRACKET32);
1232
1233 RBRACKET33=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_list415); if (state.failed) return retval;
1234 if ( state.backtracking==0 ) stream_RBRACKET.add(RBRACKET33);
1235
1236
1237
1238 // AST REWRITE
1239 // elements:
1240 // token labels:
1241 // rule labels: retval
1242 // token list labels:
1243 // rule list labels:
1244 // wildcard labels:
1245 if ( state.backtracking==0 ) {
1246 retval.tree = root_0;
1247 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
1248
1249 root_0 = (CommonTree)adaptor.nil();
1250 // 89:26: -> ^( LIST )
1251 {
1252 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:89:29: ^( LIST )
1253 {
1254 CommonTree root_1 = (CommonTree)adaptor.nil();
1255 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(LIST, "LIST"), root_1);
1256
1257 adaptor.addChild(root_0, root_1);
1258 }
1259
1260 }
1261
1262 retval.tree = root_0;}
1263 }
1264 break;
1265 case 2 :
1266 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:90:4: LBRACKET expressionList RBRACKET
1267 {
1268 LBRACKET34=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_list426); if (state.failed) return retval;
1269 if ( state.backtracking==0 ) stream_LBRACKET.add(LBRACKET34);
1270
1271 pushFollow(FOLLOW_expressionList_in_list428);
1272 expressionList35=expressionList();
1273
1274 state._fsp--;
1275 if (state.failed) return retval;
1276 if ( state.backtracking==0 ) stream_expressionList.add(expressionList35.getTree());
1277 RBRACKET36=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_list430); if (state.failed) return retval;
1278 if ( state.backtracking==0 ) stream_RBRACKET.add(RBRACKET36);
1279
1280
1281
1282 // AST REWRITE
1283 // elements: expressionList
1284 // token labels:
1285 // rule labels: retval
1286 // token list labels:
1287 // rule list labels:
1288 // wildcard labels:
1289 if ( state.backtracking==0 ) {
1290 retval.tree = root_0;
1291 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
1292
1293 root_0 = (CommonTree)adaptor.nil();
1294 // 90:37: -> ^( LIST expressionList )
1295 {
1296 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:90:40: ^( LIST expressionList )
1297 {
1298 CommonTree root_1 = (CommonTree)adaptor.nil();
1299 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(LIST, "LIST"), root_1);
1300
1301 adaptor.addChild(root_1, stream_expressionList.nextTree());
1302
1303 adaptor.addChild(root_0, root_1);
1304 }
1305
1306 }
1307
1308 retval.tree = root_0;}
1309 }
1310 break;
1311
1312 }
1313 retval.stop = input.LT(-1);
1314
1315 if ( state.backtracking==0 ) {
1316
1317 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1318 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1319 }
1320 }
1321 catch (RecognitionException re) {
1322 reportError(re);
1323 recover(input,re);
1324 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1325
1326 }
1327 finally {
1328 }
1329 return retval;
1330 }
1331 // $ANTLR end "list"
1332
1333 public static class notOp_return extends ParserRuleReturnScope {
1334 CommonTree tree;
1335 public Object getTree() { return tree; }
1336 };
1337
1338 // $ANTLR start "notOp"
1339 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:93:1: notOp : BANG expression -> ^( NOT expression ) ;
1340 public final PropertyExpressionParser.notOp_return notOp() throws RecognitionException {
1341 PropertyExpressionParser.notOp_return retval = new PropertyExpressionParser.notOp_return();
1342 retval.start = input.LT(1);
1343
1344 CommonTree root_0 = null;
1345
1346 Token BANG37=null;
1347 PropertyExpressionParser.expression_return expression38 = null;
1348
1349
1350 CommonTree BANG37_tree=null;
1351 RewriteRuleTokenStream stream_BANG=new RewriteRuleTokenStream(adaptor,"token BANG");
1352 RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression");
1353 try {
1354 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:93:8: ( BANG expression -> ^( NOT expression ) )
1355 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:93:10: BANG expression
1356 {
1357 BANG37=(Token)match(input,BANG,FOLLOW_BANG_in_notOp451); if (state.failed) return retval;
1358 if ( state.backtracking==0 ) stream_BANG.add(BANG37);
1359
1360 pushFollow(FOLLOW_expression_in_notOp453);
1361 expression38=expression();
1362
1363 state._fsp--;
1364 if (state.failed) return retval;
1365 if ( state.backtracking==0 ) stream_expression.add(expression38.getTree());
1366
1367
1368 // AST REWRITE
1369 // elements: expression
1370 // token labels:
1371 // rule labels: retval
1372 // token list labels:
1373 // rule list labels:
1374 // wildcard labels:
1375 if ( state.backtracking==0 ) {
1376 retval.tree = root_0;
1377 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
1378
1379 root_0 = (CommonTree)adaptor.nil();
1380 // 93:26: -> ^( NOT expression )
1381 {
1382 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:93:29: ^( NOT expression )
1383 {
1384 CommonTree root_1 = (CommonTree)adaptor.nil();
1385 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(NOT, "NOT"), root_1);
1386
1387 adaptor.addChild(root_1, stream_expression.nextTree());
1388
1389 adaptor.addChild(root_0, root_1);
1390 }
1391
1392 }
1393
1394 retval.tree = root_0;}
1395 }
1396
1397 retval.stop = input.LT(-1);
1398
1399 if ( state.backtracking==0 ) {
1400
1401 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1402 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1403 }
1404 }
1405 catch (RecognitionException re) {
1406 reportError(re);
1407 recover(input,re);
1408 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1409
1410 }
1411 finally {
1412 }
1413 return retval;
1414 }
1415 // $ANTLR end "notOp"
1416
1417 public static class map_return extends ParserRuleReturnScope {
1418 CommonTree tree;
1419 public Object getTree() { return tree; }
1420 };
1421
1422 // $ANTLR start "map"
1423 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:96:1: map : ( LBRACE RBRACE -> ^( MAP ) | LBRACE mapEntryList RBRACE -> ^( MAP mapEntryList ) );
1424 public final PropertyExpressionParser.map_return map() throws RecognitionException {
1425 PropertyExpressionParser.map_return retval = new PropertyExpressionParser.map_return();
1426 retval.start = input.LT(1);
1427
1428 CommonTree root_0 = null;
1429
1430 Token LBRACE39=null;
1431 Token RBRACE40=null;
1432 Token LBRACE41=null;
1433 Token RBRACE43=null;
1434 PropertyExpressionParser.mapEntryList_return mapEntryList42 = null;
1435
1436
1437 CommonTree LBRACE39_tree=null;
1438 CommonTree RBRACE40_tree=null;
1439 CommonTree LBRACE41_tree=null;
1440 CommonTree RBRACE43_tree=null;
1441 RewriteRuleTokenStream stream_RBRACE=new RewriteRuleTokenStream(adaptor,"token RBRACE");
1442 RewriteRuleTokenStream stream_LBRACE=new RewriteRuleTokenStream(adaptor,"token LBRACE");
1443 RewriteRuleSubtreeStream stream_mapEntryList=new RewriteRuleSubtreeStream(adaptor,"rule mapEntryList");
1444 try {
1445 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:96:6: ( LBRACE RBRACE -> ^( MAP ) | LBRACE mapEntryList RBRACE -> ^( MAP mapEntryList ) )
1446 int alt8=2;
1447 int LA8_0 = input.LA(1);
1448
1449 if ( (LA8_0==LBRACE) ) {
1450 int LA8_1 = input.LA(2);
1451
1452 if ( (LA8_1==RBRACE) ) {
1453 alt8=1;
1454 }
1455 else if ( (LA8_1==INTEGER||LA8_1==DECIMAL||(LA8_1>=NULL && LA8_1<=THIS)||LA8_1==IDENTIFIER||LA8_1==STRING) ) {
1456 alt8=2;
1457 }
1458 else {
1459 if (state.backtracking>0) {state.failed=true; return retval;}
1460 NoViableAltException nvae =
1461 new NoViableAltException("", 8, 1, input);
1462
1463 throw nvae;
1464 }
1465 }
1466 else {
1467 if (state.backtracking>0) {state.failed=true; return retval;}
1468 NoViableAltException nvae =
1469 new NoViableAltException("", 8, 0, input);
1470
1471 throw nvae;
1472 }
1473 switch (alt8) {
1474 case 1 :
1475 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:96:8: LBRACE RBRACE
1476 {
1477 LBRACE39=(Token)match(input,LBRACE,FOLLOW_LBRACE_in_map472); if (state.failed) return retval;
1478 if ( state.backtracking==0 ) stream_LBRACE.add(LBRACE39);
1479
1480 RBRACE40=(Token)match(input,RBRACE,FOLLOW_RBRACE_in_map474); if (state.failed) return retval;
1481 if ( state.backtracking==0 ) stream_RBRACE.add(RBRACE40);
1482
1483
1484
1485 // AST REWRITE
1486 // elements:
1487 // token labels:
1488 // rule labels: retval
1489 // token list labels:
1490 // rule list labels:
1491 // wildcard labels:
1492 if ( state.backtracking==0 ) {
1493 retval.tree = root_0;
1494 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
1495
1496 root_0 = (CommonTree)adaptor.nil();
1497 // 96:22: -> ^( MAP )
1498 {
1499 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:96:25: ^( MAP )
1500 {
1501 CommonTree root_1 = (CommonTree)adaptor.nil();
1502 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(MAP, "MAP"), root_1);
1503
1504 adaptor.addChild(root_0, root_1);
1505 }
1506
1507 }
1508
1509 retval.tree = root_0;}
1510 }
1511 break;
1512 case 2 :
1513 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:97:4: LBRACE mapEntryList RBRACE
1514 {
1515 LBRACE41=(Token)match(input,LBRACE,FOLLOW_LBRACE_in_map485); if (state.failed) return retval;
1516 if ( state.backtracking==0 ) stream_LBRACE.add(LBRACE41);
1517
1518 pushFollow(FOLLOW_mapEntryList_in_map487);
1519 mapEntryList42=mapEntryList();
1520
1521 state._fsp--;
1522 if (state.failed) return retval;
1523 if ( state.backtracking==0 ) stream_mapEntryList.add(mapEntryList42.getTree());
1524 RBRACE43=(Token)match(input,RBRACE,FOLLOW_RBRACE_in_map489); if (state.failed) return retval;
1525 if ( state.backtracking==0 ) stream_RBRACE.add(RBRACE43);
1526
1527
1528
1529 // AST REWRITE
1530 // elements: mapEntryList
1531 // token labels:
1532 // rule labels: retval
1533 // token list labels:
1534 // rule list labels:
1535 // wildcard labels:
1536 if ( state.backtracking==0 ) {
1537 retval.tree = root_0;
1538 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
1539
1540 root_0 = (CommonTree)adaptor.nil();
1541 // 97:31: -> ^( MAP mapEntryList )
1542 {
1543 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:97:34: ^( MAP mapEntryList )
1544 {
1545 CommonTree root_1 = (CommonTree)adaptor.nil();
1546 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(MAP, "MAP"), root_1);
1547
1548 adaptor.addChild(root_1, stream_mapEntryList.nextTree());
1549
1550 adaptor.addChild(root_0, root_1);
1551 }
1552
1553 }
1554
1555 retval.tree = root_0;}
1556 }
1557 break;
1558
1559 }
1560 retval.stop = input.LT(-1);
1561
1562 if ( state.backtracking==0 ) {
1563
1564 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1565 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1566 }
1567 }
1568 catch (RecognitionException re) {
1569 reportError(re);
1570 recover(input,re);
1571 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1572
1573 }
1574 finally {
1575 }
1576 return retval;
1577 }
1578 // $ANTLR end "map"
1579
1580 public static class mapEntryList_return extends ParserRuleReturnScope {
1581 CommonTree tree;
1582 public Object getTree() { return tree; }
1583 };
1584
1585 // $ANTLR start "mapEntryList"
1586 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:100:1: mapEntryList : mapEntry ( COMMA mapEntry )* ;
1587 public final PropertyExpressionParser.mapEntryList_return mapEntryList() throws RecognitionException {
1588 PropertyExpressionParser.mapEntryList_return retval = new PropertyExpressionParser.mapEntryList_return();
1589 retval.start = input.LT(1);
1590
1591 CommonTree root_0 = null;
1592
1593 Token COMMA45=null;
1594 PropertyExpressionParser.mapEntry_return mapEntry44 = null;
1595
1596 PropertyExpressionParser.mapEntry_return mapEntry46 = null;
1597
1598
1599 CommonTree COMMA45_tree=null;
1600
1601 try {
1602 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:100:14: ( mapEntry ( COMMA mapEntry )* )
1603 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:100:16: mapEntry ( COMMA mapEntry )*
1604 {
1605 root_0 = (CommonTree)adaptor.nil();
1606
1607 pushFollow(FOLLOW_mapEntry_in_mapEntryList511);
1608 mapEntry44=mapEntry();
1609
1610 state._fsp--;
1611 if (state.failed) return retval;
1612 if ( state.backtracking==0 ) adaptor.addChild(root_0, mapEntry44.getTree());
1613 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:100:25: ( COMMA mapEntry )*
1614 loop9:
1615 do {
1616 int alt9=2;
1617 int LA9_0 = input.LA(1);
1618
1619 if ( (LA9_0==COMMA) ) {
1620 alt9=1;
1621 }
1622
1623
1624 switch (alt9) {
1625 case 1 :
1626 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:100:26: COMMA mapEntry
1627 {
1628 COMMA45=(Token)match(input,COMMA,FOLLOW_COMMA_in_mapEntryList514); if (state.failed) return retval;
1629 pushFollow(FOLLOW_mapEntry_in_mapEntryList517);
1630 mapEntry46=mapEntry();
1631
1632 state._fsp--;
1633 if (state.failed) return retval;
1634 if ( state.backtracking==0 ) adaptor.addChild(root_0, mapEntry46.getTree());
1635
1636 }
1637 break;
1638
1639 default :
1640 break loop9;
1641 }
1642 } while (true);
1643
1644
1645 }
1646
1647 retval.stop = input.LT(-1);
1648
1649 if ( state.backtracking==0 ) {
1650
1651 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1652 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1653 }
1654 }
1655 catch (RecognitionException re) {
1656 reportError(re);
1657 recover(input,re);
1658 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1659
1660 }
1661 finally {
1662 }
1663 return retval;
1664 }
1665 // $ANTLR end "mapEntryList"
1666
1667 public static class mapEntry_return extends ParserRuleReturnScope {
1668 CommonTree tree;
1669 public Object getTree() { return tree; }
1670 };
1671
1672 // $ANTLR start "mapEntry"
1673 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:102:1: mapEntry : mapKey COLON expression ;
1674 public final PropertyExpressionParser.mapEntry_return mapEntry() throws RecognitionException {
1675 PropertyExpressionParser.mapEntry_return retval = new PropertyExpressionParser.mapEntry_return();
1676 retval.start = input.LT(1);
1677
1678 CommonTree root_0 = null;
1679
1680 Token COLON48=null;
1681 PropertyExpressionParser.mapKey_return mapKey47 = null;
1682
1683 PropertyExpressionParser.expression_return expression49 = null;
1684
1685
1686 CommonTree COLON48_tree=null;
1687
1688 try {
1689 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:102:10: ( mapKey COLON expression )
1690 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:102:13: mapKey COLON expression
1691 {
1692 root_0 = (CommonTree)adaptor.nil();
1693
1694 pushFollow(FOLLOW_mapKey_in_mapEntry528);
1695 mapKey47=mapKey();
1696
1697 state._fsp--;
1698 if (state.failed) return retval;
1699 if ( state.backtracking==0 ) adaptor.addChild(root_0, mapKey47.getTree());
1700 COLON48=(Token)match(input,COLON,FOLLOW_COLON_in_mapEntry530); if (state.failed) return retval;
1701 pushFollow(FOLLOW_expression_in_mapEntry533);
1702 expression49=expression();
1703
1704 state._fsp--;
1705 if (state.failed) return retval;
1706 if ( state.backtracking==0 ) adaptor.addChild(root_0, expression49.getTree());
1707
1708 }
1709
1710 retval.stop = input.LT(-1);
1711
1712 if ( state.backtracking==0 ) {
1713
1714 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1715 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1716 }
1717 }
1718 catch (RecognitionException re) {
1719 reportError(re);
1720 recover(input,re);
1721 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1722
1723 }
1724 finally {
1725 }
1726 return retval;
1727 }
1728 // $ANTLR end "mapEntry"
1729
1730 public static class mapKey_return extends ParserRuleReturnScope {
1731 CommonTree tree;
1732 public Object getTree() { return tree; }
1733 };
1734
1735 // $ANTLR start "mapKey"
1736 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:104:1: mapKey : ( keyword | constant | propertyChain );
1737 public final PropertyExpressionParser.mapKey_return mapKey() throws RecognitionException {
1738 PropertyExpressionParser.mapKey_return retval = new PropertyExpressionParser.mapKey_return();
1739 retval.start = input.LT(1);
1740
1741 CommonTree root_0 = null;
1742
1743 PropertyExpressionParser.keyword_return keyword50 = null;
1744
1745 PropertyExpressionParser.constant_return constant51 = null;
1746
1747 PropertyExpressionParser.propertyChain_return propertyChain52 = null;
1748
1749
1750
1751 try {
1752 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:104:8: ( keyword | constant | propertyChain )
1753 int alt10=3;
1754 switch ( input.LA(1) ) {
1755 case NULL:
1756 case TRUE:
1757 case FALSE:
1758 case THIS:
1759 {
1760 alt10=1;
1761 }
1762 break;
1763 case INTEGER:
1764 case DECIMAL:
1765 case STRING:
1766 {
1767 alt10=2;
1768 }
1769 break;
1770 case IDENTIFIER:
1771 {
1772 alt10=3;
1773 }
1774 break;
1775 default:
1776 if (state.backtracking>0) {state.failed=true; return retval;}
1777 NoViableAltException nvae =
1778 new NoViableAltException("", 10, 0, input);
1779
1780 throw nvae;
1781 }
1782
1783 switch (alt10) {
1784 case 1 :
1785 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:104:10: keyword
1786 {
1787 root_0 = (CommonTree)adaptor.nil();
1788
1789 pushFollow(FOLLOW_keyword_in_mapKey542);
1790 keyword50=keyword();
1791
1792 state._fsp--;
1793 if (state.failed) return retval;
1794 if ( state.backtracking==0 ) adaptor.addChild(root_0, keyword50.getTree());
1795
1796 }
1797 break;
1798 case 2 :
1799 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:104:20: constant
1800 {
1801 root_0 = (CommonTree)adaptor.nil();
1802
1803 pushFollow(FOLLOW_constant_in_mapKey546);
1804 constant51=constant();
1805
1806 state._fsp--;
1807 if (state.failed) return retval;
1808 if ( state.backtracking==0 ) adaptor.addChild(root_0, constant51.getTree());
1809
1810 }
1811 break;
1812 case 3 :
1813 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:104:31: propertyChain
1814 {
1815 root_0 = (CommonTree)adaptor.nil();
1816
1817 pushFollow(FOLLOW_propertyChain_in_mapKey550);
1818 propertyChain52=propertyChain();
1819
1820 state._fsp--;
1821 if (state.failed) return retval;
1822 if ( state.backtracking==0 ) adaptor.addChild(root_0, propertyChain52.getTree());
1823
1824 }
1825 break;
1826
1827 }
1828 retval.stop = input.LT(-1);
1829
1830 if ( state.backtracking==0 ) {
1831
1832 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
1833 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
1834 }
1835 }
1836 catch (RecognitionException re) {
1837 reportError(re);
1838 recover(input,re);
1839 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
1840
1841 }
1842 finally {
1843 }
1844 return retval;
1845 }
1846 // $ANTLR end "mapKey"
1847
1848 // $ANTLR start synpred2_PropertyExpressionParser
1849 public final void synpred2_PropertyExpressionParser_fragment() throws RecognitionException {
1850 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:49:4: ( rangeOp )
1851 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:49:4: rangeOp
1852 {
1853 pushFollow(FOLLOW_rangeOp_in_synpred2_PropertyExpressionParser150);
1854 rangeOp();
1855
1856 state._fsp--;
1857 if (state.failed) return ;
1858
1859 }
1860 }
1861 // $ANTLR end synpred2_PropertyExpressionParser
1862
1863 // $ANTLR start synpred3_PropertyExpressionParser
1864 public final void synpred3_PropertyExpressionParser_fragment() throws RecognitionException {
1865 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:50:4: ( constant )
1866 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:50:4: constant
1867 {
1868 pushFollow(FOLLOW_constant_in_synpred3_PropertyExpressionParser155);
1869 constant();
1870
1871 state._fsp--;
1872 if (state.failed) return ;
1873
1874 }
1875 }
1876 // $ANTLR end synpred3_PropertyExpressionParser
1877
1878 // $ANTLR start synpred4_PropertyExpressionParser
1879 public final void synpred4_PropertyExpressionParser_fragment() throws RecognitionException {
1880 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:51:4: ( propertyChain )
1881 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:51:4: propertyChain
1882 {
1883 pushFollow(FOLLOW_propertyChain_in_synpred4_PropertyExpressionParser160);
1884 propertyChain();
1885
1886 state._fsp--;
1887 if (state.failed) return ;
1888
1889 }
1890 }
1891 // $ANTLR end synpred4_PropertyExpressionParser
1892
1893 // $ANTLR start synpred12_PropertyExpressionParser
1894 public final void synpred12_PropertyExpressionParser_fragment() throws RecognitionException {
1895 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:62:4: ( term DEREF propertyChain )
1896 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:62:4: term DEREF propertyChain
1897 {
1898 pushFollow(FOLLOW_term_in_synpred12_PropertyExpressionParser222);
1899 term();
1900
1901 state._fsp--;
1902 if (state.failed) return ;
1903 match(input,DEREF,FOLLOW_DEREF_in_synpred12_PropertyExpressionParser224); if (state.failed) return ;
1904 pushFollow(FOLLOW_propertyChain_in_synpred12_PropertyExpressionParser226);
1905 propertyChain();
1906
1907 state._fsp--;
1908 if (state.failed) return ;
1909
1910 }
1911 }
1912 // $ANTLR end synpred12_PropertyExpressionParser
1913
1914 // $ANTLR start synpred13_PropertyExpressionParser
1915 public final void synpred13_PropertyExpressionParser_fragment() throws RecognitionException {
1916 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:63:4: ( term SAFEDEREF propertyChain )
1917 // /home/massimo/workspaces/TapestryGit/tapestry-5/tapestry-core/src/main/antlr/org/apache/tapestry5/internal/antlr/PropertyExpressionParser.g:63:4: term SAFEDEREF propertyChain
1918 {
1919 pushFollow(FOLLOW_term_in_synpred13_PropertyExpressionParser241);
1920 term();
1921
1922 state._fsp--;
1923 if (state.failed) return ;
1924 match(input,SAFEDEREF,FOLLOW_SAFEDEREF_in_synpred13_PropertyExpressionParser243); if (state.failed) return ;
1925 pushFollow(FOLLOW_propertyChain_in_synpred13_PropertyExpressionParser245);
1926 propertyChain();
1927
1928 state._fsp--;
1929 if (state.failed) return ;
1930
1931 }
1932 }
1933 // $ANTLR end synpred13_PropertyExpressionParser
1934
1935 // Delegated rules
1936
1937 public final boolean synpred4_PropertyExpressionParser() {
1938 state.backtracking++;
1939 int start = input.mark();
1940 try {
1941 synpred4_PropertyExpressionParser_fragment(); // can never throw exception
1942 } catch (RecognitionException re) {
1943 System.err.println("impossible: "+re);
1944 }
1945 boolean success = !state.failed;
1946 input.rewind(start);
1947 state.backtracking--;
1948 state.failed=false;
1949 return success;
1950 }
1951 public final boolean synpred12_PropertyExpressionParser() {
1952 state.backtracking++;
1953 int start = input.mark();
1954 try {
1955 synpred12_PropertyExpressionParser_fragment(); // can never throw exception
1956 } catch (RecognitionException re) {
1957 System.err.println("impossible: "+re);
1958 }
1959 boolean success = !state.failed;
1960 input.rewind(start);
1961 state.backtracking--;
1962 state.failed=false;
1963 return success;
1964 }
1965 public final boolean synpred13_PropertyExpressionParser() {
1966 state.backtracking++;
1967 int start = input.mark();
1968 try {
1969 synpred13_PropertyExpressionParser_fragment(); // can never throw exception
1970 } catch (RecognitionException re) {
1971 System.err.println("impossible: "+re);
1972 }
1973 boolean success = !state.failed;
1974 input.rewind(start);
1975 state.backtracking--;
1976 state.failed=false;
1977 return success;
1978 }
1979 public final boolean synpred3_PropertyExpressionParser() {
1980 state.backtracking++;
1981 int start = input.mark();
1982 try {
1983 synpred3_PropertyExpressionParser_fragment(); // can never throw exception
1984 } catch (RecognitionException re) {
1985 System.err.println("impossible: "+re);
1986 }
1987 boolean success = !state.failed;
1988 input.rewind(start);
1989 state.backtracking--;
1990 state.failed=false;
1991 return success;
1992 }
1993 public final boolean synpred2_PropertyExpressionParser() {
1994 state.backtracking++;
1995 int start = input.mark();
1996 try {
1997 synpred2_PropertyExpressionParser_fragment(); // can never throw exception
1998 } catch (RecognitionException re) {
1999 System.err.println("impossible: "+re);
2000 }
2001 boolean success = !state.failed;
2002 input.rewind(start);
2003 state.backtracking--;
2004 state.failed=false;
2005 return success;
2006 }
2007
2008
2009 protected DFA1 dfa1 = new DFA1(this);
2010 static final String DFA1_eotS =
2011 "\12\uffff";
2012 static final String DFA1_eofS =
2013 "\12\uffff";
2014 static final String DFA1_minS =
2015 "\1\4\1\uffff\2\0\6\uffff";
2016 static final String DFA1_maxS =
2017 "\1\51\1\uffff\2\0\6\uffff";
2018 static final String DFA1_acceptS =
2019 "\1\uffff\1\1\2\uffff\1\3\1\5\1\6\1\7\1\2\1\4";
2020 static final String DFA1_specialS =
2021 "\2\uffff\1\0\1\1\6\uffff}>";
2022 static final String[] DFA1_transitionS = {
2023 "\1\2\2\uffff\1\4\5\uffff\1\5\2\uffff\1\6\1\7\16\uffff\4\1\2"+
2024 "\uffff\1\3\2\uffff\1\4",
2025 "",
2026 "\1\uffff",
2027 "\1\uffff",
2028 "",
2029 "",
2030 "",
2031 "",
2032 "",
2033 ""
2034 };
2035
2036 static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS);
2037 static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS);
2038 static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS);
2039 static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS);
2040 static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS);
2041 static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS);
2042 static final short[][] DFA1_transition;
2043
2044 static {
2045 int numStates = DFA1_transitionS.length;
2046 DFA1_transition = new short[numStates][];
2047 for (int i=0; i<numStates; i++) {
2048 DFA1_transition[i] = DFA.unpackEncodedString(DFA1_transitionS[i]);
2049 }
2050 }
2051
2052 class DFA1 extends DFA {
2053
2054 public DFA1(BaseRecognizer recognizer) {
2055 this.recognizer = recognizer;
2056 this.decisionNumber = 1;
2057 this.eot = DFA1_eot;
2058 this.eof = DFA1_eof;
2059 this.min = DFA1_min;
2060 this.max = DFA1_max;
2061 this.accept = DFA1_accept;
2062 this.special = DFA1_special;
2063 this.transition = DFA1_transition;
2064 }
2065 public String getDescription() {
2066 return "47:1: expression : ( keyword | rangeOp | constant | propertyChain | list | notOp | map );";
2067 }
2068 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
2069 TokenStream input = (TokenStream)_input;
2070 int _s = s;
2071 switch ( s ) {
2072 case 0 :
2073 int LA1_2 = input.LA(1);
2074
2075
2076 int index1_2 = input.index();
2077 input.rewind();
2078 s = -1;
2079 if ( (synpred2_PropertyExpressionParser()) ) {s = 8;}
2080
2081 else if ( (synpred3_PropertyExpressionParser()) ) {s = 4;}
2082
2083
2084 input.seek(index1_2);
2085 if ( s>=0 ) return s;
2086 break;
2087 case 1 :
2088 int LA1_3 = input.LA(1);
2089
2090
2091 int index1_3 = input.index();
2092 input.rewind();
2093 s = -1;
2094 if ( (synpred2_PropertyExpressionParser()) ) {s = 8;}
2095
2096 else if ( (synpred4_PropertyExpressionParser()) ) {s = 9;}
2097
2098
2099 input.seek(index1_3);
2100 if ( s>=0 ) return s;
2101 break;
2102 }
2103 if (state.backtracking>0) {state.failed=true; return -1;}
2104 NoViableAltException nvae =
2105 new NoViableAltException(getDescription(), 1, _s, input);
2106 error(nvae);
2107 throw nvae;
2108 }
2109 }
2110
2111
2112 public static final BitSet FOLLOW_expression_in_start130 = new BitSet(new long[]{0x0000000000000000L});
2113 public static final BitSet FOLLOW_EOF_in_start133 = new BitSet(new long[]{0x0000000000000002L});
2114 public static final BitSet FOLLOW_keyword_in_expression145 = new BitSet(new long[]{0x0000000000000002L});
2115 public static final BitSet FOLLOW_rangeOp_in_expression150 = new BitSet(new long[]{0x0000000000000002L});
2116 public static final BitSet FOLLOW_constant_in_expression155 = new BitSet(new long[]{0x0000000000000002L});
2117 public static final BitSet FOLLOW_propertyChain_in_expression160 = new BitSet(new long[]{0x0000000000000002L});
2118 public static final BitSet FOLLOW_list_in_expression165 = new BitSet(new long[]{0x0000000000000002L});
2119 public static final BitSet FOLLOW_notOp_in_expression170 = new BitSet(new long[]{0x0000000000000002L});
2120 public static final BitSet FOLLOW_map_in_expression175 = new BitSet(new long[]{0x0000000000000002L});
2121 public static final BitSet FOLLOW_set_in_keyword0 = new BitSet(new long[]{0x0000000000000002L});
2122 public static final BitSet FOLLOW_set_in_constant0 = new BitSet(new long[]{0x0000000000000002L});
2123 public static final BitSet FOLLOW_term_in_propertyChain222 = new BitSet(new long[]{0x0000000000000020L});
2124 public static final BitSet FOLLOW_DEREF_in_propertyChain224 = new BitSet(new long[]{0x0000004000000000L});
2125 public static final BitSet FOLLOW_propertyChain_in_propertyChain226 = new BitSet(new long[]{0x0000000000000002L});
2126 public static final BitSet FOLLOW_term_in_propertyChain241 = new BitSet(new long[]{0x0000008000000000L});
2127 public static final BitSet FOLLOW_SAFEDEREF_in_propertyChain243 = new BitSet(new long[]{0x0000004000000000L});
2128 public static final BitSet FOLLOW_propertyChain_in_propertyChain245 = new BitSet(new long[]{0x0000000000000002L});
2129 public static final BitSet FOLLOW_term_in_propertyChain260 = new BitSet(new long[]{0x0000000000000002L});
2130 public static final BitSet FOLLOW_IDENTIFIER_in_term272 = new BitSet(new long[]{0x0000000000000002L});
2131 public static final BitSet FOLLOW_methodInvocation_in_term277 = new BitSet(new long[]{0x0000000000000002L});
2132 public static final BitSet FOLLOW_IDENTIFIER_in_methodInvocation291 = new BitSet(new long[]{0x0000000000000800L});
2133 public static final BitSet FOLLOW_LPAREN_in_methodInvocation293 = new BitSet(new long[]{0x0000000000001000L});
2134 public static final BitSet FOLLOW_RPAREN_in_methodInvocation295 = new BitSet(new long[]{0x0000000000000002L});
2135 public static final BitSet FOLLOW_IDENTIFIER_in_methodInvocation311 = new BitSet(new long[]{0x0000000000000800L});
2136 public static final BitSet FOLLOW_LPAREN_in_methodInvocation313 = new BitSet(new long[]{0x0000024F00032090L});
2137 public static final BitSet FOLLOW_expressionList_in_methodInvocation315 = new BitSet(new long[]{0x0000000000001000L});
2138 public static final BitSet FOLLOW_RPAREN_in_methodInvocation317 = new BitSet(new long[]{0x0000000000000002L});
2139 public static final BitSet FOLLOW_expression_in_expressionList341 = new BitSet(new long[]{0x0000000000008002L});
2140 public static final BitSet FOLLOW_COMMA_in_expressionList344 = new BitSet(new long[]{0x0000024F00032090L});
2141 public static final BitSet FOLLOW_expression_in_expressionList347 = new BitSet(new long[]{0x0000000000008002L});
2142 public static final BitSet FOLLOW_rangeopArg_in_rangeOp363 = new BitSet(new long[]{0x0000000000000040L});
2143 public static final BitSet FOLLOW_RANGEOP_in_rangeOp366 = new BitSet(new long[]{0x0000004000000010L});
2144 public static final BitSet FOLLOW_rangeopArg_in_rangeOp370 = new BitSet(new long[]{0x0000000000000002L});
2145 public static final BitSet FOLLOW_INTEGER_in_rangeopArg396 = new BitSet(new long[]{0x0000000000000002L});
2146 public static final BitSet FOLLOW_propertyChain_in_rangeopArg401 = new BitSet(new long[]{0x0000000000000002L});
2147 public static final BitSet FOLLOW_LBRACKET_in_list413 = new BitSet(new long[]{0x0000000000004000L});
2148 public static final BitSet FOLLOW_RBRACKET_in_list415 = new BitSet(new long[]{0x0000000000000002L});
2149 public static final BitSet FOLLOW_LBRACKET_in_list426 = new BitSet(new long[]{0x0000024F00032090L});
2150 public static final BitSet FOLLOW_expressionList_in_list428 = new BitSet(new long[]{0x0000000000004000L});
2151 public static final BitSet FOLLOW_RBRACKET_in_list430 = new BitSet(new long[]{0x0000000000000002L});
2152 public static final BitSet FOLLOW_BANG_in_notOp451 = new BitSet(new long[]{0x0000024F00032090L});
2153 public static final BitSet FOLLOW_expression_in_notOp453 = new BitSet(new long[]{0x0000000000000002L});
2154 public static final BitSet FOLLOW_LBRACE_in_map472 = new BitSet(new long[]{0x0000000000040000L});
2155 public static final BitSet FOLLOW_RBRACE_in_map474 = new BitSet(new long[]{0x0000000000000002L});
2156 public static final BitSet FOLLOW_LBRACE_in_map485 = new BitSet(new long[]{0x0000024F00000090L});
2157 public static final BitSet FOLLOW_mapEntryList_in_map487 = new BitSet(new long[]{0x0000000000040000L});
2158 public static final BitSet FOLLOW_RBRACE_in_map489 = new BitSet(new long[]{0x0000000000000002L});
2159 public static final BitSet FOLLOW_mapEntry_in_mapEntryList511 = new BitSet(new long[]{0x0000000000008002L});
2160 public static final BitSet FOLLOW_COMMA_in_mapEntryList514 = new BitSet(new long[]{0x0000024F00000090L});
2161 public static final BitSet FOLLOW_mapEntry_in_mapEntryList517 = new BitSet(new long[]{0x0000000000008002L});
2162 public static final BitSet FOLLOW_mapKey_in_mapEntry528 = new BitSet(new long[]{0x0000000000080000L});
2163 public static final BitSet FOLLOW_COLON_in_mapEntry530 = new BitSet(new long[]{0x0000024F00032090L});
2164 public static final BitSet FOLLOW_expression_in_mapEntry533 = new BitSet(new long[]{0x0000000000000002L});
2165 public static final BitSet FOLLOW_keyword_in_mapKey542 = new BitSet(new long[]{0x0000000000000002L});
2166 public static final BitSet FOLLOW_constant_in_mapKey546 = new BitSet(new long[]{0x0000000000000002L});
2167 public static final BitSet FOLLOW_propertyChain_in_mapKey550 = new BitSet(new long[]{0x0000000000000002L});
2168 public static final BitSet FOLLOW_rangeOp_in_synpred2_PropertyExpressionParser150 = new BitSet(new long[]{0x0000000000000002L});
2169 public static final BitSet FOLLOW_constant_in_synpred3_PropertyExpressionParser155 = new BitSet(new long[]{0x0000000000000002L});
2170 public static final BitSet FOLLOW_propertyChain_in_synpred4_PropertyExpressionParser160 = new BitSet(new long[]{0x0000000000000002L});
2171 public static final BitSet FOLLOW_term_in_synpred12_PropertyExpressionParser222 = new BitSet(new long[]{0x0000000000000020L});
2172 public static final BitSet FOLLOW_DEREF_in_synpred12_PropertyExpressionParser224 = new BitSet(new long[]{0x0000004000000000L});
2173 public static final BitSet FOLLOW_propertyChain_in_synpred12_PropertyExpressionParser226 = new BitSet(new long[]{0x0000000000000002L});
2174 public static final BitSet FOLLOW_term_in_synpred13_PropertyExpressionParser241 = new BitSet(new long[]{0x0000008000000000L});
2175 public static final BitSet FOLLOW_SAFEDEREF_in_synpred13_PropertyExpressionParser243 = new BitSet(new long[]{0x0000004000000000L});
2176 public static final BitSet FOLLOW_propertyChain_in_synpred13_PropertyExpressionParser245 = new BitSet(new long[]{0x0000000000000002L});
2177
2178 }