1 | |
|
2 | |
package org.apache.commons.el.parser; |
3 | |
|
4 | |
import java.util.ArrayList; |
5 | |
import java.util.List; |
6 | |
|
7 | |
import org.apache.commons.el.AndOperator; |
8 | |
import org.apache.commons.el.ArraySuffix; |
9 | |
import org.apache.commons.el.BinaryOperator; |
10 | |
import org.apache.commons.el.BinaryOperatorExpression; |
11 | |
import org.apache.commons.el.BooleanLiteral; |
12 | |
import org.apache.commons.el.ComplexValue; |
13 | |
import org.apache.commons.el.ConditionalExpression; |
14 | |
import org.apache.commons.el.DivideOperator; |
15 | |
import org.apache.commons.el.EmptyOperator; |
16 | |
import org.apache.commons.el.EqualsOperator; |
17 | |
import org.apache.commons.el.Expression; |
18 | |
import org.apache.commons.el.ExpressionString; |
19 | |
import org.apache.commons.el.FloatingPointLiteral; |
20 | |
import org.apache.commons.el.FunctionInvocation; |
21 | |
import org.apache.commons.el.GreaterThanOperator; |
22 | |
import org.apache.commons.el.GreaterThanOrEqualsOperator; |
23 | |
import org.apache.commons.el.IntegerLiteral; |
24 | |
import org.apache.commons.el.LessThanOperator; |
25 | |
import org.apache.commons.el.LessThanOrEqualsOperator; |
26 | |
import org.apache.commons.el.Literal; |
27 | |
import org.apache.commons.el.MinusOperator; |
28 | |
import org.apache.commons.el.ModulusOperator; |
29 | |
import org.apache.commons.el.MultiplyOperator; |
30 | |
import org.apache.commons.el.NamedValue; |
31 | |
import org.apache.commons.el.NotEqualsOperator; |
32 | |
import org.apache.commons.el.NotOperator; |
33 | |
import org.apache.commons.el.NullLiteral; |
34 | |
import org.apache.commons.el.OrOperator; |
35 | |
import org.apache.commons.el.PlusOperator; |
36 | |
import org.apache.commons.el.PropertySuffix; |
37 | |
import org.apache.commons.el.StringLiteral; |
38 | |
import org.apache.commons.el.UnaryMinusOperator; |
39 | |
import org.apache.commons.el.UnaryOperator; |
40 | |
import org.apache.commons.el.UnaryOperatorExpression; |
41 | |
import org.apache.commons.el.ValueSuffix; |
42 | |
|
43 | |
|
44 | |
|
45 | |
|
46 | |
|
47 | |
|
48 | |
|
49 | |
|
50 | |
public class ELParser implements ELParserConstants { |
51 | |
|
52 | |
public static void main(String args[]) |
53 | |
throws ParseException |
54 | |
{ |
55 | 0 | ELParser parser = new ELParser (System.in); |
56 | 0 | parser.ExpressionString (); |
57 | 0 | } |
58 | |
|
59 | |
|
60 | |
|
61 | |
|
62 | |
|
63 | |
|
64 | |
|
65 | |
|
66 | |
|
67 | |
|
68 | |
|
69 | |
final public Object ExpressionString() throws ParseException { |
70 | 8 | Object ret = ""; |
71 | 8 | List elems = null; |
72 | |
Object elem; |
73 | 8 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
74 | |
case NON_EXPRESSION_TEXT: |
75 | 0 | ret = AttrValueString(); |
76 | 0 | break; |
77 | |
case START_EXPRESSION: |
78 | 8 | ret = AttrValueExpression(); |
79 | 8 | break; |
80 | |
default: |
81 | 0 | jj_la1[0] = jj_gen; |
82 | 0 | jj_consume_token(-1); |
83 | 0 | throw new ParseException(); |
84 | |
} |
85 | |
label_1: |
86 | |
while (true) { |
87 | 8 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
88 | |
case NON_EXPRESSION_TEXT: |
89 | |
case START_EXPRESSION: |
90 | |
; |
91 | 0 | break; |
92 | |
default: |
93 | 8 | jj_la1[1] = jj_gen; |
94 | 8 | break label_1; |
95 | |
} |
96 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
97 | |
case NON_EXPRESSION_TEXT: |
98 | 0 | elem = AttrValueString(); |
99 | 0 | break; |
100 | |
case START_EXPRESSION: |
101 | 0 | elem = AttrValueExpression(); |
102 | 0 | break; |
103 | |
default: |
104 | 0 | jj_la1[2] = jj_gen; |
105 | 0 | jj_consume_token(-1); |
106 | 0 | throw new ParseException(); |
107 | |
} |
108 | 0 | if (elems == null) { |
109 | 0 | elems = new ArrayList (); |
110 | 0 | elems.add (ret); |
111 | |
} |
112 | 0 | elems.add (elem); |
113 | |
} |
114 | 8 | if (elems != null) { |
115 | 0 | ret = new ExpressionString (elems.toArray ()); |
116 | |
} |
117 | 8 | {if (true) return ret;} |
118 | |
throw new Error("Missing return statement in function"); |
119 | |
} |
120 | |
|
121 | |
final public String AttrValueString() throws ParseException { |
122 | |
Token t; |
123 | 0 | t = jj_consume_token(NON_EXPRESSION_TEXT); |
124 | 0 | {if (true) return t.image;} |
125 | |
throw new Error("Missing return statement in function"); |
126 | |
} |
127 | |
|
128 | |
final public Expression AttrValueExpression() throws ParseException { |
129 | |
Expression exp; |
130 | 8 | jj_consume_token(START_EXPRESSION); |
131 | 8 | exp = Expression(); |
132 | 8 | jj_consume_token(END_EXPRESSION); |
133 | 8 | {if (true) return exp;} |
134 | |
throw new Error("Missing return statement in function"); |
135 | |
} |
136 | |
|
137 | |
final public Expression Expression() throws ParseException { |
138 | |
Expression ret; |
139 | 9 | if (jj_2_1(2147483647)) { |
140 | 0 | ret = ConditionalExpression(); |
141 | |
} else { |
142 | 9 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
143 | |
case INTEGER_LITERAL: |
144 | |
case FLOATING_POINT_LITERAL: |
145 | |
case STRING_LITERAL: |
146 | |
case TRUE: |
147 | |
case FALSE: |
148 | |
case NULL: |
149 | |
case LPAREN: |
150 | |
case MINUS: |
151 | |
case NOT1: |
152 | |
case NOT2: |
153 | |
case EMPTY: |
154 | |
case IDENTIFIER: |
155 | 9 | ret = OrExpression(); |
156 | 9 | break; |
157 | |
default: |
158 | 0 | jj_la1[3] = jj_gen; |
159 | 0 | jj_consume_token(-1); |
160 | 0 | throw new ParseException(); |
161 | |
} |
162 | |
} |
163 | 9 | {if (true) return ret;} |
164 | |
throw new Error("Missing return statement in function"); |
165 | |
} |
166 | |
|
167 | |
final public Expression OrExpression() throws ParseException { |
168 | |
Expression startExpression; |
169 | |
BinaryOperator operator; |
170 | |
Expression expression; |
171 | 9 | List operators = null; |
172 | 9 | List expressions = null; |
173 | 9 | startExpression = AndExpression(); |
174 | |
label_2: |
175 | |
while (true) { |
176 | 9 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
177 | |
case OR1: |
178 | |
case OR2: |
179 | |
; |
180 | 0 | break; |
181 | |
default: |
182 | 9 | jj_la1[4] = jj_gen; |
183 | 9 | break label_2; |
184 | |
} |
185 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
186 | |
case OR1: |
187 | 0 | jj_consume_token(OR1); |
188 | 0 | break; |
189 | |
case OR2: |
190 | 0 | jj_consume_token(OR2); |
191 | 0 | break; |
192 | |
default: |
193 | 0 | jj_la1[5] = jj_gen; |
194 | 0 | jj_consume_token(-1); |
195 | 0 | throw new ParseException(); |
196 | |
} |
197 | 0 | operator = OrOperator.SINGLETON; |
198 | 0 | expression = AndExpression(); |
199 | 0 | if (operators == null) { |
200 | 0 | operators = new ArrayList (); |
201 | 0 | expressions = new ArrayList (); |
202 | |
} |
203 | 0 | operators.add (operator); |
204 | 0 | expressions.add (expression); |
205 | |
} |
206 | 9 | if (operators != null) { |
207 | 0 | {if (true) return new BinaryOperatorExpression (startExpression, |
208 | |
operators, |
209 | |
expressions);} |
210 | |
} |
211 | |
else { |
212 | 9 | {if (true) return startExpression;} |
213 | |
} |
214 | |
throw new Error("Missing return statement in function"); |
215 | |
} |
216 | |
|
217 | |
final public Expression AndExpression() throws ParseException { |
218 | |
Expression startExpression; |
219 | |
BinaryOperator operator; |
220 | |
Expression expression; |
221 | 9 | List operators = null; |
222 | 9 | List expressions = null; |
223 | 9 | startExpression = EqualityExpression(); |
224 | |
label_3: |
225 | |
while (true) { |
226 | 9 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
227 | |
case AND1: |
228 | |
case AND2: |
229 | |
; |
230 | 0 | break; |
231 | |
default: |
232 | 9 | jj_la1[6] = jj_gen; |
233 | 9 | break label_3; |
234 | |
} |
235 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
236 | |
case AND1: |
237 | 0 | jj_consume_token(AND1); |
238 | 0 | break; |
239 | |
case AND2: |
240 | 0 | jj_consume_token(AND2); |
241 | 0 | break; |
242 | |
default: |
243 | 0 | jj_la1[7] = jj_gen; |
244 | 0 | jj_consume_token(-1); |
245 | 0 | throw new ParseException(); |
246 | |
} |
247 | 0 | operator = AndOperator.SINGLETON; |
248 | 0 | expression = EqualityExpression(); |
249 | 0 | if (operators == null) { |
250 | 0 | operators = new ArrayList (); |
251 | 0 | expressions = new ArrayList (); |
252 | |
} |
253 | 0 | operators.add (operator); |
254 | 0 | expressions.add (expression); |
255 | |
} |
256 | 9 | if (operators != null) { |
257 | 0 | {if (true) return new BinaryOperatorExpression (startExpression, |
258 | |
operators, |
259 | |
expressions);} |
260 | |
} |
261 | |
else { |
262 | 9 | {if (true) return startExpression;} |
263 | |
} |
264 | |
throw new Error("Missing return statement in function"); |
265 | |
} |
266 | |
|
267 | |
final public Expression EqualityExpression() throws ParseException { |
268 | |
Expression startExpression; |
269 | |
BinaryOperator operator; |
270 | |
Expression expression; |
271 | 9 | List operators = null; |
272 | 9 | List expressions = null; |
273 | 9 | startExpression = RelationalExpression(); |
274 | |
label_4: |
275 | |
while (true) { |
276 | 9 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
277 | |
case EQ1: |
278 | |
case EQ2: |
279 | |
case NE1: |
280 | |
case NE2: |
281 | |
; |
282 | 0 | break; |
283 | |
default: |
284 | 9 | jj_la1[8] = jj_gen; |
285 | 9 | break label_4; |
286 | |
} |
287 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
288 | |
case EQ1: |
289 | |
case EQ2: |
290 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
291 | |
case EQ1: |
292 | 0 | jj_consume_token(EQ1); |
293 | 0 | break; |
294 | |
case EQ2: |
295 | 0 | jj_consume_token(EQ2); |
296 | 0 | break; |
297 | |
default: |
298 | 0 | jj_la1[9] = jj_gen; |
299 | 0 | jj_consume_token(-1); |
300 | 0 | throw new ParseException(); |
301 | |
} |
302 | 0 | operator = EqualsOperator.SINGLETON; |
303 | 0 | break; |
304 | |
case NE1: |
305 | |
case NE2: |
306 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
307 | |
case NE1: |
308 | 0 | jj_consume_token(NE1); |
309 | 0 | break; |
310 | |
case NE2: |
311 | 0 | jj_consume_token(NE2); |
312 | 0 | break; |
313 | |
default: |
314 | 0 | jj_la1[10] = jj_gen; |
315 | 0 | jj_consume_token(-1); |
316 | 0 | throw new ParseException(); |
317 | |
} |
318 | 0 | operator = NotEqualsOperator.SINGLETON; |
319 | 0 | break; |
320 | |
default: |
321 | 0 | jj_la1[11] = jj_gen; |
322 | 0 | jj_consume_token(-1); |
323 | 0 | throw new ParseException(); |
324 | |
} |
325 | 0 | expression = RelationalExpression(); |
326 | 0 | if (operators == null) { |
327 | 0 | operators = new ArrayList (); |
328 | 0 | expressions = new ArrayList (); |
329 | |
} |
330 | 0 | operators.add (operator); |
331 | 0 | expressions.add (expression); |
332 | |
} |
333 | 9 | if (operators != null) { |
334 | 0 | {if (true) return new BinaryOperatorExpression (startExpression, |
335 | |
operators, |
336 | |
expressions);} |
337 | |
} |
338 | |
else { |
339 | 9 | {if (true) return startExpression;} |
340 | |
} |
341 | |
throw new Error("Missing return statement in function"); |
342 | |
} |
343 | |
|
344 | |
final public Expression RelationalExpression() throws ParseException { |
345 | |
Expression startExpression; |
346 | |
BinaryOperator operator; |
347 | |
Expression expression; |
348 | 9 | List operators = null; |
349 | 9 | List expressions = null; |
350 | 9 | startExpression = AddExpression(); |
351 | |
label_5: |
352 | |
while (true) { |
353 | 9 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
354 | |
case GT1: |
355 | |
case GT2: |
356 | |
case LT1: |
357 | |
case LT2: |
358 | |
case LE1: |
359 | |
case LE2: |
360 | |
case GE1: |
361 | |
case GE2: |
362 | |
; |
363 | 0 | break; |
364 | |
default: |
365 | 9 | jj_la1[12] = jj_gen; |
366 | 9 | break label_5; |
367 | |
} |
368 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
369 | |
case LT1: |
370 | |
case LT2: |
371 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
372 | |
case LT1: |
373 | 0 | jj_consume_token(LT1); |
374 | 0 | break; |
375 | |
case LT2: |
376 | 0 | jj_consume_token(LT2); |
377 | 0 | break; |
378 | |
default: |
379 | 0 | jj_la1[13] = jj_gen; |
380 | 0 | jj_consume_token(-1); |
381 | 0 | throw new ParseException(); |
382 | |
} |
383 | 0 | operator = LessThanOperator.SINGLETON; |
384 | 0 | break; |
385 | |
case GT1: |
386 | |
case GT2: |
387 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
388 | |
case GT1: |
389 | 0 | jj_consume_token(GT1); |
390 | 0 | break; |
391 | |
case GT2: |
392 | 0 | jj_consume_token(GT2); |
393 | 0 | break; |
394 | |
default: |
395 | 0 | jj_la1[14] = jj_gen; |
396 | 0 | jj_consume_token(-1); |
397 | 0 | throw new ParseException(); |
398 | |
} |
399 | 0 | operator = GreaterThanOperator.SINGLETON; |
400 | 0 | break; |
401 | |
case GE1: |
402 | |
case GE2: |
403 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
404 | |
case GE1: |
405 | 0 | jj_consume_token(GE1); |
406 | 0 | break; |
407 | |
case GE2: |
408 | 0 | jj_consume_token(GE2); |
409 | 0 | break; |
410 | |
default: |
411 | 0 | jj_la1[15] = jj_gen; |
412 | 0 | jj_consume_token(-1); |
413 | 0 | throw new ParseException(); |
414 | |
} |
415 | 0 | operator = GreaterThanOrEqualsOperator.SINGLETON; |
416 | 0 | break; |
417 | |
case LE1: |
418 | |
case LE2: |
419 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
420 | |
case LE1: |
421 | 0 | jj_consume_token(LE1); |
422 | 0 | break; |
423 | |
case LE2: |
424 | 0 | jj_consume_token(LE2); |
425 | 0 | break; |
426 | |
default: |
427 | 0 | jj_la1[16] = jj_gen; |
428 | 0 | jj_consume_token(-1); |
429 | 0 | throw new ParseException(); |
430 | |
} |
431 | 0 | operator = LessThanOrEqualsOperator.SINGLETON; |
432 | 0 | break; |
433 | |
default: |
434 | 0 | jj_la1[17] = jj_gen; |
435 | 0 | jj_consume_token(-1); |
436 | 0 | throw new ParseException(); |
437 | |
} |
438 | 0 | expression = AddExpression(); |
439 | 0 | if (operators == null) { |
440 | 0 | operators = new ArrayList (); |
441 | 0 | expressions = new ArrayList (); |
442 | |
} |
443 | 0 | operators.add (operator); |
444 | 0 | expressions.add (expression); |
445 | |
} |
446 | 9 | if (operators != null) { |
447 | 0 | {if (true) return new BinaryOperatorExpression (startExpression, |
448 | |
operators, |
449 | |
expressions);} |
450 | |
} |
451 | |
else { |
452 | 9 | {if (true) return startExpression;} |
453 | |
} |
454 | |
throw new Error("Missing return statement in function"); |
455 | |
} |
456 | |
|
457 | |
final public Expression AddExpression() throws ParseException { |
458 | |
Expression startExpression; |
459 | |
BinaryOperator operator; |
460 | |
Expression expression; |
461 | 9 | List operators = null; |
462 | 9 | List expressions = null; |
463 | 9 | startExpression = MultiplyExpression(); |
464 | |
label_6: |
465 | |
while (true) { |
466 | 11 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
467 | |
case PLUS: |
468 | |
case MINUS: |
469 | |
; |
470 | 2 | break; |
471 | |
default: |
472 | 9 | jj_la1[18] = jj_gen; |
473 | 9 | break label_6; |
474 | |
} |
475 | 2 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
476 | |
case PLUS: |
477 | 1 | jj_consume_token(PLUS); |
478 | 1 | operator = PlusOperator.SINGLETON; |
479 | 1 | break; |
480 | |
case MINUS: |
481 | 1 | jj_consume_token(MINUS); |
482 | 1 | operator = MinusOperator.SINGLETON; |
483 | 1 | break; |
484 | |
default: |
485 | 0 | jj_la1[19] = jj_gen; |
486 | 0 | jj_consume_token(-1); |
487 | 0 | throw new ParseException(); |
488 | |
} |
489 | 2 | expression = MultiplyExpression(); |
490 | 2 | if (operators == null) { |
491 | 2 | operators = new ArrayList (); |
492 | 2 | expressions = new ArrayList (); |
493 | |
} |
494 | 2 | operators.add (operator); |
495 | 2 | expressions.add (expression); |
496 | |
} |
497 | 9 | if (operators != null) { |
498 | 2 | {if (true) return new BinaryOperatorExpression (startExpression, |
499 | |
operators, |
500 | |
expressions);} |
501 | |
} |
502 | |
else { |
503 | 7 | {if (true) return startExpression;} |
504 | |
} |
505 | |
throw new Error("Missing return statement in function"); |
506 | |
} |
507 | |
|
508 | |
final public Expression MultiplyExpression() throws ParseException { |
509 | |
Expression startExpression; |
510 | |
BinaryOperator operator; |
511 | |
Expression expression; |
512 | 11 | List operators = null; |
513 | 11 | List expressions = null; |
514 | 11 | startExpression = UnaryExpression(); |
515 | |
label_7: |
516 | |
while (true) { |
517 | 11 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
518 | |
case MULTIPLY: |
519 | |
case DIVIDE1: |
520 | |
case DIVIDE2: |
521 | |
case MODULUS1: |
522 | |
case MODULUS2: |
523 | |
; |
524 | 0 | break; |
525 | |
default: |
526 | 11 | jj_la1[20] = jj_gen; |
527 | 11 | break label_7; |
528 | |
} |
529 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
530 | |
case MULTIPLY: |
531 | 0 | jj_consume_token(MULTIPLY); |
532 | 0 | operator = MultiplyOperator.SINGLETON; |
533 | 0 | break; |
534 | |
case DIVIDE1: |
535 | |
case DIVIDE2: |
536 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
537 | |
case DIVIDE1: |
538 | 0 | jj_consume_token(DIVIDE1); |
539 | 0 | break; |
540 | |
case DIVIDE2: |
541 | 0 | jj_consume_token(DIVIDE2); |
542 | 0 | break; |
543 | |
default: |
544 | 0 | jj_la1[21] = jj_gen; |
545 | 0 | jj_consume_token(-1); |
546 | 0 | throw new ParseException(); |
547 | |
} |
548 | 0 | operator = DivideOperator.SINGLETON; |
549 | 0 | break; |
550 | |
case MODULUS1: |
551 | |
case MODULUS2: |
552 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
553 | |
case MODULUS1: |
554 | 0 | jj_consume_token(MODULUS1); |
555 | 0 | break; |
556 | |
case MODULUS2: |
557 | 0 | jj_consume_token(MODULUS2); |
558 | 0 | break; |
559 | |
default: |
560 | 0 | jj_la1[22] = jj_gen; |
561 | 0 | jj_consume_token(-1); |
562 | 0 | throw new ParseException(); |
563 | |
} |
564 | 0 | operator = ModulusOperator.SINGLETON; |
565 | 0 | break; |
566 | |
default: |
567 | 0 | jj_la1[23] = jj_gen; |
568 | 0 | jj_consume_token(-1); |
569 | 0 | throw new ParseException(); |
570 | |
} |
571 | 0 | expression = UnaryExpression(); |
572 | 0 | if (operators == null) { |
573 | 0 | operators = new ArrayList (); |
574 | 0 | expressions = new ArrayList (); |
575 | |
} |
576 | 0 | operators.add (operator); |
577 | 0 | expressions.add (expression); |
578 | |
} |
579 | 11 | if (operators != null) { |
580 | 0 | {if (true) return new BinaryOperatorExpression (startExpression, |
581 | |
operators, |
582 | |
expressions);} |
583 | |
} |
584 | |
else { |
585 | 11 | {if (true) return startExpression;} |
586 | |
} |
587 | |
throw new Error("Missing return statement in function"); |
588 | |
} |
589 | |
|
590 | |
final public Expression ConditionalExpression() throws ParseException { |
591 | |
Expression condition, trueBranch, falseBranch; |
592 | 0 | condition = OrExpression(); |
593 | 0 | jj_consume_token(COND); |
594 | 0 | trueBranch = Expression(); |
595 | 0 | jj_consume_token(COLON); |
596 | 0 | falseBranch = Expression(); |
597 | 0 | {if (true) return new ConditionalExpression(condition, trueBranch, falseBranch);} |
598 | |
throw new Error("Missing return statement in function"); |
599 | |
} |
600 | |
|
601 | |
final public Expression UnaryExpression() throws ParseException { |
602 | |
Expression expression; |
603 | 11 | UnaryOperator singleOperator = null; |
604 | |
UnaryOperator operator; |
605 | 11 | List operators = null; |
606 | |
label_8: |
607 | |
while (true) { |
608 | 11 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
609 | |
case MINUS: |
610 | |
case NOT1: |
611 | |
case NOT2: |
612 | |
case EMPTY: |
613 | |
; |
614 | 0 | break; |
615 | |
default: |
616 | 11 | jj_la1[24] = jj_gen; |
617 | 11 | break label_8; |
618 | |
} |
619 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
620 | |
case NOT1: |
621 | |
case NOT2: |
622 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
623 | |
case NOT1: |
624 | 0 | jj_consume_token(NOT1); |
625 | 0 | break; |
626 | |
case NOT2: |
627 | 0 | jj_consume_token(NOT2); |
628 | 0 | break; |
629 | |
default: |
630 | 0 | jj_la1[25] = jj_gen; |
631 | 0 | jj_consume_token(-1); |
632 | 0 | throw new ParseException(); |
633 | |
} |
634 | 0 | operator = NotOperator.SINGLETON; |
635 | 0 | break; |
636 | |
case MINUS: |
637 | 0 | jj_consume_token(MINUS); |
638 | 0 | operator = UnaryMinusOperator.SINGLETON; |
639 | 0 | break; |
640 | |
case EMPTY: |
641 | 0 | jj_consume_token(EMPTY); |
642 | 0 | operator = EmptyOperator.SINGLETON; |
643 | 0 | break; |
644 | |
default: |
645 | 0 | jj_la1[26] = jj_gen; |
646 | 0 | jj_consume_token(-1); |
647 | 0 | throw new ParseException(); |
648 | |
} |
649 | 0 | if (singleOperator == null) { |
650 | 0 | singleOperator = operator; |
651 | |
} |
652 | 0 | else if (operators == null) { |
653 | 0 | operators = new ArrayList (); |
654 | 0 | operators.add (singleOperator); |
655 | 0 | operators.add (operator); |
656 | |
} |
657 | |
else { |
658 | 0 | operators.add (operator); |
659 | |
} |
660 | |
} |
661 | 11 | expression = Value(); |
662 | 11 | if (operators != null) { |
663 | 0 | {if (true) return new UnaryOperatorExpression (null, operators, expression);} |
664 | |
} |
665 | 11 | else if (singleOperator != null) { |
666 | 0 | {if (true) return new UnaryOperatorExpression (singleOperator, null, expression);} |
667 | |
} |
668 | |
else { |
669 | 11 | {if (true) return expression;} |
670 | |
} |
671 | |
throw new Error("Missing return statement in function"); |
672 | |
} |
673 | |
|
674 | |
final public Expression Value() throws ParseException { |
675 | |
Expression prefix; |
676 | |
ValueSuffix suffix; |
677 | 11 | List suffixes = null; |
678 | 11 | prefix = ValuePrefix(); |
679 | |
label_9: |
680 | |
while (true) { |
681 | 11 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
682 | |
case DOT: |
683 | |
case LBRACKET: |
684 | |
; |
685 | 0 | break; |
686 | |
default: |
687 | 11 | jj_la1[27] = jj_gen; |
688 | 11 | break label_9; |
689 | |
} |
690 | 0 | suffix = ValueSuffix(); |
691 | 0 | if (suffixes == null) { |
692 | 0 | suffixes = new ArrayList (); |
693 | |
} |
694 | 0 | suffixes.add (suffix); |
695 | |
} |
696 | 11 | if (suffixes == null) { |
697 | 11 | {if (true) return prefix;} |
698 | |
} |
699 | |
else { |
700 | 0 | {if (true) return new ComplexValue (prefix, suffixes);} |
701 | |
} |
702 | |
throw new Error("Missing return statement in function"); |
703 | |
} |
704 | |
|
705 | |
|
706 | |
|
707 | |
|
708 | |
final public Expression ValuePrefix() throws ParseException { |
709 | |
Expression ret; |
710 | 11 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
711 | |
case INTEGER_LITERAL: |
712 | |
case FLOATING_POINT_LITERAL: |
713 | |
case STRING_LITERAL: |
714 | |
case TRUE: |
715 | |
case FALSE: |
716 | |
case NULL: |
717 | 8 | ret = Literal(); |
718 | 8 | break; |
719 | |
case LPAREN: |
720 | 0 | jj_consume_token(LPAREN); |
721 | 0 | ret = Expression(); |
722 | 0 | jj_consume_token(RPAREN); |
723 | 0 | break; |
724 | |
default: |
725 | 3 | jj_la1[28] = jj_gen; |
726 | 3 | if (jj_2_2(2147483647)) { |
727 | 3 | ret = FunctionInvocation(); |
728 | |
} else { |
729 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
730 | |
case IDENTIFIER: |
731 | 0 | ret = NamedValue(); |
732 | 0 | break; |
733 | |
default: |
734 | 0 | jj_la1[29] = jj_gen; |
735 | 0 | jj_consume_token(-1); |
736 | 0 | throw new ParseException(); |
737 | |
} |
738 | |
} |
739 | |
} |
740 | 11 | {if (true) return ret;} |
741 | |
throw new Error("Missing return statement in function"); |
742 | |
} |
743 | |
|
744 | |
final public NamedValue NamedValue() throws ParseException { |
745 | |
Token t; |
746 | 0 | t = jj_consume_token(IDENTIFIER); |
747 | 0 | {if (true) return new NamedValue (t.image);} |
748 | |
throw new Error("Missing return statement in function"); |
749 | |
} |
750 | |
|
751 | |
final public FunctionInvocation FunctionInvocation() throws ParseException { |
752 | |
String qualifiedName; |
753 | 3 | List argumentList = new ArrayList(); |
754 | |
Expression exp; |
755 | 3 | qualifiedName = QualifiedName(); |
756 | 3 | jj_consume_token(LPAREN); |
757 | 3 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
758 | |
case INTEGER_LITERAL: |
759 | |
case FLOATING_POINT_LITERAL: |
760 | |
case STRING_LITERAL: |
761 | |
case TRUE: |
762 | |
case FALSE: |
763 | |
case NULL: |
764 | |
case LPAREN: |
765 | |
case MINUS: |
766 | |
case NOT1: |
767 | |
case NOT2: |
768 | |
case EMPTY: |
769 | |
case IDENTIFIER: |
770 | 1 | exp = Expression(); |
771 | 1 | argumentList.add(exp); |
772 | |
label_10: |
773 | |
while (true) { |
774 | 1 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
775 | |
case COMMA: |
776 | |
; |
777 | 0 | break; |
778 | |
default: |
779 | 1 | jj_la1[30] = jj_gen; |
780 | 1 | break label_10; |
781 | |
} |
782 | 0 | jj_consume_token(COMMA); |
783 | 0 | exp = Expression(); |
784 | 0 | argumentList.add(exp); |
785 | |
} |
786 | |
break; |
787 | |
default: |
788 | 2 | jj_la1[31] = jj_gen; |
789 | |
; |
790 | |
} |
791 | 3 | jj_consume_token(RPAREN); |
792 | 3 | {if (true) return new FunctionInvocation(qualifiedName, argumentList);} |
793 | |
throw new Error("Missing return statement in function"); |
794 | |
} |
795 | |
|
796 | |
final public ValueSuffix ValueSuffix() throws ParseException { |
797 | |
ValueSuffix suffix; |
798 | 0 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
799 | |
case DOT: |
800 | 0 | suffix = PropertySuffix(); |
801 | 0 | break; |
802 | |
case LBRACKET: |
803 | 0 | suffix = ArraySuffix(); |
804 | 0 | break; |
805 | |
default: |
806 | 0 | jj_la1[32] = jj_gen; |
807 | 0 | jj_consume_token(-1); |
808 | 0 | throw new ParseException(); |
809 | |
} |
810 | 0 | {if (true) return suffix;} |
811 | |
throw new Error("Missing return statement in function"); |
812 | |
} |
813 | |
|
814 | |
final public PropertySuffix PropertySuffix() throws ParseException { |
815 | |
Token t; |
816 | |
String property; |
817 | 0 | jj_consume_token(DOT); |
818 | 0 | property = Identifier(); |
819 | 0 | {if (true) return new PropertySuffix (property);} |
820 | |
throw new Error("Missing return statement in function"); |
821 | |
} |
822 | |
|
823 | |
final public ArraySuffix ArraySuffix() throws ParseException { |
824 | |
Expression index; |
825 | 0 | jj_consume_token(LBRACKET); |
826 | 0 | index = Expression(); |
827 | 0 | jj_consume_token(RBRACKET); |
828 | 0 | {if (true) return new ArraySuffix (index);} |
829 | |
throw new Error("Missing return statement in function"); |
830 | |
} |
831 | |
|
832 | |
final public Literal Literal() throws ParseException { |
833 | |
Literal ret; |
834 | 8 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
835 | |
case TRUE: |
836 | |
case FALSE: |
837 | 1 | ret = BooleanLiteral(); |
838 | 1 | break; |
839 | |
case INTEGER_LITERAL: |
840 | 4 | ret = IntegerLiteral(); |
841 | 4 | break; |
842 | |
case FLOATING_POINT_LITERAL: |
843 | 0 | ret = FloatingPointLiteral(); |
844 | 0 | break; |
845 | |
case STRING_LITERAL: |
846 | 3 | ret = StringLiteral(); |
847 | 3 | break; |
848 | |
case NULL: |
849 | 0 | ret = NullLiteral(); |
850 | 0 | break; |
851 | |
default: |
852 | 0 | jj_la1[33] = jj_gen; |
853 | 0 | jj_consume_token(-1); |
854 | 0 | throw new ParseException(); |
855 | |
} |
856 | 8 | {if (true) return ret;} |
857 | |
throw new Error("Missing return statement in function"); |
858 | |
} |
859 | |
|
860 | |
final public BooleanLiteral BooleanLiteral() throws ParseException { |
861 | 1 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
862 | |
case TRUE: |
863 | 1 | jj_consume_token(TRUE); |
864 | 1 | {if (true) return BooleanLiteral.TRUE;} |
865 | |
break; |
866 | |
case FALSE: |
867 | 0 | jj_consume_token(FALSE); |
868 | 0 | {if (true) return BooleanLiteral.FALSE;} |
869 | |
break; |
870 | |
default: |
871 | 0 | jj_la1[34] = jj_gen; |
872 | 0 | jj_consume_token(-1); |
873 | 0 | throw new ParseException(); |
874 | |
} |
875 | |
throw new Error("Missing return statement in function"); |
876 | |
} |
877 | |
|
878 | |
final public StringLiteral StringLiteral() throws ParseException { |
879 | |
Token t; |
880 | 3 | t = jj_consume_token(STRING_LITERAL); |
881 | 3 | {if (true) return StringLiteral.fromToken (t.image);} |
882 | |
throw new Error("Missing return statement in function"); |
883 | |
} |
884 | |
|
885 | |
final public IntegerLiteral IntegerLiteral() throws ParseException { |
886 | |
Token t; |
887 | 4 | t = jj_consume_token(INTEGER_LITERAL); |
888 | 4 | {if (true) return new IntegerLiteral (t.image);} |
889 | |
throw new Error("Missing return statement in function"); |
890 | |
} |
891 | |
|
892 | |
final public FloatingPointLiteral FloatingPointLiteral() throws ParseException { |
893 | |
Token t; |
894 | 0 | t = jj_consume_token(FLOATING_POINT_LITERAL); |
895 | 0 | {if (true) return new FloatingPointLiteral (t.image);} |
896 | |
throw new Error("Missing return statement in function"); |
897 | |
} |
898 | |
|
899 | |
final public NullLiteral NullLiteral() throws ParseException { |
900 | 0 | jj_consume_token(NULL); |
901 | 0 | {if (true) return NullLiteral.SINGLETON;} |
902 | |
throw new Error("Missing return statement in function"); |
903 | |
} |
904 | |
|
905 | |
final public String Identifier() throws ParseException { |
906 | |
Token t; |
907 | 3 | t = jj_consume_token(IDENTIFIER); |
908 | 3 | {if (true) return t.image;} |
909 | |
throw new Error("Missing return statement in function"); |
910 | |
} |
911 | |
|
912 | |
final public String QualifiedName() throws ParseException { |
913 | 3 | String prefix = null, localPart = null; |
914 | 3 | if (jj_2_3(2147483647)) { |
915 | 0 | prefix = Identifier(); |
916 | 0 | jj_consume_token(COLON); |
917 | |
} else { |
918 | |
; |
919 | |
} |
920 | 3 | localPart = Identifier(); |
921 | 3 | if (prefix == null) |
922 | 3 | {if (true) return localPart;} |
923 | |
else |
924 | 0 | {if (true) return prefix + ":" + localPart;} |
925 | |
throw new Error("Missing return statement in function"); |
926 | |
} |
927 | |
|
928 | |
final private boolean jj_2_1(int xla) { |
929 | 9 | jj_la = xla; jj_lastpos = jj_scanpos = token; |
930 | 9 | boolean retval = !jj_3_1(); |
931 | 9 | jj_save(0, xla); |
932 | 9 | return retval; |
933 | |
} |
934 | |
|
935 | |
final private boolean jj_2_2(int xla) { |
936 | 3 | jj_la = xla; jj_lastpos = jj_scanpos = token; |
937 | 3 | boolean retval = !jj_3_2(); |
938 | 3 | jj_save(1, xla); |
939 | 3 | return retval; |
940 | |
} |
941 | |
|
942 | |
final private boolean jj_2_3(int xla) { |
943 | 3 | jj_la = xla; jj_lastpos = jj_scanpos = token; |
944 | 3 | boolean retval = !jj_3_3(); |
945 | 3 | jj_save(2, xla); |
946 | 3 | return retval; |
947 | |
} |
948 | |
|
949 | |
final private boolean jj_3R_42() { |
950 | 11 | if (jj_scan_token(NE2)) return true; |
951 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
952 | 0 | return false; |
953 | |
} |
954 | |
|
955 | |
final private boolean jj_3R_91() { |
956 | 16 | if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; |
957 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
958 | 0 | return false; |
959 | |
} |
960 | |
|
961 | |
final private boolean jj_3R_40() { |
962 | 11 | if (jj_scan_token(EQ2)) return true; |
963 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
964 | 0 | return false; |
965 | |
} |
966 | |
|
967 | |
final private boolean jj_3R_41() { |
968 | 11 | if (jj_scan_token(NE1)) return true; |
969 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
970 | 0 | return false; |
971 | |
} |
972 | |
|
973 | |
final private boolean jj_3R_32() { |
974 | |
Token xsp; |
975 | 11 | xsp = jj_scanpos; |
976 | 11 | if (jj_3R_41()) { |
977 | 11 | jj_scanpos = xsp; |
978 | 11 | if (jj_3R_42()) return true; |
979 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
980 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
981 | 0 | return false; |
982 | |
} |
983 | |
|
984 | |
final private boolean jj_3R_90() { |
985 | 20 | if (jj_scan_token(INTEGER_LITERAL)) return true; |
986 | 4 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
987 | 4 | return false; |
988 | |
} |
989 | |
|
990 | |
final private boolean jj_3R_39() { |
991 | 11 | if (jj_scan_token(EQ1)) return true; |
992 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
993 | 0 | return false; |
994 | |
} |
995 | |
|
996 | |
final private boolean jj_3R_31() { |
997 | |
Token xsp; |
998 | 11 | xsp = jj_scanpos; |
999 | 11 | if (jj_3R_39()) { |
1000 | 11 | jj_scanpos = xsp; |
1001 | 11 | if (jj_3R_40()) return true; |
1002 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1003 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1004 | 0 | return false; |
1005 | |
} |
1006 | |
|
1007 | |
final private boolean jj_3R_26() { |
1008 | |
Token xsp; |
1009 | 11 | xsp = jj_scanpos; |
1010 | 11 | if (jj_3R_31()) { |
1011 | 11 | jj_scanpos = xsp; |
1012 | 11 | if (jj_3R_32()) return true; |
1013 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1014 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1015 | 0 | if (jj_3R_25()) return true; |
1016 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1017 | 0 | return false; |
1018 | |
} |
1019 | |
|
1020 | |
final private boolean jj_3R_70() { |
1021 | 21 | if (jj_scan_token(NOT2)) return true; |
1022 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1023 | 0 | return false; |
1024 | |
} |
1025 | |
|
1026 | |
final private boolean jj_3R_21() { |
1027 | 19 | if (jj_3R_25()) return true; |
1028 | 11 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1029 | |
Token xsp; |
1030 | |
while (true) { |
1031 | 11 | xsp = jj_scanpos; |
1032 | 11 | if (jj_3R_26()) { jj_scanpos = xsp; break; } |
1033 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1034 | |
} |
1035 | 11 | return false; |
1036 | |
} |
1037 | |
|
1038 | |
final private boolean jj_3R_92() { |
1039 | 16 | if (jj_scan_token(STRING_LITERAL)) return true; |
1040 | 3 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1041 | 3 | return false; |
1042 | |
} |
1043 | |
|
1044 | |
final private boolean jj_3R_62() { |
1045 | 21 | if (jj_scan_token(EMPTY)) return true; |
1046 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1047 | 0 | return false; |
1048 | |
} |
1049 | |
|
1050 | |
final private boolean jj_3R_61() { |
1051 | 21 | if (jj_scan_token(MINUS)) return true; |
1052 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1053 | 0 | return false; |
1054 | |
} |
1055 | |
|
1056 | |
final private boolean jj_3R_69() { |
1057 | 21 | if (jj_scan_token(NOT1)) return true; |
1058 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1059 | 0 | return false; |
1060 | |
} |
1061 | |
|
1062 | |
final private boolean jj_3R_60() { |
1063 | |
Token xsp; |
1064 | 21 | xsp = jj_scanpos; |
1065 | 21 | if (jj_3R_69()) { |
1066 | 21 | jj_scanpos = xsp; |
1067 | 21 | if (jj_3R_70()) return true; |
1068 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1069 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1070 | 0 | return false; |
1071 | |
} |
1072 | |
|
1073 | |
final private boolean jj_3R_55() { |
1074 | |
Token xsp; |
1075 | 21 | xsp = jj_scanpos; |
1076 | 21 | if (jj_3R_60()) { |
1077 | 21 | jj_scanpos = xsp; |
1078 | 21 | if (jj_3R_61()) { |
1079 | 21 | jj_scanpos = xsp; |
1080 | 21 | if (jj_3R_62()) return true; |
1081 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1082 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1083 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1084 | 0 | return false; |
1085 | |
} |
1086 | |
|
1087 | |
final private boolean jj_3R_96() { |
1088 | 20 | if (jj_scan_token(FALSE)) return true; |
1089 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1090 | 0 | return false; |
1091 | |
} |
1092 | |
|
1093 | |
final private boolean jj_3R_43() { |
1094 | |
Token xsp; |
1095 | |
while (true) { |
1096 | 21 | xsp = jj_scanpos; |
1097 | 21 | if (jj_3R_55()) { jj_scanpos = xsp; break; } |
1098 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1099 | |
} |
1100 | 21 | if (jj_3R_56()) return true; |
1101 | 13 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1102 | 13 | return false; |
1103 | |
} |
1104 | |
|
1105 | |
final private boolean jj_3R_95() { |
1106 | 21 | if (jj_scan_token(TRUE)) return true; |
1107 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1108 | 1 | return false; |
1109 | |
} |
1110 | |
|
1111 | |
final private boolean jj_3R_89() { |
1112 | |
Token xsp; |
1113 | 21 | xsp = jj_scanpos; |
1114 | 21 | if (jj_3R_95()) { |
1115 | 20 | jj_scanpos = xsp; |
1116 | 20 | if (jj_3R_96()) return true; |
1117 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1118 | 1 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1119 | 1 | return false; |
1120 | |
} |
1121 | |
|
1122 | |
final private boolean jj_3R_85() { |
1123 | 13 | if (jj_3R_93()) return true; |
1124 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1125 | 0 | return false; |
1126 | |
} |
1127 | |
|
1128 | |
final private boolean jj_3R_84() { |
1129 | 16 | if (jj_3R_92()) return true; |
1130 | 3 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1131 | 3 | return false; |
1132 | |
} |
1133 | |
|
1134 | |
final private boolean jj_3R_83() { |
1135 | 16 | if (jj_3R_91()) return true; |
1136 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1137 | 0 | return false; |
1138 | |
} |
1139 | |
|
1140 | |
final private boolean jj_3R_82() { |
1141 | 20 | if (jj_3R_90()) return true; |
1142 | 4 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1143 | 4 | return false; |
1144 | |
} |
1145 | |
|
1146 | |
final private boolean jj_3R_28() { |
1147 | 11 | if (jj_scan_token(AND2)) return true; |
1148 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1149 | 0 | return false; |
1150 | |
} |
1151 | |
|
1152 | |
final private boolean jj_3R_81() { |
1153 | 21 | if (jj_3R_89()) return true; |
1154 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1155 | 1 | return false; |
1156 | |
} |
1157 | |
|
1158 | |
final private boolean jj_3R_76() { |
1159 | |
Token xsp; |
1160 | 21 | xsp = jj_scanpos; |
1161 | 21 | if (jj_3R_81()) { |
1162 | 20 | jj_scanpos = xsp; |
1163 | 20 | if (jj_3R_82()) { |
1164 | 16 | jj_scanpos = xsp; |
1165 | 16 | if (jj_3R_83()) { |
1166 | 16 | jj_scanpos = xsp; |
1167 | 16 | if (jj_3R_84()) { |
1168 | 13 | jj_scanpos = xsp; |
1169 | 13 | if (jj_3R_85()) return true; |
1170 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1171 | 3 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1172 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1173 | 4 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1174 | 1 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1175 | 8 | return false; |
1176 | |
} |
1177 | |
|
1178 | |
final private boolean jj_3R_11() { |
1179 | 14 | if (jj_3R_14()) return true; |
1180 | 10 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1181 | 10 | if (jj_scan_token(COND)) return true; |
1182 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1183 | 0 | if (jj_3R_15()) return true; |
1184 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1185 | 0 | if (jj_scan_token(COLON)) return true; |
1186 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1187 | 0 | if (jj_3R_15()) return true; |
1188 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1189 | 0 | return false; |
1190 | |
} |
1191 | |
|
1192 | |
final private boolean jj_3R_27() { |
1193 | 11 | if (jj_scan_token(AND1)) return true; |
1194 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1195 | 0 | return false; |
1196 | |
} |
1197 | |
|
1198 | |
final private boolean jj_3R_22() { |
1199 | |
Token xsp; |
1200 | 11 | xsp = jj_scanpos; |
1201 | 11 | if (jj_3R_27()) { |
1202 | 11 | jj_scanpos = xsp; |
1203 | 11 | if (jj_3R_28()) return true; |
1204 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1205 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1206 | 0 | if (jj_3R_21()) return true; |
1207 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1208 | 0 | return false; |
1209 | |
} |
1210 | |
|
1211 | |
final private boolean jj_3R_17() { |
1212 | 19 | if (jj_3R_21()) return true; |
1213 | 11 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1214 | |
Token xsp; |
1215 | |
while (true) { |
1216 | 11 | xsp = jj_scanpos; |
1217 | 11 | if (jj_3R_22()) { jj_scanpos = xsp; break; } |
1218 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1219 | |
} |
1220 | 11 | return false; |
1221 | |
} |
1222 | |
|
1223 | |
final private boolean jj_3R_68() { |
1224 | 13 | if (jj_scan_token(MODULUS2)) return true; |
1225 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1226 | 0 | return false; |
1227 | |
} |
1228 | |
|
1229 | |
final private boolean jj_3R_88() { |
1230 | 13 | if (jj_scan_token(LBRACKET)) return true; |
1231 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1232 | 0 | if (jj_3R_15()) return true; |
1233 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1234 | 0 | if (jj_scan_token(RBRACKET)) return true; |
1235 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1236 | 0 | return false; |
1237 | |
} |
1238 | |
|
1239 | |
final private boolean jj_3R_66() { |
1240 | 13 | if (jj_scan_token(DIVIDE2)) return true; |
1241 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1242 | 0 | return false; |
1243 | |
} |
1244 | |
|
1245 | |
final private boolean jj_3R_67() { |
1246 | 13 | if (jj_scan_token(MODULUS1)) return true; |
1247 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1248 | 0 | return false; |
1249 | |
} |
1250 | |
|
1251 | |
final private boolean jj_3R_59() { |
1252 | |
Token xsp; |
1253 | 13 | xsp = jj_scanpos; |
1254 | 13 | if (jj_3R_67()) { |
1255 | 13 | jj_scanpos = xsp; |
1256 | 13 | if (jj_3R_68()) return true; |
1257 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1258 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1259 | 0 | return false; |
1260 | |
} |
1261 | |
|
1262 | |
final private boolean jj_3R_65() { |
1263 | 13 | if (jj_scan_token(DIVIDE1)) return true; |
1264 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1265 | 0 | return false; |
1266 | |
} |
1267 | |
|
1268 | |
final private boolean jj_3R_87() { |
1269 | 13 | if (jj_scan_token(DOT)) return true; |
1270 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1271 | 0 | if (jj_3R_13()) return true; |
1272 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1273 | 0 | return false; |
1274 | |
} |
1275 | |
|
1276 | |
final private boolean jj_3R_58() { |
1277 | |
Token xsp; |
1278 | 13 | xsp = jj_scanpos; |
1279 | 13 | if (jj_3R_65()) { |
1280 | 13 | jj_scanpos = xsp; |
1281 | 13 | if (jj_3R_66()) return true; |
1282 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1283 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1284 | 0 | return false; |
1285 | |
} |
1286 | |
|
1287 | |
final private boolean jj_3R_57() { |
1288 | 13 | if (jj_scan_token(MULTIPLY)) return true; |
1289 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1290 | 0 | return false; |
1291 | |
} |
1292 | |
|
1293 | |
final private boolean jj_3R_44() { |
1294 | |
Token xsp; |
1295 | 13 | xsp = jj_scanpos; |
1296 | 13 | if (jj_3R_57()) { |
1297 | 13 | jj_scanpos = xsp; |
1298 | 13 | if (jj_3R_58()) { |
1299 | 13 | jj_scanpos = xsp; |
1300 | 13 | if (jj_3R_59()) return true; |
1301 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1302 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1303 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1304 | 0 | if (jj_3R_43()) return true; |
1305 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1306 | 0 | return false; |
1307 | |
} |
1308 | |
|
1309 | |
final private boolean jj_3R_24() { |
1310 | 11 | if (jj_scan_token(OR2)) return true; |
1311 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1312 | 0 | return false; |
1313 | |
} |
1314 | |
|
1315 | |
final private boolean jj_3R_80() { |
1316 | 13 | if (jj_3R_88()) return true; |
1317 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1318 | 0 | return false; |
1319 | |
} |
1320 | |
|
1321 | |
final private boolean jj_3R_33() { |
1322 | 21 | if (jj_3R_43()) return true; |
1323 | 13 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1324 | |
Token xsp; |
1325 | |
while (true) { |
1326 | 13 | xsp = jj_scanpos; |
1327 | 13 | if (jj_3R_44()) { jj_scanpos = xsp; break; } |
1328 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1329 | |
} |
1330 | 13 | return false; |
1331 | |
} |
1332 | |
|
1333 | |
final private boolean jj_3R_79() { |
1334 | 13 | if (jj_3R_87()) return true; |
1335 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1336 | 0 | return false; |
1337 | |
} |
1338 | |
|
1339 | |
final private boolean jj_3R_75() { |
1340 | |
Token xsp; |
1341 | 13 | xsp = jj_scanpos; |
1342 | 13 | if (jj_3R_79()) { |
1343 | 13 | jj_scanpos = xsp; |
1344 | 13 | if (jj_3R_80()) return true; |
1345 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1346 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1347 | 0 | return false; |
1348 | |
} |
1349 | |
|
1350 | |
final private boolean jj_3R_23() { |
1351 | 11 | if (jj_scan_token(OR1)) return true; |
1352 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1353 | 0 | return false; |
1354 | |
} |
1355 | |
|
1356 | |
final private boolean jj_3R_18() { |
1357 | |
Token xsp; |
1358 | 11 | xsp = jj_scanpos; |
1359 | 11 | if (jj_3R_23()) { |
1360 | 11 | jj_scanpos = xsp; |
1361 | 11 | if (jj_3R_24()) return true; |
1362 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1363 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1364 | 0 | if (jj_3R_17()) return true; |
1365 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1366 | 0 | return false; |
1367 | |
} |
1368 | |
|
1369 | |
final private boolean jj_3R_14() { |
1370 | 19 | if (jj_3R_17()) return true; |
1371 | 11 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1372 | |
Token xsp; |
1373 | |
while (true) { |
1374 | 11 | xsp = jj_scanpos; |
1375 | 11 | if (jj_3R_18()) { jj_scanpos = xsp; break; } |
1376 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1377 | |
} |
1378 | 11 | return false; |
1379 | |
} |
1380 | |
|
1381 | |
final private boolean jj_3R_94() { |
1382 | 1 | if (jj_scan_token(COMMA)) return true; |
1383 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1384 | 0 | if (jj_3R_15()) return true; |
1385 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1386 | 0 | return false; |
1387 | |
} |
1388 | |
|
1389 | |
final private boolean jj_3_1() { |
1390 | 9 | if (jj_3R_11()) return true; |
1391 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1392 | 0 | return false; |
1393 | |
} |
1394 | |
|
1395 | |
final private boolean jj_3R_86() { |
1396 | 5 | if (jj_3R_15()) return true; |
1397 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1398 | |
Token xsp; |
1399 | |
while (true) { |
1400 | 1 | xsp = jj_scanpos; |
1401 | 1 | if (jj_3R_94()) { jj_scanpos = xsp; break; } |
1402 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1403 | |
} |
1404 | 1 | return false; |
1405 | |
} |
1406 | |
|
1407 | |
final private boolean jj_3R_20() { |
1408 | 5 | if (jj_3R_14()) return true; |
1409 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1410 | 1 | return false; |
1411 | |
} |
1412 | |
|
1413 | |
final private boolean jj_3R_19() { |
1414 | 5 | if (jj_3R_11()) return true; |
1415 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1416 | 0 | return false; |
1417 | |
} |
1418 | |
|
1419 | |
final private boolean jj_3R_46() { |
1420 | 12 | if (jj_scan_token(MINUS)) return true; |
1421 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1422 | 1 | return false; |
1423 | |
} |
1424 | |
|
1425 | |
final private boolean jj_3R_15() { |
1426 | |
Token xsp; |
1427 | 5 | xsp = jj_scanpos; |
1428 | 5 | if (jj_3R_19()) { |
1429 | 5 | jj_scanpos = xsp; |
1430 | 5 | if (jj_3R_20()) return true; |
1431 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1432 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1433 | 1 | return false; |
1434 | |
} |
1435 | |
|
1436 | |
final private boolean jj_3R_45() { |
1437 | 13 | if (jj_scan_token(PLUS)) return true; |
1438 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1439 | 1 | return false; |
1440 | |
} |
1441 | |
|
1442 | |
final private boolean jj_3R_34() { |
1443 | |
Token xsp; |
1444 | 13 | xsp = jj_scanpos; |
1445 | 13 | if (jj_3R_45()) { |
1446 | 12 | jj_scanpos = xsp; |
1447 | 12 | if (jj_3R_46()) return true; |
1448 | 1 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1449 | 1 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1450 | 2 | if (jj_3R_33()) return true; |
1451 | 2 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1452 | 2 | return false; |
1453 | |
} |
1454 | |
|
1455 | |
final private boolean jj_3R_77() { |
1456 | 13 | if (jj_3R_12()) return true; |
1457 | 5 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1458 | 5 | if (jj_scan_token(LPAREN)) return true; |
1459 | 5 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1460 | |
Token xsp; |
1461 | 5 | xsp = jj_scanpos; |
1462 | 5 | if (jj_3R_86()) jj_scanpos = xsp; |
1463 | 1 | else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1464 | 5 | if (jj_scan_token(RPAREN)) return true; |
1465 | 5 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1466 | 5 | return false; |
1467 | |
} |
1468 | |
|
1469 | |
final private boolean jj_3R_29() { |
1470 | 19 | if (jj_3R_33()) return true; |
1471 | 11 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1472 | |
Token xsp; |
1473 | |
while (true) { |
1474 | 13 | xsp = jj_scanpos; |
1475 | 13 | if (jj_3R_34()) { jj_scanpos = xsp; break; } |
1476 | 2 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1477 | |
} |
1478 | 11 | return false; |
1479 | |
} |
1480 | |
|
1481 | |
final private boolean jj_3_2() { |
1482 | 3 | if (jj_3R_12()) return true; |
1483 | 3 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1484 | 3 | if (jj_scan_token(LPAREN)) return true; |
1485 | 3 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1486 | 3 | return false; |
1487 | |
} |
1488 | |
|
1489 | |
final private boolean jj_3R_78() { |
1490 | 8 | if (jj_scan_token(IDENTIFIER)) return true; |
1491 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1492 | 0 | return false; |
1493 | |
} |
1494 | |
|
1495 | |
final private boolean jj_3R_74() { |
1496 | 8 | if (jj_3R_78()) return true; |
1497 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1498 | 0 | return false; |
1499 | |
} |
1500 | |
|
1501 | |
final private boolean jj_3R_73() { |
1502 | 13 | if (jj_3R_77()) return true; |
1503 | 5 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1504 | 5 | return false; |
1505 | |
} |
1506 | |
|
1507 | |
final private boolean jj_3R_72() { |
1508 | 13 | if (jj_scan_token(LPAREN)) return true; |
1509 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1510 | 0 | if (jj_3R_15()) return true; |
1511 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1512 | 0 | if (jj_scan_token(RPAREN)) return true; |
1513 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1514 | 0 | return false; |
1515 | |
} |
1516 | |
|
1517 | |
final private boolean jj_3R_71() { |
1518 | 21 | if (jj_3R_76()) return true; |
1519 | 8 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1520 | 8 | return false; |
1521 | |
} |
1522 | |
|
1523 | |
final private boolean jj_3_3() { |
1524 | 3 | if (jj_3R_13()) return true; |
1525 | 3 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1526 | 3 | if (jj_scan_token(COLON)) return true; |
1527 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1528 | 0 | return false; |
1529 | |
} |
1530 | |
|
1531 | |
final private boolean jj_3R_63() { |
1532 | |
Token xsp; |
1533 | 21 | xsp = jj_scanpos; |
1534 | 21 | if (jj_3R_71()) { |
1535 | 13 | jj_scanpos = xsp; |
1536 | 13 | if (jj_3R_72()) { |
1537 | 13 | jj_scanpos = xsp; |
1538 | 13 | if (jj_3R_73()) { |
1539 | 8 | jj_scanpos = xsp; |
1540 | 8 | if (jj_3R_74()) return true; |
1541 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1542 | 5 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1543 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1544 | 8 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1545 | 13 | return false; |
1546 | |
} |
1547 | |
|
1548 | |
final private boolean jj_3R_54() { |
1549 | 11 | if (jj_scan_token(LE2)) return true; |
1550 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1551 | 0 | return false; |
1552 | |
} |
1553 | |
|
1554 | |
final private boolean jj_3R_52() { |
1555 | 11 | if (jj_scan_token(GE2)) return true; |
1556 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1557 | 0 | return false; |
1558 | |
} |
1559 | |
|
1560 | |
final private boolean jj_3R_50() { |
1561 | 11 | if (jj_scan_token(GT2)) return true; |
1562 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1563 | 0 | return false; |
1564 | |
} |
1565 | |
|
1566 | |
final private boolean jj_3R_48() { |
1567 | 11 | if (jj_scan_token(LT2)) return true; |
1568 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1569 | 0 | return false; |
1570 | |
} |
1571 | |
|
1572 | |
final private boolean jj_3R_53() { |
1573 | 11 | if (jj_scan_token(LE1)) return true; |
1574 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1575 | 0 | return false; |
1576 | |
} |
1577 | |
|
1578 | |
final private boolean jj_3R_16() { |
1579 | 16 | if (jj_3R_13()) return true; |
1580 | 8 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1581 | 8 | if (jj_scan_token(COLON)) return true; |
1582 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1583 | 0 | return false; |
1584 | |
} |
1585 | |
|
1586 | |
final private boolean jj_3R_38() { |
1587 | |
Token xsp; |
1588 | 11 | xsp = jj_scanpos; |
1589 | 11 | if (jj_3R_53()) { |
1590 | 11 | jj_scanpos = xsp; |
1591 | 11 | if (jj_3R_54()) return true; |
1592 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1593 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1594 | 0 | return false; |
1595 | |
} |
1596 | |
|
1597 | |
final private boolean jj_3R_51() { |
1598 | 11 | if (jj_scan_token(GE1)) return true; |
1599 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1600 | 0 | return false; |
1601 | |
} |
1602 | |
|
1603 | |
final private boolean jj_3R_37() { |
1604 | |
Token xsp; |
1605 | 11 | xsp = jj_scanpos; |
1606 | 11 | if (jj_3R_51()) { |
1607 | 11 | jj_scanpos = xsp; |
1608 | 11 | if (jj_3R_52()) return true; |
1609 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1610 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1611 | 0 | return false; |
1612 | |
} |
1613 | |
|
1614 | |
final private boolean jj_3R_49() { |
1615 | 11 | if (jj_scan_token(GT1)) return true; |
1616 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1617 | 0 | return false; |
1618 | |
} |
1619 | |
|
1620 | |
final private boolean jj_3R_36() { |
1621 | |
Token xsp; |
1622 | 11 | xsp = jj_scanpos; |
1623 | 11 | if (jj_3R_49()) { |
1624 | 11 | jj_scanpos = xsp; |
1625 | 11 | if (jj_3R_50()) return true; |
1626 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1627 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1628 | 0 | return false; |
1629 | |
} |
1630 | |
|
1631 | |
final private boolean jj_3R_47() { |
1632 | 11 | if (jj_scan_token(LT1)) return true; |
1633 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1634 | 0 | return false; |
1635 | |
} |
1636 | |
|
1637 | |
final private boolean jj_3R_35() { |
1638 | |
Token xsp; |
1639 | 11 | xsp = jj_scanpos; |
1640 | 11 | if (jj_3R_47()) { |
1641 | 11 | jj_scanpos = xsp; |
1642 | 11 | if (jj_3R_48()) return true; |
1643 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1644 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1645 | 0 | return false; |
1646 | |
} |
1647 | |
|
1648 | |
final private boolean jj_3R_12() { |
1649 | |
Token xsp; |
1650 | 16 | xsp = jj_scanpos; |
1651 | 16 | if (jj_3R_16()) jj_scanpos = xsp; |
1652 | 0 | else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1653 | 16 | if (jj_3R_13()) return true; |
1654 | 8 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1655 | 8 | return false; |
1656 | |
} |
1657 | |
|
1658 | |
final private boolean jj_3R_30() { |
1659 | |
Token xsp; |
1660 | 11 | xsp = jj_scanpos; |
1661 | 11 | if (jj_3R_35()) { |
1662 | 11 | jj_scanpos = xsp; |
1663 | 11 | if (jj_3R_36()) { |
1664 | 11 | jj_scanpos = xsp; |
1665 | 11 | if (jj_3R_37()) { |
1666 | 11 | jj_scanpos = xsp; |
1667 | 11 | if (jj_3R_38()) return true; |
1668 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1669 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1670 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1671 | 0 | } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1672 | 0 | if (jj_3R_29()) return true; |
1673 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1674 | 0 | return false; |
1675 | |
} |
1676 | |
|
1677 | |
final private boolean jj_3R_25() { |
1678 | 19 | if (jj_3R_29()) return true; |
1679 | 11 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1680 | |
Token xsp; |
1681 | |
while (true) { |
1682 | 11 | xsp = jj_scanpos; |
1683 | 11 | if (jj_3R_30()) { jj_scanpos = xsp; break; } |
1684 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1685 | |
} |
1686 | 11 | return false; |
1687 | |
} |
1688 | |
|
1689 | |
final private boolean jj_3R_64() { |
1690 | 13 | if (jj_3R_75()) return true; |
1691 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1692 | 0 | return false; |
1693 | |
} |
1694 | |
|
1695 | |
final private boolean jj_3R_13() { |
1696 | 35 | if (jj_scan_token(IDENTIFIER)) return true; |
1697 | 19 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1698 | 19 | return false; |
1699 | |
} |
1700 | |
|
1701 | |
final private boolean jj_3R_56() { |
1702 | 21 | if (jj_3R_63()) return true; |
1703 | 13 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1704 | |
Token xsp; |
1705 | |
while (true) { |
1706 | 13 | xsp = jj_scanpos; |
1707 | 13 | if (jj_3R_64()) { jj_scanpos = xsp; break; } |
1708 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1709 | |
} |
1710 | 13 | return false; |
1711 | |
} |
1712 | |
|
1713 | |
final private boolean jj_3R_93() { |
1714 | 13 | if (jj_scan_token(NULL)) return true; |
1715 | 0 | if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; |
1716 | 0 | return false; |
1717 | |
} |
1718 | |
|
1719 | |
public ELParserTokenManager token_source; |
1720 | |
SimpleCharStream jj_input_stream; |
1721 | |
public Token token, jj_nt; |
1722 | |
private int jj_ntk; |
1723 | |
private Token jj_scanpos, jj_lastpos; |
1724 | |
private int jj_la; |
1725 | 8 | public boolean lookingAhead = false; |
1726 | |
private boolean jj_semLA; |
1727 | |
private int jj_gen; |
1728 | 8 | final private int[] jj_la1 = new int[35]; |
1729 | 8 | final private int[] jj_la1_0 = {0x6,0x6,0x6,0x20007580,0x0,0x0,0x0,0x0,0x18600000,0x600000,0x18000000,0x18600000,0x79e0000,0x180000,0x60000,0x6000000,0x1800000,0x79e0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x20007580,0x0,0x80000000,0x20007580,0x10000,0x7580,0x3000,}; |
1730 | 8 | final private int[] jj_la1_1 = {0x0,0x0,0x0,0x50c10,0xc000,0xc000,0x3000,0x3000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x3e0,0xc0,0x300,0x3e0,0x10c10,0xc00,0x10c10,0x2,0x0,0x40000,0x0,0x50c10,0x2,0x0,0x0,}; |
1731 | 8 | final private JJCalls[] jj_2_rtns = new JJCalls[3]; |
1732 | 8 | private boolean jj_rescan = false; |
1733 | 8 | private int jj_gc = 0; |
1734 | |
|
1735 | 0 | public ELParser(java.io.InputStream stream) { |
1736 | 0 | jj_input_stream = new SimpleCharStream(stream, 1, 1); |
1737 | 0 | token_source = new ELParserTokenManager(jj_input_stream); |
1738 | 0 | token = new Token(); |
1739 | 0 | jj_ntk = -1; |
1740 | 0 | jj_gen = 0; |
1741 | 0 | for (int i = 0; i < 35; i++) jj_la1[i] = -1; |
1742 | 0 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
1743 | 0 | } |
1744 | |
|
1745 | |
public void ReInit(java.io.InputStream stream) { |
1746 | 0 | jj_input_stream.ReInit(stream, 1, 1); |
1747 | 0 | token_source.ReInit(jj_input_stream); |
1748 | 0 | token = new Token(); |
1749 | 0 | jj_ntk = -1; |
1750 | 0 | jj_gen = 0; |
1751 | 0 | for (int i = 0; i < 35; i++) jj_la1[i] = -1; |
1752 | 0 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
1753 | 0 | } |
1754 | |
|
1755 | 8 | public ELParser(java.io.Reader stream) { |
1756 | 8 | jj_input_stream = new SimpleCharStream(stream, 1, 1); |
1757 | 8 | token_source = new ELParserTokenManager(jj_input_stream); |
1758 | 8 | token = new Token(); |
1759 | 8 | jj_ntk = -1; |
1760 | 8 | jj_gen = 0; |
1761 | 8 | for (int i = 0; i < 35; i++) jj_la1[i] = -1; |
1762 | 8 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
1763 | 8 | } |
1764 | |
|
1765 | |
public void ReInit(java.io.Reader stream) { |
1766 | 0 | jj_input_stream.ReInit(stream, 1, 1); |
1767 | 0 | token_source.ReInit(jj_input_stream); |
1768 | 0 | token = new Token(); |
1769 | 0 | jj_ntk = -1; |
1770 | 0 | jj_gen = 0; |
1771 | 0 | for (int i = 0; i < 35; i++) jj_la1[i] = -1; |
1772 | 0 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
1773 | 0 | } |
1774 | |
|
1775 | 0 | public ELParser(ELParserTokenManager tm) { |
1776 | 0 | token_source = tm; |
1777 | 0 | token = new Token(); |
1778 | 0 | jj_ntk = -1; |
1779 | 0 | jj_gen = 0; |
1780 | 0 | for (int i = 0; i < 35; i++) jj_la1[i] = -1; |
1781 | 0 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
1782 | 0 | } |
1783 | |
|
1784 | |
public void ReInit(ELParserTokenManager tm) { |
1785 | 0 | token_source = tm; |
1786 | 0 | token = new Token(); |
1787 | 0 | jj_ntk = -1; |
1788 | 0 | jj_gen = 0; |
1789 | 0 | for (int i = 0; i < 35; i++) jj_la1[i] = -1; |
1790 | 0 | for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
1791 | 0 | } |
1792 | |
|
1793 | |
final private Token jj_consume_token(int kind) throws ParseException { |
1794 | |
Token oldToken; |
1795 | 35 | if ((oldToken = token).next != null) token = token.next; |
1796 | 0 | else token = token.next = token_source.getNextToken(); |
1797 | 35 | jj_ntk = -1; |
1798 | 35 | if (token.kind == kind) { |
1799 | 35 | jj_gen++; |
1800 | 35 | if (++jj_gc > 100) { |
1801 | 0 | jj_gc = 0; |
1802 | 0 | for (int i = 0; i < jj_2_rtns.length; i++) { |
1803 | 0 | JJCalls c = jj_2_rtns[i]; |
1804 | 0 | while (c != null) { |
1805 | 0 | if (c.gen < jj_gen) c.first = null; |
1806 | 0 | c = c.next; |
1807 | |
} |
1808 | |
} |
1809 | |
} |
1810 | 35 | return token; |
1811 | |
} |
1812 | 0 | token = oldToken; |
1813 | 0 | jj_kind = kind; |
1814 | 0 | throw generateParseException(); |
1815 | |
} |
1816 | |
|
1817 | |
final private boolean jj_scan_token(int kind) { |
1818 | 573 | if (jj_scanpos == jj_lastpos) { |
1819 | 43 | jj_la--; |
1820 | 43 | if (jj_scanpos.next == null) { |
1821 | 27 | jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); |
1822 | |
} else { |
1823 | 16 | jj_lastpos = jj_scanpos = jj_scanpos.next; |
1824 | |
} |
1825 | |
} else { |
1826 | 530 | jj_scanpos = jj_scanpos.next; |
1827 | |
} |
1828 | 573 | if (jj_rescan) { |
1829 | 0 | int i = 0; Token tok = token; |
1830 | 0 | while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } |
1831 | 0 | if (tok != null) jj_add_error_token(kind, i); |
1832 | |
} |
1833 | 573 | return (jj_scanpos.kind != kind); |
1834 | |
} |
1835 | |
|
1836 | |
final public Token getNextToken() { |
1837 | 0 | if (token.next != null) token = token.next; |
1838 | 0 | else token = token.next = token_source.getNextToken(); |
1839 | 0 | jj_ntk = -1; |
1840 | 0 | jj_gen++; |
1841 | 0 | return token; |
1842 | |
} |
1843 | |
|
1844 | |
final public Token getToken(int index) { |
1845 | 0 | Token t = lookingAhead ? jj_scanpos : token; |
1846 | 0 | for (int i = 0; i < index; i++) { |
1847 | 0 | if (t.next != null) t = t.next; |
1848 | 0 | else t = t.next = token_source.getNextToken(); |
1849 | |
} |
1850 | 0 | return t; |
1851 | |
} |
1852 | |
|
1853 | |
final private int jj_ntk() { |
1854 | 40 | if ((jj_nt=token.next) == null) |
1855 | 16 | return (jj_ntk = (token.next=token_source.getNextToken()).kind); |
1856 | |
else |
1857 | 24 | return (jj_ntk = jj_nt.kind); |
1858 | |
} |
1859 | |
|
1860 | 8 | private java.util.Vector jj_expentries = new java.util.Vector(); |
1861 | |
private int[] jj_expentry; |
1862 | 8 | private int jj_kind = -1; |
1863 | 8 | private int[] jj_lasttokens = new int[100]; |
1864 | |
private int jj_endpos; |
1865 | |
|
1866 | |
private void jj_add_error_token(int kind, int pos) { |
1867 | 0 | if (pos >= 100) return; |
1868 | 0 | if (pos == jj_endpos + 1) { |
1869 | 0 | jj_lasttokens[jj_endpos++] = kind; |
1870 | 0 | } else if (jj_endpos != 0) { |
1871 | 0 | jj_expentry = new int[jj_endpos]; |
1872 | 0 | for (int i = 0; i < jj_endpos; i++) { |
1873 | 0 | jj_expentry[i] = jj_lasttokens[i]; |
1874 | |
} |
1875 | 0 | boolean exists = false; |
1876 | 0 | for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) { |
1877 | 0 | int[] oldentry = (int[])(e.nextElement()); |
1878 | 0 | if (oldentry.length == jj_expentry.length) { |
1879 | 0 | exists = true; |
1880 | 0 | for (int i = 0; i < jj_expentry.length; i++) { |
1881 | 0 | if (oldentry[i] != jj_expentry[i]) { |
1882 | 0 | exists = false; |
1883 | 0 | break; |
1884 | |
} |
1885 | |
} |
1886 | 0 | if (exists) break; |
1887 | |
} |
1888 | 0 | } |
1889 | 0 | if (!exists) jj_expentries.addElement(jj_expentry); |
1890 | 0 | if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; |
1891 | |
} |
1892 | 0 | } |
1893 | |
|
1894 | |
final public ParseException generateParseException() { |
1895 | 0 | jj_expentries.removeAllElements(); |
1896 | 0 | boolean[] la1tokens = new boolean[55]; |
1897 | 0 | for (int i = 0; i < 55; i++) { |
1898 | 0 | la1tokens[i] = false; |
1899 | |
} |
1900 | 0 | if (jj_kind >= 0) { |
1901 | 0 | la1tokens[jj_kind] = true; |
1902 | 0 | jj_kind = -1; |
1903 | |
} |
1904 | 0 | for (int i = 0; i < 35; i++) { |
1905 | 0 | if (jj_la1[i] == jj_gen) { |
1906 | 0 | for (int j = 0; j < 32; j++) { |
1907 | 0 | if ((jj_la1_0[i] & (1<<j)) != 0) { |
1908 | 0 | la1tokens[j] = true; |
1909 | |
} |
1910 | 0 | if ((jj_la1_1[i] & (1<<j)) != 0) { |
1911 | 0 | la1tokens[32+j] = true; |
1912 | |
} |
1913 | |
} |
1914 | |
} |
1915 | |
} |
1916 | 0 | for (int i = 0; i < 55; i++) { |
1917 | 0 | if (la1tokens[i]) { |
1918 | 0 | jj_expentry = new int[1]; |
1919 | 0 | jj_expentry[0] = i; |
1920 | 0 | jj_expentries.addElement(jj_expentry); |
1921 | |
} |
1922 | |
} |
1923 | 0 | jj_endpos = 0; |
1924 | 0 | jj_rescan_token(); |
1925 | 0 | jj_add_error_token(0, 0); |
1926 | 0 | int[][] exptokseq = new int[jj_expentries.size()][]; |
1927 | 0 | for (int i = 0, size = jj_expentries.size(); i < size; i++) { |
1928 | 0 | exptokseq[i] = (int[])jj_expentries.elementAt(i); |
1929 | |
} |
1930 | 0 | return new ParseException(token, exptokseq, tokenImage); |
1931 | |
} |
1932 | |
|
1933 | |
final public void enable_tracing() { |
1934 | 0 | } |
1935 | |
|
1936 | |
final public void disable_tracing() { |
1937 | 0 | } |
1938 | |
|
1939 | |
final private void jj_rescan_token() { |
1940 | 0 | jj_rescan = true; |
1941 | 0 | for (int i = 0; i < 3; i++) { |
1942 | 0 | JJCalls p = jj_2_rtns[i]; |
1943 | |
do { |
1944 | 0 | if (p.gen > jj_gen) { |
1945 | 0 | jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; |
1946 | 0 | switch (i) { |
1947 | 0 | case 0: jj_3_1(); break; |
1948 | 0 | case 1: jj_3_2(); break; |
1949 | 0 | case 2: jj_3_3(); break; |
1950 | |
} |
1951 | |
} |
1952 | 0 | p = p.next; |
1953 | 0 | } while (p != null); |
1954 | |
} |
1955 | 0 | jj_rescan = false; |
1956 | 0 | } |
1957 | |
|
1958 | |
final private void jj_save(int index, int xla) { |
1959 | 15 | JJCalls p = jj_2_rtns[index]; |
1960 | 15 | while (p.gen > jj_gen) { |
1961 | 1 | if (p.next == null) { p = p.next = new JJCalls(); break; } |
1962 | 0 | p = p.next; |
1963 | |
} |
1964 | 15 | p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; |
1965 | 15 | } |
1966 | |
|
1967 | 25 | static final class JJCalls { |
1968 | |
int gen; |
1969 | |
Token first; |
1970 | |
int arg; |
1971 | |
JJCalls next; |
1972 | |
} |
1973 | |
|
1974 | |
} |