Skip to content

Package: ELParser

ELParser

nameinstructionbranchcomplexitylinemethod
And()
M: 105 C: 0
0%
M: 17 C: 0
0%
M: 10 C: 0
0%
M: 31 C: 0
0%
M: 1 C: 0
0%
Assignment()
M: 92 C: 0
0%
M: 16 C: 0
0%
M: 9 C: 0
0%
M: 27 C: 0
0%
M: 1 C: 0
0%
Boolean()
M: 71 C: 0
0%
M: 9 C: 0
0%
M: 6 C: 0
0%
M: 19 C: 0
0%
M: 1 C: 0
0%
BracketSuffix()
M: 77 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 23 C: 0
0%
M: 1 C: 0
0%
Choice()
M: 79 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 24 C: 0
0%
M: 1 C: 0
0%
Compare()
M: 381 C: 0
0%
M: 63 C: 0
0%
M: 36 C: 0
0%
M: 110 C: 0
0%
M: 1 C: 0
0%
CompositeExpression()
M: 113 C: 0
0%
M: 18 C: 0
0%
M: 11 C: 0
0%
M: 33 C: 0
0%
M: 1 C: 0
0%
Concatenation()
M: 75 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 24 C: 0
0%
M: 1 C: 0
0%
DeferredExpression()
M: 58 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 19 C: 0
0%
M: 1 C: 0
0%
DotSuffix()
M: 81 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 23 C: 0
0%
M: 1 C: 0
0%
DynamicExpression()
M: 58 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 19 C: 0
0%
M: 1 C: 0
0%
ELParser(ELParserTokenManager)
M: 81 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 17 C: 0
0%
M: 1 C: 0
0%
ELParser(InputStream)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
ELParser(InputStream, String)
M: 101 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 18 C: 0
0%
M: 1 C: 0
0%
ELParser(Reader)
M: 93 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 18 C: 0
0%
M: 1 C: 0
0%
Equality()
M: 213 C: 0
0%
M: 35 C: 0
0%
M: 20 C: 0
0%
M: 60 C: 0
0%
M: 1 C: 0
0%
Expression()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
FloatingPoint()
M: 36 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
Function()
M: 116 C: 0
0%
M: 18 C: 0
0%
M: 10 C: 0
0%
M: 32 C: 0
0%
M: 1 C: 0
0%
Identifier()
M: 36 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
Integer()
M: 36 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
LambdaExpression()
M: 88 C: 0
0%
M: 14 C: 0
0%
M: 8 C: 0
0%
M: 26 C: 0
0%
M: 1 C: 0
0%
LambdaExpressionOrCall()
M: 117 C: 0
0%
M: 18 C: 0
0%
M: 10 C: 0
0%
M: 33 C: 0
0%
M: 1 C: 0
0%
LambdaParameters()
M: 127 C: 0
0%
M: 21 C: 0
0%
M: 12 C: 0
0%
M: 34 C: 0
0%
M: 1 C: 0
0%
ListData()
M: 99 C: 0
0%
M: 16 C: 0
0%
M: 9 C: 0
0%
M: 27 C: 0
0%
M: 1 C: 0
0%
Literal()
M: 40 C: 0
0%
M: 8 C: 0
0%
M: 7 C: 0
0%
M: 15 C: 0
0%
M: 1 C: 0
0%
LiteralExpression()
M: 36 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
MapData()
M: 99 C: 0
0%
M: 16 C: 0
0%
M: 9 C: 0
0%
M: 27 C: 0
0%
M: 1 C: 0
0%
MapEntry()
M: 73 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 22 C: 0
0%
M: 1 C: 0
0%
Math()
M: 153 C: 0
0%
M: 25 C: 0
0%
M: 14 C: 0
0%
M: 46 C: 0
0%
M: 1 C: 0
0%
MethodArguments()
M: 99 C: 0
0%
M: 16 C: 0
0%
M: 9 C: 0
0%
M: 27 C: 0
0%
M: 1 C: 0
0%
Multiplication()
M: 267 C: 0
0%
M: 44 C: 0
0%
M: 25 C: 0
0%
M: 78 C: 0
0%
M: 1 C: 0
0%
NonLiteral()
M: 75 C: 0
0%
M: 14 C: 0
0%
M: 9 C: 0
0%
M: 21 C: 0
0%
M: 1 C: 0
0%
Null()
M: 23 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
Or()
M: 105 C: 0
0%
M: 17 C: 0
0%
M: 10 C: 0
0%
M: 31 C: 0
0%
M: 1 C: 0
0%
ReInit(ELParserTokenManager)
M: 46 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 8 C: 0
0%
M: 1 C: 0
0%
ReInit(InputStream)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
ReInit(InputStream, String)
M: 62 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
ReInit(Reader)
M: 54 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
SemiColon()
M: 75 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 24 C: 0
0%
M: 1 C: 0
0%
String()
M: 36 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
Unary()
M: 220 C: 0
0%
M: 36 C: 0
0%
M: 21 C: 0
0%
M: 68 C: 0
0%
M: 1 C: 0
0%
Value()
M: 78 C: 0
0%
M: 14 C: 0
0%
M: 8 C: 0
0%
M: 22 C: 0
0%
M: 1 C: 0
0%
ValuePrefix()
M: 31 C: 0
0%
M: 5 C: 0
0%
M: 4 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
ValueSuffix()
M: 31 C: 0
0%
M: 5 C: 0
0%
M: 4 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
disable_tracing()
M: 1 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
enable_tracing()
M: 1 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
generateParseException()
M: 129 C: 0
0%
M: 18 C: 0
0%
M: 10 C: 0
0%
M: 24 C: 0
0%
M: 1 C: 0
0%
getNextToken()
M: 31 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
getToken(int)
M: 26 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_2_1(int)
M: 28 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_2_2(int)
M: 28 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_2_3(int)
M: 28 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_2_4(int)
M: 28 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_2_5(int)
M: 28 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_2_6(int)
M: 28 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_100()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_101()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_102()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_103()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_18()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_19()
M: 27 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
jj_3R_20()
M: 39 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
jj_3R_21()
M: 32 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
jj_3R_22()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_23()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_24()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_25()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_26()
M: 14 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_3R_27()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_28()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_29()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_30()
M: 23 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_31()
M: 23 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_32()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_33()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_34()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_35()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_36()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_37()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_38()
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_3R_39()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_40()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_41()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_42()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_43()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_44()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_45()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_46()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_47()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_48()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_49()
M: 28 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
jj_3R_50()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_51()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_52()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_53()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_54()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_55()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_56()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_57()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_58()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_59()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_60()
M: 28 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
jj_3R_61()
M: 22 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
jj_3R_62()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_63()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_64()
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_3R_65()
M: 23 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
jj_3R_66()
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_3R_67()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_68()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_69()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_70()
M: 18 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_71()
M: 17 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
jj_3R_72()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_73()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_74()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_75()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_76()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_77()
M: 34 C: 0
0%
M: 10 C: 0
0%
M: 6 C: 0
0%
M: 11 C: 0
0%
M: 1 C: 0
0%
jj_3R_78()
M: 40 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 13 C: 0
0%
M: 1 C: 0
0%
jj_3R_79()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_80()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_81()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_82()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_83()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_84()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_85()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_86()
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_3R_87()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_88()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_89()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_90()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_91()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_92()
M: 16 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_93()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_94()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_95()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_96()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3R_97()
M: 23 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_98()
M: 23 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
jj_3R_99()
M: 8 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3_1()
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_3_2()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3_3()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3_4()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3_5()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_3_6()
M: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_add_error_token(int, int)
M: 102 C: 0
0%
M: 18 C: 0
0%
M: 10 C: 0
0%
M: 18 C: 0
0%
M: 1 C: 0
0%
jj_consume_token(int)
M: 87 C: 0
0%
M: 12 C: 0
0%
M: 7 C: 0
0%
M: 16 C: 0
0%
M: 1 C: 0
0%
jj_la1_init_0()
M: 212 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_la1_init_1()
M: 212 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
jj_ntk()
M: 26 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
jj_rescan_token()
M: 67 C: 0
0%
M: 13 C: 0
0%
M: 10 C: 0
0%
M: 17 C: 0
0%
M: 1 C: 0
0%
jj_save(int, int)
M: 42 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
jj_scan_token(int)
M: 87 C: 0
0%
M: 18 C: 0
0%
M: 10 C: 0
0%
M: 13 C: 0
0%
M: 1 C: 0
0%
parse(String)
M: 16 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
static {...}
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
3: *
4: * This program and the accompanying materials are made available under the
5: * terms of the Eclipse Public License v. 2.0, which is available at
6: * http://www.eclipse.org/legal/epl-2.0.
7: *
8: * This Source Code may also be made available under the following Secondary
9: * Licenses when the conditions for such availability set forth in the
10: * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11: * version 2 with the GNU Classpath Exception, which is available at
12: * https://www.gnu.org/software/classpath/license.html.
13: *
14: * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15: */
16:
17: /* Generated By:JJTree&JavaCC: Do not edit this line. ELParser.java */
18: package com.sun.el.parser;
19: import java.io.StringReader;
20: import jakarta.el.ELException;
21: public class ELParser/*@bgen(jjtree)*/implements ELParserTreeConstants, ELParserConstants {/*@bgen(jjtree)*/
22: protected JJTELParserState jjtree = new JJTELParserState();public static Node parse(String ref) throws ELException
23: {
24: try {
25: return (new ELParser(new StringReader(ref))).CompositeExpression();
26: } catch (ParseException pe) {
27: throw new ELException(pe.getMessage());
28: }
29: }
30:
31: /*
32: * CompositeExpression
33: * Allow most flexible parsing, restrict by examining
34: * type of returned node
35: */
36: final public AstCompositeExpression CompositeExpression() throws ParseException {
37: /*@bgen(jjtree) CompositeExpression */
38: AstCompositeExpression jjtn000 = new AstCompositeExpression(JJTCOMPOSITEEXPRESSION);
39: boolean jjtc000 = true;
40: jjtree.openNodeScope(jjtn000);
41: try {
42: label_1:
43: while (true) {
44:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
45: case LITERAL_EXPRESSION:
46: case START_DYNAMIC_EXPRESSION:
47: case START_DEFERRED_EXPRESSION:
48: ;
49: break;
50: default:
51: jj_la1[0] = jj_gen;
52: break label_1;
53: }
54:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
55: case START_DEFERRED_EXPRESSION:
56: DeferredExpression();
57: break;
58: case START_DYNAMIC_EXPRESSION:
59: DynamicExpression();
60: break;
61: case LITERAL_EXPRESSION:
62: LiteralExpression();
63: break;
64: default:
65: jj_la1[1] = jj_gen;
66: jj_consume_token(-1);
67: throw new ParseException();
68: }
69: }
70: jj_consume_token(0);
71: jjtree.closeNodeScope(jjtn000, true);
72: jjtc000 = false;
73: {if (true) return jjtn000;}
74: } catch (Throwable jjte000) {
75:• if (jjtc000) {
76: jjtree.clearNodeScope(jjtn000);
77: jjtc000 = false;
78: } else {
79: jjtree.popNode();
80: }
81:• if (jjte000 instanceof RuntimeException) {
82: {if (true) throw (RuntimeException)jjte000;}
83: }
84:• if (jjte000 instanceof ParseException) {
85: {if (true) throw (ParseException)jjte000;}
86: }
87: {if (true) throw (Error)jjte000;}
88: } finally {
89:• if (jjtc000) {
90: jjtree.closeNodeScope(jjtn000, true);
91: }
92: }
93: throw new Error("Missing return statement in function");
94: }
95:
96: /*
97: * LiteralExpression
98: * Non-EL Expression blocks
99: */
100: final public void LiteralExpression() throws ParseException {
101: /*@bgen(jjtree) LiteralExpression */
102: AstLiteralExpression jjtn000 = new AstLiteralExpression(JJTLITERALEXPRESSION);
103: boolean jjtc000 = true;
104: jjtree.openNodeScope(jjtn000);Token t = null;
105: try {
106: t = jj_consume_token(LITERAL_EXPRESSION);
107: jjtree.closeNodeScope(jjtn000, true);
108: jjtc000 = false;
109: jjtn000.setImage(t.image);
110: } finally {
111:• if (jjtc000) {
112: jjtree.closeNodeScope(jjtn000, true);
113: }
114: }
115: }
116:
117: /*
118: * DeferredExpression
119: * #{..} Expressions
120: */
121: final public void DeferredExpression() throws ParseException {
122: /*@bgen(jjtree) DeferredExpression */
123: AstDeferredExpression jjtn000 = new AstDeferredExpression(JJTDEFERREDEXPRESSION);
124: boolean jjtc000 = true;
125: jjtree.openNodeScope(jjtn000);
126: try {
127: jj_consume_token(START_DEFERRED_EXPRESSION);
128: Expression();
129: jj_consume_token(RCURL);
130: } catch (Throwable jjte000) {
131:• if (jjtc000) {
132: jjtree.clearNodeScope(jjtn000);
133: jjtc000 = false;
134: } else {
135: jjtree.popNode();
136: }
137:• if (jjte000 instanceof RuntimeException) {
138: {if (true) throw (RuntimeException)jjte000;}
139: }
140:• if (jjte000 instanceof ParseException) {
141: {if (true) throw (ParseException)jjte000;}
142: }
143: {if (true) throw (Error)jjte000;}
144: } finally {
145:• if (jjtc000) {
146: jjtree.closeNodeScope(jjtn000, true);
147: }
148: }
149: }
150:
151: /*
152: * DynamicExpression
153: * ${..} Expressions
154: */
155: final public void DynamicExpression() throws ParseException {
156: /*@bgen(jjtree) DynamicExpression */
157: AstDynamicExpression jjtn000 = new AstDynamicExpression(JJTDYNAMICEXPRESSION);
158: boolean jjtc000 = true;
159: jjtree.openNodeScope(jjtn000);
160: try {
161: jj_consume_token(START_DYNAMIC_EXPRESSION);
162: Expression();
163: jj_consume_token(RCURL);
164: } catch (Throwable jjte000) {
165:• if (jjtc000) {
166: jjtree.clearNodeScope(jjtn000);
167: jjtc000 = false;
168: } else {
169: jjtree.popNode();
170: }
171:• if (jjte000 instanceof RuntimeException) {
172: {if (true) throw (RuntimeException)jjte000;}
173: }
174:• if (jjte000 instanceof ParseException) {
175: {if (true) throw (ParseException)jjte000;}
176: }
177: {if (true) throw (Error)jjte000;}
178: } finally {
179:• if (jjtc000) {
180: jjtree.closeNodeScope(jjtn000, true);
181: }
182: }
183: }
184: /*
185: * Jakarta Expression Root
186: */
187: final public void Expression() throws ParseException {
188: SemiColon();
189: }
190:
191: /*
192: * SemiColon
193: */
194: final public void SemiColon() throws ParseException {
195: Assignment();
196: label_2:
197: while (true) {
198:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
199: case SEMICOLON:
200: ;
201: break;
202: default:
203: jj_la1[2] = jj_gen;
204: break label_2;
205: }
206: jj_consume_token(SEMICOLON);
207: AstSemiColon jjtn001 = new AstSemiColon(JJTSEMICOLON);
208: boolean jjtc001 = true;
209: jjtree.openNodeScope(jjtn001);
210: try {
211: Assignment();
212: } catch (Throwable jjte001) {
213:• if (jjtc001) {
214: jjtree.clearNodeScope(jjtn001);
215: jjtc001 = false;
216: } else {
217: jjtree.popNode();
218: }
219:• if (jjte001 instanceof RuntimeException) {
220: {if (true) throw (RuntimeException)jjte001;}
221: }
222:• if (jjte001 instanceof ParseException) {
223: {if (true) throw (ParseException)jjte001;}
224: }
225: {if (true) throw (Error)jjte001;}
226: } finally {
227:• if (jjtc001) {
228: jjtree.closeNodeScope(jjtn001, 2);
229: }
230: }
231: }
232: }
233:
234: /*
235: * Assignment
236: * For '=', right associatve, then LambdaExpression or Choice or Assignment
237: */
238: final public void Assignment() throws ParseException {
239:• if (jj_2_2(4)) {
240: LambdaExpression();
241: } else {
242:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
243: case START_MAP:
244: case INTEGER_LITERAL:
245: case FLOATING_POINT_LITERAL:
246: case STRING_LITERAL:
247: case TRUE:
248: case FALSE:
249: case NULL:
250: case LPAREN:
251: case LBRACK:
252: case NOT0:
253: case NOT1:
254: case EMPTY:
255: case MINUS:
256: case IDENTIFIER:
257: Choice();
258: label_3:
259: while (true) {
260:• if (jj_2_1(2)) {
261: ;
262: } else {
263: break label_3;
264: }
265: jj_consume_token(ASSIGN);
266: AstAssign jjtn001 = new AstAssign(JJTASSIGN);
267: boolean jjtc001 = true;
268: jjtree.openNodeScope(jjtn001);
269: try {
270: Assignment();
271: } catch (Throwable jjte001) {
272:• if (jjtc001) {
273: jjtree.clearNodeScope(jjtn001);
274: jjtc001 = false;
275: } else {
276: jjtree.popNode();
277: }
278:• if (jjte001 instanceof RuntimeException) {
279: {if (true) throw (RuntimeException)jjte001;}
280: }
281:• if (jjte001 instanceof ParseException) {
282: {if (true) throw (ParseException)jjte001;}
283: }
284: {if (true) throw (Error)jjte001;}
285: } finally {
286:• if (jjtc001) {
287: jjtree.closeNodeScope(jjtn001, 2);
288: }
289: }
290: }
291: break;
292: default:
293: jj_la1[3] = jj_gen;
294: jj_consume_token(-1);
295: throw new ParseException();
296: }
297: }
298: }
299:
300: /*
301: * LambdaExpression
302: */
303: final public void LambdaExpression() throws ParseException {
304: /*@bgen(jjtree) LambdaExpression */
305: AstLambdaExpression jjtn000 = new AstLambdaExpression(JJTLAMBDAEXPRESSION);
306: boolean jjtc000 = true;
307: jjtree.openNodeScope(jjtn000);
308: try {
309: LambdaParameters();
310: jj_consume_token(ARROW);
311:• if (jj_2_3(3)) {
312: LambdaExpression();
313: } else {
314:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
315: case START_MAP:
316: case INTEGER_LITERAL:
317: case FLOATING_POINT_LITERAL:
318: case STRING_LITERAL:
319: case TRUE:
320: case FALSE:
321: case NULL:
322: case LPAREN:
323: case LBRACK:
324: case NOT0:
325: case NOT1:
326: case EMPTY:
327: case MINUS:
328: case IDENTIFIER:
329: Choice();
330: break;
331: default:
332: jj_la1[4] = jj_gen;
333: jj_consume_token(-1);
334: throw new ParseException();
335: }
336: }
337: } catch (Throwable jjte000) {
338:• if (jjtc000) {
339: jjtree.clearNodeScope(jjtn000);
340: jjtc000 = false;
341: } else {
342: jjtree.popNode();
343: }
344:• if (jjte000 instanceof RuntimeException) {
345: {if (true) throw (RuntimeException)jjte000;}
346: }
347:• if (jjte000 instanceof ParseException) {
348: {if (true) throw (ParseException)jjte000;}
349: }
350: {if (true) throw (Error)jjte000;}
351: } finally {
352:• if (jjtc000) {
353: jjtree.closeNodeScope(jjtn000, true);
354: }
355: }
356: }
357:
358: final public void LambdaParameters() throws ParseException {
359: /*@bgen(jjtree) LambdaParameters */
360: AstLambdaParameters jjtn000 = new AstLambdaParameters(JJTLAMBDAPARAMETERS);
361: boolean jjtc000 = true;
362: jjtree.openNodeScope(jjtn000);
363: try {
364:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
365: case IDENTIFIER:
366: Identifier();
367: break;
368: case LPAREN:
369: jj_consume_token(LPAREN);
370:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
371: case IDENTIFIER:
372: Identifier();
373: label_4:
374: while (true) {
375:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
376: case COMMA:
377: ;
378: break;
379: default:
380: jj_la1[5] = jj_gen;
381: break label_4;
382: }
383: jj_consume_token(COMMA);
384: Identifier();
385: }
386: break;
387: default:
388: jj_la1[6] = jj_gen;
389: ;
390: }
391: jj_consume_token(RPAREN);
392: break;
393: default:
394: jj_la1[7] = jj_gen;
395: jj_consume_token(-1);
396: throw new ParseException();
397: }
398: } catch (Throwable jjte000) {
399:• if (jjtc000) {
400: jjtree.clearNodeScope(jjtn000);
401: jjtc000 = false;
402: } else {
403: jjtree.popNode();
404: }
405:• if (jjte000 instanceof RuntimeException) {
406: {if (true) throw (RuntimeException)jjte000;}
407: }
408:• if (jjte000 instanceof ParseException) {
409: {if (true) throw (ParseException)jjte000;}
410: }
411: {if (true) throw (Error)jjte000;}
412: } finally {
413:• if (jjtc000) {
414: jjtree.closeNodeScope(jjtn000, true);
415: }
416: }
417: }
418:
419: /*
420: * Choice
421: * For Choice markup a ? b : c, right associative
422: */
423: final public void Choice() throws ParseException {
424: Or();
425:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
426: case QUESTIONMARK:
427: jj_consume_token(QUESTIONMARK);
428: Choice();
429: jj_consume_token(COLON);
430: AstChoice jjtn001 = new AstChoice(JJTCHOICE);
431: boolean jjtc001 = true;
432: jjtree.openNodeScope(jjtn001);
433: try {
434: Choice();
435: } catch (Throwable jjte001) {
436:• if (jjtc001) {
437: jjtree.clearNodeScope(jjtn001);
438: jjtc001 = false;
439: } else {
440: jjtree.popNode();
441: }
442:• if (jjte001 instanceof RuntimeException) {
443: {if (true) throw (RuntimeException)jjte001;}
444: }
445:• if (jjte001 instanceof ParseException) {
446: {if (true) throw (ParseException)jjte001;}
447: }
448: {if (true) throw (Error)jjte001;}
449: } finally {
450:• if (jjtc001) {
451: jjtree.closeNodeScope(jjtn001, 3);
452: }
453: }
454: break;
455: default:
456: jj_la1[8] = jj_gen;
457: ;
458: }
459: }
460:
461: /*
462: * Or
463: * For 'or' '||', then And
464: */
465: final public void Or() throws ParseException {
466: And();
467: label_5:
468: while (true) {
469:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
470: case OR0:
471: case OR1:
472: ;
473: break;
474: default:
475: jj_la1[9] = jj_gen;
476: break label_5;
477: }
478:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
479: case OR0:
480: jj_consume_token(OR0);
481: break;
482: case OR1:
483: jj_consume_token(OR1);
484: break;
485: default:
486: jj_la1[10] = jj_gen;
487: jj_consume_token(-1);
488: throw new ParseException();
489: }
490: AstOr jjtn001 = new AstOr(JJTOR);
491: boolean jjtc001 = true;
492: jjtree.openNodeScope(jjtn001);
493: try {
494: And();
495: } catch (Throwable jjte001) {
496:• if (jjtc001) {
497: jjtree.clearNodeScope(jjtn001);
498: jjtc001 = false;
499: } else {
500: jjtree.popNode();
501: }
502:• if (jjte001 instanceof RuntimeException) {
503: {if (true) throw (RuntimeException)jjte001;}
504: }
505:• if (jjte001 instanceof ParseException) {
506: {if (true) throw (ParseException)jjte001;}
507: }
508: {if (true) throw (Error)jjte001;}
509: } finally {
510:• if (jjtc001) {
511: jjtree.closeNodeScope(jjtn001, 2);
512: }
513: }
514: }
515: }
516:
517: /*
518: * And
519: * For 'and' '&&', then Equality
520: */
521: final public void And() throws ParseException {
522: Equality();
523: label_6:
524: while (true) {
525:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
526: case AND0:
527: case AND1:
528: ;
529: break;
530: default:
531: jj_la1[11] = jj_gen;
532: break label_6;
533: }
534:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
535: case AND0:
536: jj_consume_token(AND0);
537: break;
538: case AND1:
539: jj_consume_token(AND1);
540: break;
541: default:
542: jj_la1[12] = jj_gen;
543: jj_consume_token(-1);
544: throw new ParseException();
545: }
546: AstAnd jjtn001 = new AstAnd(JJTAND);
547: boolean jjtc001 = true;
548: jjtree.openNodeScope(jjtn001);
549: try {
550: Equality();
551: } catch (Throwable jjte001) {
552:• if (jjtc001) {
553: jjtree.clearNodeScope(jjtn001);
554: jjtc001 = false;
555: } else {
556: jjtree.popNode();
557: }
558:• if (jjte001 instanceof RuntimeException) {
559: {if (true) throw (RuntimeException)jjte001;}
560: }
561:• if (jjte001 instanceof ParseException) {
562: {if (true) throw (ParseException)jjte001;}
563: }
564: {if (true) throw (Error)jjte001;}
565: } finally {
566:• if (jjtc001) {
567: jjtree.closeNodeScope(jjtn001, 2);
568: }
569: }
570: }
571: }
572:
573: /*
574: * Equality
575: * For '==' 'eq' '!=' 'ne', then Compare
576: */
577: final public void Equality() throws ParseException {
578: Compare();
579: label_7:
580: while (true) {
581:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
582: case EQ0:
583: case EQ1:
584: case NE0:
585: case NE1:
586: ;
587: break;
588: default:
589: jj_la1[13] = jj_gen;
590: break label_7;
591: }
592:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
593: case EQ0:
594: case EQ1:
595:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
596: case EQ0:
597: jj_consume_token(EQ0);
598: break;
599: case EQ1:
600: jj_consume_token(EQ1);
601: break;
602: default:
603: jj_la1[14] = jj_gen;
604: jj_consume_token(-1);
605: throw new ParseException();
606: }
607: AstEqual jjtn001 = new AstEqual(JJTEQUAL);
608: boolean jjtc001 = true;
609: jjtree.openNodeScope(jjtn001);
610: try {
611: Compare();
612: } catch (Throwable jjte001) {
613:• if (jjtc001) {
614: jjtree.clearNodeScope(jjtn001);
615: jjtc001 = false;
616: } else {
617: jjtree.popNode();
618: }
619:• if (jjte001 instanceof RuntimeException) {
620: {if (true) throw (RuntimeException)jjte001;}
621: }
622:• if (jjte001 instanceof ParseException) {
623: {if (true) throw (ParseException)jjte001;}
624: }
625: {if (true) throw (Error)jjte001;}
626: } finally {
627:• if (jjtc001) {
628: jjtree.closeNodeScope(jjtn001, 2);
629: }
630: }
631: break;
632: case NE0:
633: case NE1:
634:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
635: case NE0:
636: jj_consume_token(NE0);
637: break;
638: case NE1:
639: jj_consume_token(NE1);
640: break;
641: default:
642: jj_la1[15] = jj_gen;
643: jj_consume_token(-1);
644: throw new ParseException();
645: }
646: AstNotEqual jjtn002 = new AstNotEqual(JJTNOTEQUAL);
647: boolean jjtc002 = true;
648: jjtree.openNodeScope(jjtn002);
649: try {
650: Compare();
651: } catch (Throwable jjte002) {
652:• if (jjtc002) {
653: jjtree.clearNodeScope(jjtn002);
654: jjtc002 = false;
655: } else {
656: jjtree.popNode();
657: }
658:• if (jjte002 instanceof RuntimeException) {
659: {if (true) throw (RuntimeException)jjte002;}
660: }
661:• if (jjte002 instanceof ParseException) {
662: {if (true) throw (ParseException)jjte002;}
663: }
664: {if (true) throw (Error)jjte002;}
665: } finally {
666:• if (jjtc002) {
667: jjtree.closeNodeScope(jjtn002, 2);
668: }
669: }
670: break;
671: default:
672: jj_la1[16] = jj_gen;
673: jj_consume_token(-1);
674: throw new ParseException();
675: }
676: }
677: }
678:
679: /*
680: * Compare
681: * For a bunch of them, then Math
682: */
683: final public void Compare() throws ParseException {
684: Concatenation();
685: label_8:
686: while (true) {
687:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
688: case GT0:
689: case GT1:
690: case LT0:
691: case LT1:
692: case GE0:
693: case GE1:
694: case LE0:
695: case LE1:
696: ;
697: break;
698: default:
699: jj_la1[17] = jj_gen;
700: break label_8;
701: }
702:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
703: case LT0:
704: case LT1:
705:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
706: case LT0:
707: jj_consume_token(LT0);
708: break;
709: case LT1:
710: jj_consume_token(LT1);
711: break;
712: default:
713: jj_la1[18] = jj_gen;
714: jj_consume_token(-1);
715: throw new ParseException();
716: }
717: AstLessThan jjtn001 = new AstLessThan(JJTLESSTHAN);
718: boolean jjtc001 = true;
719: jjtree.openNodeScope(jjtn001);
720: try {
721: Concatenation();
722: } catch (Throwable jjte001) {
723:• if (jjtc001) {
724: jjtree.clearNodeScope(jjtn001);
725: jjtc001 = false;
726: } else {
727: jjtree.popNode();
728: }
729:• if (jjte001 instanceof RuntimeException) {
730: {if (true) throw (RuntimeException)jjte001;}
731: }
732:• if (jjte001 instanceof ParseException) {
733: {if (true) throw (ParseException)jjte001;}
734: }
735: {if (true) throw (Error)jjte001;}
736: } finally {
737:• if (jjtc001) {
738: jjtree.closeNodeScope(jjtn001, 2);
739: }
740: }
741: break;
742: case GT0:
743: case GT1:
744:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
745: case GT0:
746: jj_consume_token(GT0);
747: break;
748: case GT1:
749: jj_consume_token(GT1);
750: break;
751: default:
752: jj_la1[19] = jj_gen;
753: jj_consume_token(-1);
754: throw new ParseException();
755: }
756: AstGreaterThan jjtn002 = new AstGreaterThan(JJTGREATERTHAN);
757: boolean jjtc002 = true;
758: jjtree.openNodeScope(jjtn002);
759: try {
760: Concatenation();
761: } catch (Throwable jjte002) {
762:• if (jjtc002) {
763: jjtree.clearNodeScope(jjtn002);
764: jjtc002 = false;
765: } else {
766: jjtree.popNode();
767: }
768:• if (jjte002 instanceof RuntimeException) {
769: {if (true) throw (RuntimeException)jjte002;}
770: }
771:• if (jjte002 instanceof ParseException) {
772: {if (true) throw (ParseException)jjte002;}
773: }
774: {if (true) throw (Error)jjte002;}
775: } finally {
776:• if (jjtc002) {
777: jjtree.closeNodeScope(jjtn002, 2);
778: }
779: }
780: break;
781: case LE0:
782: case LE1:
783:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
784: case LE0:
785: jj_consume_token(LE0);
786: break;
787: case LE1:
788: jj_consume_token(LE1);
789: break;
790: default:
791: jj_la1[20] = jj_gen;
792: jj_consume_token(-1);
793: throw new ParseException();
794: }
795: AstLessThanEqual jjtn003 = new AstLessThanEqual(JJTLESSTHANEQUAL);
796: boolean jjtc003 = true;
797: jjtree.openNodeScope(jjtn003);
798: try {
799: Concatenation();
800: } catch (Throwable jjte003) {
801:• if (jjtc003) {
802: jjtree.clearNodeScope(jjtn003);
803: jjtc003 = false;
804: } else {
805: jjtree.popNode();
806: }
807:• if (jjte003 instanceof RuntimeException) {
808: {if (true) throw (RuntimeException)jjte003;}
809: }
810:• if (jjte003 instanceof ParseException) {
811: {if (true) throw (ParseException)jjte003;}
812: }
813: {if (true) throw (Error)jjte003;}
814: } finally {
815:• if (jjtc003) {
816: jjtree.closeNodeScope(jjtn003, 2);
817: }
818: }
819: break;
820: case GE0:
821: case GE1:
822:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
823: case GE0:
824: jj_consume_token(GE0);
825: break;
826: case GE1:
827: jj_consume_token(GE1);
828: break;
829: default:
830: jj_la1[21] = jj_gen;
831: jj_consume_token(-1);
832: throw new ParseException();
833: }
834: AstGreaterThanEqual jjtn004 = new AstGreaterThanEqual(JJTGREATERTHANEQUAL);
835: boolean jjtc004 = true;
836: jjtree.openNodeScope(jjtn004);
837: try {
838: Concatenation();
839: } catch (Throwable jjte004) {
840:• if (jjtc004) {
841: jjtree.clearNodeScope(jjtn004);
842: jjtc004 = false;
843: } else {
844: jjtree.popNode();
845: }
846:• if (jjte004 instanceof RuntimeException) {
847: {if (true) throw (RuntimeException)jjte004;}
848: }
849:• if (jjte004 instanceof ParseException) {
850: {if (true) throw (ParseException)jjte004;}
851: }
852: {if (true) throw (Error)jjte004;}
853: } finally {
854:• if (jjtc004) {
855: jjtree.closeNodeScope(jjtn004, 2);
856: }
857: }
858: break;
859: default:
860: jj_la1[22] = jj_gen;
861: jj_consume_token(-1);
862: throw new ParseException();
863: }
864: }
865: }
866:
867: /*
868: * Concatenation
869: * For '&', then Math()
870: */
871: final public void Concatenation() throws ParseException {
872: Math();
873: label_9:
874: while (true) {
875:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
876: case CONCAT:
877: ;
878: break;
879: default:
880: jj_la1[23] = jj_gen;
881: break label_9;
882: }
883: jj_consume_token(CONCAT);
884: AstConcat jjtn001 = new AstConcat(JJTCONCAT);
885: boolean jjtc001 = true;
886: jjtree.openNodeScope(jjtn001);
887: try {
888: Math();
889: } catch (Throwable jjte001) {
890:• if (jjtc001) {
891: jjtree.clearNodeScope(jjtn001);
892: jjtc001 = false;
893: } else {
894: jjtree.popNode();
895: }
896:• if (jjte001 instanceof RuntimeException) {
897: {if (true) throw (RuntimeException)jjte001;}
898: }
899:• if (jjte001 instanceof ParseException) {
900: {if (true) throw (ParseException)jjte001;}
901: }
902: {if (true) throw (Error)jjte001;}
903: } finally {
904:• if (jjtc001) {
905: jjtree.closeNodeScope(jjtn001, 2);
906: }
907: }
908: }
909: }
910:
911: /*
912: * Math
913: * For '+' '-', then Multiplication
914: */
915: final public void Math() throws ParseException {
916: Multiplication();
917: label_10:
918: while (true) {
919:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
920: case PLUS:
921: case MINUS:
922: ;
923: break;
924: default:
925: jj_la1[24] = jj_gen;
926: break label_10;
927: }
928:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
929: case PLUS:
930: jj_consume_token(PLUS);
931: AstPlus jjtn001 = new AstPlus(JJTPLUS);
932: boolean jjtc001 = true;
933: jjtree.openNodeScope(jjtn001);
934: try {
935: Multiplication();
936: } catch (Throwable jjte001) {
937:• if (jjtc001) {
938: jjtree.clearNodeScope(jjtn001);
939: jjtc001 = false;
940: } else {
941: jjtree.popNode();
942: }
943:• if (jjte001 instanceof RuntimeException) {
944: {if (true) throw (RuntimeException)jjte001;}
945: }
946:• if (jjte001 instanceof ParseException) {
947: {if (true) throw (ParseException)jjte001;}
948: }
949: {if (true) throw (Error)jjte001;}
950: } finally {
951:• if (jjtc001) {
952: jjtree.closeNodeScope(jjtn001, 2);
953: }
954: }
955: break;
956: case MINUS:
957: jj_consume_token(MINUS);
958: AstMinus jjtn002 = new AstMinus(JJTMINUS);
959: boolean jjtc002 = true;
960: jjtree.openNodeScope(jjtn002);
961: try {
962: Multiplication();
963: } catch (Throwable jjte002) {
964:• if (jjtc002) {
965: jjtree.clearNodeScope(jjtn002);
966: jjtc002 = false;
967: } else {
968: jjtree.popNode();
969: }
970:• if (jjte002 instanceof RuntimeException) {
971: {if (true) throw (RuntimeException)jjte002;}
972: }
973:• if (jjte002 instanceof ParseException) {
974: {if (true) throw (ParseException)jjte002;}
975: }
976: {if (true) throw (Error)jjte002;}
977: } finally {
978:• if (jjtc002) {
979: jjtree.closeNodeScope(jjtn002, 2);
980: }
981: }
982: break;
983: default:
984: jj_la1[25] = jj_gen;
985: jj_consume_token(-1);
986: throw new ParseException();
987: }
988: }
989: }
990:
991: /*
992: * Multiplication
993: * For a bunch of them, then Unary
994: */
995: final public void Multiplication() throws ParseException {
996: Unary();
997: label_11:
998: while (true) {
999:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1000: case MULT:
1001: case DIV0:
1002: case DIV1:
1003: case MOD0:
1004: case MOD1:
1005: ;
1006: break;
1007: default:
1008: jj_la1[26] = jj_gen;
1009: break label_11;
1010: }
1011:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1012: case MULT:
1013: jj_consume_token(MULT);
1014: AstMult jjtn001 = new AstMult(JJTMULT);
1015: boolean jjtc001 = true;
1016: jjtree.openNodeScope(jjtn001);
1017: try {
1018: Unary();
1019: } catch (Throwable jjte001) {
1020:• if (jjtc001) {
1021: jjtree.clearNodeScope(jjtn001);
1022: jjtc001 = false;
1023: } else {
1024: jjtree.popNode();
1025: }
1026:• if (jjte001 instanceof RuntimeException) {
1027: {if (true) throw (RuntimeException)jjte001;}
1028: }
1029:• if (jjte001 instanceof ParseException) {
1030: {if (true) throw (ParseException)jjte001;}
1031: }
1032: {if (true) throw (Error)jjte001;}
1033: } finally {
1034:• if (jjtc001) {
1035: jjtree.closeNodeScope(jjtn001, 2);
1036: }
1037: }
1038: break;
1039: case DIV0:
1040: case DIV1:
1041:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1042: case DIV0:
1043: jj_consume_token(DIV0);
1044: break;
1045: case DIV1:
1046: jj_consume_token(DIV1);
1047: break;
1048: default:
1049: jj_la1[27] = jj_gen;
1050: jj_consume_token(-1);
1051: throw new ParseException();
1052: }
1053: AstDiv jjtn002 = new AstDiv(JJTDIV);
1054: boolean jjtc002 = true;
1055: jjtree.openNodeScope(jjtn002);
1056: try {
1057: Unary();
1058: } catch (Throwable jjte002) {
1059:• if (jjtc002) {
1060: jjtree.clearNodeScope(jjtn002);
1061: jjtc002 = false;
1062: } else {
1063: jjtree.popNode();
1064: }
1065:• if (jjte002 instanceof RuntimeException) {
1066: {if (true) throw (RuntimeException)jjte002;}
1067: }
1068:• if (jjte002 instanceof ParseException) {
1069: {if (true) throw (ParseException)jjte002;}
1070: }
1071: {if (true) throw (Error)jjte002;}
1072: } finally {
1073:• if (jjtc002) {
1074: jjtree.closeNodeScope(jjtn002, 2);
1075: }
1076: }
1077: break;
1078: case MOD0:
1079: case MOD1:
1080:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1081: case MOD0:
1082: jj_consume_token(MOD0);
1083: break;
1084: case MOD1:
1085: jj_consume_token(MOD1);
1086: break;
1087: default:
1088: jj_la1[28] = jj_gen;
1089: jj_consume_token(-1);
1090: throw new ParseException();
1091: }
1092: AstMod jjtn003 = new AstMod(JJTMOD);
1093: boolean jjtc003 = true;
1094: jjtree.openNodeScope(jjtn003);
1095: try {
1096: Unary();
1097: } catch (Throwable jjte003) {
1098:• if (jjtc003) {
1099: jjtree.clearNodeScope(jjtn003);
1100: jjtc003 = false;
1101: } else {
1102: jjtree.popNode();
1103: }
1104:• if (jjte003 instanceof RuntimeException) {
1105: {if (true) throw (RuntimeException)jjte003;}
1106: }
1107:• if (jjte003 instanceof ParseException) {
1108: {if (true) throw (ParseException)jjte003;}
1109: }
1110: {if (true) throw (Error)jjte003;}
1111: } finally {
1112:• if (jjtc003) {
1113: jjtree.closeNodeScope(jjtn003, 2);
1114: }
1115: }
1116: break;
1117: default:
1118: jj_la1[29] = jj_gen;
1119: jj_consume_token(-1);
1120: throw new ParseException();
1121: }
1122: }
1123: }
1124:
1125: /*
1126: * Unary
1127: * For '-' '!' 'not' 'empty', then Value
1128: */
1129: final public void Unary() throws ParseException {
1130:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1131: case MINUS:
1132: jj_consume_token(MINUS);
1133: AstNegative jjtn001 = new AstNegative(JJTNEGATIVE);
1134: boolean jjtc001 = true;
1135: jjtree.openNodeScope(jjtn001);
1136: try {
1137: Unary();
1138: } catch (Throwable jjte001) {
1139:• if (jjtc001) {
1140: jjtree.clearNodeScope(jjtn001);
1141: jjtc001 = false;
1142: } else {
1143: jjtree.popNode();
1144: }
1145:• if (jjte001 instanceof RuntimeException) {
1146: {if (true) throw (RuntimeException)jjte001;}
1147: }
1148:• if (jjte001 instanceof ParseException) {
1149: {if (true) throw (ParseException)jjte001;}
1150: }
1151: {if (true) throw (Error)jjte001;}
1152: } finally {
1153:• if (jjtc001) {
1154: jjtree.closeNodeScope(jjtn001, true);
1155: }
1156: }
1157: break;
1158: case NOT0:
1159: case NOT1:
1160:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1161: case NOT0:
1162: jj_consume_token(NOT0);
1163: break;
1164: case NOT1:
1165: jj_consume_token(NOT1);
1166: break;
1167: default:
1168: jj_la1[30] = jj_gen;
1169: jj_consume_token(-1);
1170: throw new ParseException();
1171: }
1172: AstNot jjtn002 = new AstNot(JJTNOT);
1173: boolean jjtc002 = true;
1174: jjtree.openNodeScope(jjtn002);
1175: try {
1176: Unary();
1177: } catch (Throwable jjte002) {
1178:• if (jjtc002) {
1179: jjtree.clearNodeScope(jjtn002);
1180: jjtc002 = false;
1181: } else {
1182: jjtree.popNode();
1183: }
1184:• if (jjte002 instanceof RuntimeException) {
1185: {if (true) throw (RuntimeException)jjte002;}
1186: }
1187:• if (jjte002 instanceof ParseException) {
1188: {if (true) throw (ParseException)jjte002;}
1189: }
1190: {if (true) throw (Error)jjte002;}
1191: } finally {
1192:• if (jjtc002) {
1193: jjtree.closeNodeScope(jjtn002, true);
1194: }
1195: }
1196: break;
1197: case EMPTY:
1198: jj_consume_token(EMPTY);
1199: AstEmpty jjtn003 = new AstEmpty(JJTEMPTY);
1200: boolean jjtc003 = true;
1201: jjtree.openNodeScope(jjtn003);
1202: try {
1203: Unary();
1204: } catch (Throwable jjte003) {
1205:• if (jjtc003) {
1206: jjtree.clearNodeScope(jjtn003);
1207: jjtc003 = false;
1208: } else {
1209: jjtree.popNode();
1210: }
1211:• if (jjte003 instanceof RuntimeException) {
1212: {if (true) throw (RuntimeException)jjte003;}
1213: }
1214:• if (jjte003 instanceof ParseException) {
1215: {if (true) throw (ParseException)jjte003;}
1216: }
1217: {if (true) throw (Error)jjte003;}
1218: } finally {
1219:• if (jjtc003) {
1220: jjtree.closeNodeScope(jjtn003, true);
1221: }
1222: }
1223: break;
1224: case START_MAP:
1225: case INTEGER_LITERAL:
1226: case FLOATING_POINT_LITERAL:
1227: case STRING_LITERAL:
1228: case TRUE:
1229: case FALSE:
1230: case NULL:
1231: case LPAREN:
1232: case LBRACK:
1233: case IDENTIFIER:
1234: Value();
1235: break;
1236: default:
1237: jj_la1[31] = jj_gen;
1238: jj_consume_token(-1);
1239: throw new ParseException();
1240: }
1241: }
1242:
1243: /*
1244: * Value
1245: * Defines Prefix plus zero or more Suffixes
1246: */
1247: final public void Value() throws ParseException {
1248: AstValue jjtn001 = new AstValue(JJTVALUE);
1249: boolean jjtc001 = true;
1250: jjtree.openNodeScope(jjtn001);
1251: try {
1252: ValuePrefix();
1253: label_12:
1254: while (true) {
1255:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1256: case DOT:
1257: case LBRACK:
1258: ;
1259: break;
1260: default:
1261: jj_la1[32] = jj_gen;
1262: break label_12;
1263: }
1264: ValueSuffix();
1265: }
1266: } catch (Throwable jjte001) {
1267:• if (jjtc001) {
1268: jjtree.clearNodeScope(jjtn001);
1269: jjtc001 = false;
1270: } else {
1271: jjtree.popNode();
1272: }
1273:• if (jjte001 instanceof RuntimeException) {
1274: {if (true) throw (RuntimeException)jjte001;}
1275: }
1276:• if (jjte001 instanceof ParseException) {
1277: {if (true) throw (ParseException)jjte001;}
1278: }
1279: {if (true) throw (Error)jjte001;}
1280: } finally {
1281:• if (jjtc001) {
1282:• jjtree.closeNodeScope(jjtn001, jjtree.nodeArity() > 1);
1283: }
1284: }
1285: }
1286:
1287: /*
1288: * ValuePrefix
1289: * For Literals, Variables, and Functions
1290: */
1291: final public void ValuePrefix() throws ParseException {
1292:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1293: case INTEGER_LITERAL:
1294: case FLOATING_POINT_LITERAL:
1295: case STRING_LITERAL:
1296: case TRUE:
1297: case FALSE:
1298: case NULL:
1299: Literal();
1300: break;
1301: case START_MAP:
1302: case LPAREN:
1303: case LBRACK:
1304: case IDENTIFIER:
1305: NonLiteral();
1306: break;
1307: default:
1308: jj_la1[33] = jj_gen;
1309: jj_consume_token(-1);
1310: throw new ParseException();
1311: }
1312: }
1313:
1314: /*
1315: * ValueSuffix
1316: * Either dot or bracket notation
1317: */
1318: final public void ValueSuffix() throws ParseException {
1319:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1320: case DOT:
1321: DotSuffix();
1322: break;
1323: case LBRACK:
1324: BracketSuffix();
1325: break;
1326: default:
1327: jj_la1[34] = jj_gen;
1328: jj_consume_token(-1);
1329: throw new ParseException();
1330: }
1331: }
1332:
1333: /*
1334: * DotSuffix
1335: * Dot Property and Dot Method
1336: */
1337: final public void DotSuffix() throws ParseException {
1338: /*@bgen(jjtree) DotSuffix */
1339: AstDotSuffix jjtn000 = new AstDotSuffix(JJTDOTSUFFIX);
1340: boolean jjtc000 = true;
1341: jjtree.openNodeScope(jjtn000);Token t = null;
1342: try {
1343: jj_consume_token(DOT);
1344: t = jj_consume_token(IDENTIFIER);
1345: jjtn000.setImage(t.image);
1346:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1347: case LPAREN:
1348: MethodArguments();
1349: break;
1350: default:
1351: jj_la1[35] = jj_gen;
1352: ;
1353: }
1354: } catch (Throwable jjte000) {
1355:• if (jjtc000) {
1356: jjtree.clearNodeScope(jjtn000);
1357: jjtc000 = false;
1358: } else {
1359: jjtree.popNode();
1360: }
1361:• if (jjte000 instanceof RuntimeException) {
1362: {if (true) throw (RuntimeException)jjte000;}
1363: }
1364:• if (jjte000 instanceof ParseException) {
1365: {if (true) throw (ParseException)jjte000;}
1366: }
1367: {if (true) throw (Error)jjte000;}
1368: } finally {
1369:• if (jjtc000) {
1370: jjtree.closeNodeScope(jjtn000, true);
1371: }
1372: }
1373: }
1374:
1375: /*
1376: * BracketSuffix
1377: * Sub Expression Suffix
1378: */
1379: final public void BracketSuffix() throws ParseException {
1380: /*@bgen(jjtree) BracketSuffix */
1381: AstBracketSuffix jjtn000 = new AstBracketSuffix(JJTBRACKETSUFFIX);
1382: boolean jjtc000 = true;
1383: jjtree.openNodeScope(jjtn000);
1384: try {
1385: jj_consume_token(LBRACK);
1386: Expression();
1387: jj_consume_token(RBRACK);
1388:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1389: case LPAREN:
1390: MethodArguments();
1391: break;
1392: default:
1393: jj_la1[36] = jj_gen;
1394: ;
1395: }
1396: } catch (Throwable jjte000) {
1397:• if (jjtc000) {
1398: jjtree.clearNodeScope(jjtn000);
1399: jjtc000 = false;
1400: } else {
1401: jjtree.popNode();
1402: }
1403:• if (jjte000 instanceof RuntimeException) {
1404: {if (true) throw (RuntimeException)jjte000;}
1405: }
1406:• if (jjte000 instanceof ParseException) {
1407: {if (true) throw (ParseException)jjte000;}
1408: }
1409: {if (true) throw (Error)jjte000;}
1410: } finally {
1411:• if (jjtc000) {
1412: jjtree.closeNodeScope(jjtn000, true);
1413: }
1414: }
1415: }
1416:
1417: /*
1418: * MethodArguments
1419: */
1420: final public void MethodArguments() throws ParseException {
1421: /*@bgen(jjtree) MethodArguments */
1422: AstMethodArguments jjtn000 = new AstMethodArguments(JJTMETHODARGUMENTS);
1423: boolean jjtc000 = true;
1424: jjtree.openNodeScope(jjtn000);
1425: try {
1426: jj_consume_token(LPAREN);
1427:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1428: case START_MAP:
1429: case INTEGER_LITERAL:
1430: case FLOATING_POINT_LITERAL:
1431: case STRING_LITERAL:
1432: case TRUE:
1433: case FALSE:
1434: case NULL:
1435: case LPAREN:
1436: case LBRACK:
1437: case NOT0:
1438: case NOT1:
1439: case EMPTY:
1440: case MINUS:
1441: case IDENTIFIER:
1442: Expression();
1443: label_13:
1444: while (true) {
1445:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1446: case COMMA:
1447: ;
1448: break;
1449: default:
1450: jj_la1[37] = jj_gen;
1451: break label_13;
1452: }
1453: jj_consume_token(COMMA);
1454: Expression();
1455: }
1456: break;
1457: default:
1458: jj_la1[38] = jj_gen;
1459: ;
1460: }
1461: jj_consume_token(RPAREN);
1462: } catch (Throwable jjte000) {
1463:• if (jjtc000) {
1464: jjtree.clearNodeScope(jjtn000);
1465: jjtc000 = false;
1466: } else {
1467: jjtree.popNode();
1468: }
1469:• if (jjte000 instanceof RuntimeException) {
1470: {if (true) throw (RuntimeException)jjte000;}
1471: }
1472:• if (jjte000 instanceof ParseException) {
1473: {if (true) throw (ParseException)jjte000;}
1474: }
1475: {if (true) throw (Error)jjte000;}
1476: } finally {
1477:• if (jjtc000) {
1478: jjtree.closeNodeScope(jjtn000, true);
1479: }
1480: }
1481: }
1482:
1483: /*
1484: * Parenthesized Lambda Expression, with optional invokation
1485: */
1486: final public void LambdaExpressionOrCall() throws ParseException {
1487: /*@bgen(jjtree) LambdaExpression */
1488: AstLambdaExpression jjtn000 = new AstLambdaExpression(JJTLAMBDAEXPRESSION);
1489: boolean jjtc000 = true;
1490: jjtree.openNodeScope(jjtn000);
1491: try {
1492: jj_consume_token(LPAREN);
1493: LambdaParameters();
1494: jj_consume_token(ARROW);
1495:• if (jj_2_4(3)) {
1496: LambdaExpression();
1497: } else {
1498:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1499: case START_MAP:
1500: case INTEGER_LITERAL:
1501: case FLOATING_POINT_LITERAL:
1502: case STRING_LITERAL:
1503: case TRUE:
1504: case FALSE:
1505: case NULL:
1506: case LPAREN:
1507: case LBRACK:
1508: case NOT0:
1509: case NOT1:
1510: case EMPTY:
1511: case MINUS:
1512: case IDENTIFIER:
1513: Choice();
1514: break;
1515: default:
1516: jj_la1[39] = jj_gen;
1517: jj_consume_token(-1);
1518: throw new ParseException();
1519: }
1520: }
1521: jj_consume_token(RPAREN);
1522: label_14:
1523: while (true) {
1524:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1525: case LPAREN:
1526: ;
1527: break;
1528: default:
1529: jj_la1[40] = jj_gen;
1530: break label_14;
1531: }
1532: MethodArguments();
1533: }
1534: } catch (Throwable jjte000) {
1535:• if (jjtc000) {
1536: jjtree.clearNodeScope(jjtn000);
1537: jjtc000 = false;
1538: } else {
1539: jjtree.popNode();
1540: }
1541:• if (jjte000 instanceof RuntimeException) {
1542: {if (true) throw (RuntimeException)jjte000;}
1543: }
1544:• if (jjte000 instanceof ParseException) {
1545: {if (true) throw (ParseException)jjte000;}
1546: }
1547: {if (true) throw (Error)jjte000;}
1548: } finally {
1549:• if (jjtc000) {
1550: jjtree.closeNodeScope(jjtn000, true);
1551: }
1552: }
1553: }
1554:
1555: /*
1556: * NonLiteral
1557: * For Grouped Operations, Identifiers, and Functions
1558: */
1559: final public void NonLiteral() throws ParseException {
1560:• if (jj_2_5(5)) {
1561: LambdaExpressionOrCall();
1562: } else {
1563:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1564: case LPAREN:
1565: jj_consume_token(LPAREN);
1566: Expression();
1567: jj_consume_token(RPAREN);
1568: break;
1569: default:
1570: jj_la1[41] = jj_gen;
1571:• if (jj_2_6(4)) {
1572: Function();
1573: } else {
1574:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1575: case IDENTIFIER:
1576: Identifier();
1577: break;
1578: case START_MAP:
1579: MapData();
1580: break;
1581: case LBRACK:
1582: ListData();
1583: break;
1584: default:
1585: jj_la1[42] = jj_gen;
1586: jj_consume_token(-1);
1587: throw new ParseException();
1588: }
1589: }
1590: }
1591: }
1592: }
1593:
1594: final public void MapData() throws ParseException {
1595: /*@bgen(jjtree) MapData */
1596: AstMapData jjtn000 = new AstMapData(JJTMAPDATA);
1597: boolean jjtc000 = true;
1598: jjtree.openNodeScope(jjtn000);
1599: try {
1600: jj_consume_token(START_MAP);
1601:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1602: case START_MAP:
1603: case INTEGER_LITERAL:
1604: case FLOATING_POINT_LITERAL:
1605: case STRING_LITERAL:
1606: case TRUE:
1607: case FALSE:
1608: case NULL:
1609: case LPAREN:
1610: case LBRACK:
1611: case NOT0:
1612: case NOT1:
1613: case EMPTY:
1614: case MINUS:
1615: case IDENTIFIER:
1616: MapEntry();
1617: label_15:
1618: while (true) {
1619:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1620: case COMMA:
1621: ;
1622: break;
1623: default:
1624: jj_la1[43] = jj_gen;
1625: break label_15;
1626: }
1627: jj_consume_token(COMMA);
1628: MapEntry();
1629: }
1630: break;
1631: default:
1632: jj_la1[44] = jj_gen;
1633: ;
1634: }
1635: jj_consume_token(RCURL);
1636: } catch (Throwable jjte000) {
1637:• if (jjtc000) {
1638: jjtree.clearNodeScope(jjtn000);
1639: jjtc000 = false;
1640: } else {
1641: jjtree.popNode();
1642: }
1643:• if (jjte000 instanceof RuntimeException) {
1644: {if (true) throw (RuntimeException)jjte000;}
1645: }
1646:• if (jjte000 instanceof ParseException) {
1647: {if (true) throw (ParseException)jjte000;}
1648: }
1649: {if (true) throw (Error)jjte000;}
1650: } finally {
1651:• if (jjtc000) {
1652: jjtree.closeNodeScope(jjtn000, true);
1653: }
1654: }
1655: }
1656:
1657: final public void MapEntry() throws ParseException {
1658: /*@bgen(jjtree) MapEntry */
1659: AstMapEntry jjtn000 = new AstMapEntry(JJTMAPENTRY);
1660: boolean jjtc000 = true;
1661: jjtree.openNodeScope(jjtn000);
1662: try {
1663: Expression();
1664:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1665: case COLON:
1666: jj_consume_token(COLON);
1667: Expression();
1668: break;
1669: default:
1670: jj_la1[45] = jj_gen;
1671: ;
1672: }
1673: } catch (Throwable jjte000) {
1674:• if (jjtc000) {
1675: jjtree.clearNodeScope(jjtn000);
1676: jjtc000 = false;
1677: } else {
1678: jjtree.popNode();
1679: }
1680:• if (jjte000 instanceof RuntimeException) {
1681: {if (true) throw (RuntimeException)jjte000;}
1682: }
1683:• if (jjte000 instanceof ParseException) {
1684: {if (true) throw (ParseException)jjte000;}
1685: }
1686: {if (true) throw (Error)jjte000;}
1687: } finally {
1688:• if (jjtc000) {
1689: jjtree.closeNodeScope(jjtn000, true);
1690: }
1691: }
1692: }
1693:
1694: final public void ListData() throws ParseException {
1695: /*@bgen(jjtree) ListData */
1696: AstListData jjtn000 = new AstListData(JJTLISTDATA);
1697: boolean jjtc000 = true;
1698: jjtree.openNodeScope(jjtn000);
1699: try {
1700: jj_consume_token(LBRACK);
1701:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1702: case START_MAP:
1703: case INTEGER_LITERAL:
1704: case FLOATING_POINT_LITERAL:
1705: case STRING_LITERAL:
1706: case TRUE:
1707: case FALSE:
1708: case NULL:
1709: case LPAREN:
1710: case LBRACK:
1711: case NOT0:
1712: case NOT1:
1713: case EMPTY:
1714: case MINUS:
1715: case IDENTIFIER:
1716: Expression();
1717: label_16:
1718: while (true) {
1719:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1720: case COMMA:
1721: ;
1722: break;
1723: default:
1724: jj_la1[46] = jj_gen;
1725: break label_16;
1726: }
1727: jj_consume_token(COMMA);
1728: Expression();
1729: }
1730: break;
1731: default:
1732: jj_la1[47] = jj_gen;
1733: ;
1734: }
1735: jj_consume_token(RBRACK);
1736: } catch (Throwable jjte000) {
1737:• if (jjtc000) {
1738: jjtree.clearNodeScope(jjtn000);
1739: jjtc000 = false;
1740: } else {
1741: jjtree.popNode();
1742: }
1743:• if (jjte000 instanceof RuntimeException) {
1744: {if (true) throw (RuntimeException)jjte000;}
1745: }
1746:• if (jjte000 instanceof ParseException) {
1747: {if (true) throw (ParseException)jjte000;}
1748: }
1749: {if (true) throw (Error)jjte000;}
1750: } finally {
1751:• if (jjtc000) {
1752: jjtree.closeNodeScope(jjtn000, true);
1753: }
1754: }
1755: }
1756:
1757: /*
1758: * Identifier
1759: * Java Language Identifier
1760: */
1761: final public void Identifier() throws ParseException {
1762: /*@bgen(jjtree) Identifier */
1763: AstIdentifier jjtn000 = new AstIdentifier(JJTIDENTIFIER);
1764: boolean jjtc000 = true;
1765: jjtree.openNodeScope(jjtn000);Token t = null;
1766: try {
1767: t = jj_consume_token(IDENTIFIER);
1768: jjtree.closeNodeScope(jjtn000, true);
1769: jjtc000 = false;
1770: jjtn000.setImage(t.image);
1771: } finally {
1772:• if (jjtc000) {
1773: jjtree.closeNodeScope(jjtn000, true);
1774: }
1775: }
1776: }
1777:
1778: /*
1779: * Function
1780: * Namespace:Name(a,b,c)
1781: */
1782: final public void Function() throws ParseException {
1783: /*@bgen(jjtree) Function */
1784: AstFunction jjtn000 = new AstFunction(JJTFUNCTION);
1785: boolean jjtc000 = true;
1786: jjtree.openNodeScope(jjtn000);Token t0 = null;
1787: Token t1 = null;
1788: try {
1789: t0 = jj_consume_token(IDENTIFIER);
1790:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1791: case COLON:
1792: jj_consume_token(COLON);
1793: t1 = jj_consume_token(IDENTIFIER);
1794: break;
1795: default:
1796: jj_la1[48] = jj_gen;
1797: ;
1798: }
1799:• if (t1 != null) {
1800: jjtn000.setPrefix(t0.image);
1801: jjtn000.setLocalName(t1.image);
1802: } else {
1803: jjtn000.setLocalName(t0.image);
1804: }
1805: label_17:
1806: while (true) {
1807: MethodArguments();
1808:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1809: case LPAREN:
1810: ;
1811: break;
1812: default:
1813: jj_la1[49] = jj_gen;
1814: break label_17;
1815: }
1816: }
1817: } catch (Throwable jjte000) {
1818:• if (jjtc000) {
1819: jjtree.clearNodeScope(jjtn000);
1820: jjtc000 = false;
1821: } else {
1822: jjtree.popNode();
1823: }
1824:• if (jjte000 instanceof RuntimeException) {
1825: {if (true) throw (RuntimeException)jjte000;}
1826: }
1827:• if (jjte000 instanceof ParseException) {
1828: {if (true) throw (ParseException)jjte000;}
1829: }
1830: {if (true) throw (Error)jjte000;}
1831: } finally {
1832:• if (jjtc000) {
1833: jjtree.closeNodeScope(jjtn000, true);
1834: }
1835: }
1836: }
1837:
1838: /*
1839: * Literal
1840: * Reserved Keywords
1841: */
1842: final public void Literal() throws ParseException {
1843:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1844: case TRUE:
1845: case FALSE:
1846: Boolean();
1847: break;
1848: case FLOATING_POINT_LITERAL:
1849: FloatingPoint();
1850: break;
1851: case INTEGER_LITERAL:
1852: Integer();
1853: break;
1854: case STRING_LITERAL:
1855: String();
1856: break;
1857: case NULL:
1858: Null();
1859: break;
1860: default:
1861: jj_la1[50] = jj_gen;
1862: jj_consume_token(-1);
1863: throw new ParseException();
1864: }
1865: }
1866:
1867: /*
1868: * Boolean
1869: * For 'true' 'false'
1870: */
1871: final public void Boolean() throws ParseException {
1872:• switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
1873: case TRUE:
1874: AstTrue jjtn001 = new AstTrue(JJTTRUE);
1875: boolean jjtc001 = true;
1876: jjtree.openNodeScope(jjtn001);
1877: try {
1878: jj_consume_token(TRUE);
1879: } finally {
1880:• if (jjtc001) {
1881: jjtree.closeNodeScope(jjtn001, true);
1882: }
1883: }
1884: break;
1885: case FALSE:
1886: AstFalse jjtn002 = new AstFalse(JJTFALSE);
1887: boolean jjtc002 = true;
1888: jjtree.openNodeScope(jjtn002);
1889: try {
1890: jj_consume_token(FALSE);
1891: } finally {
1892:• if (jjtc002) {
1893: jjtree.closeNodeScope(jjtn002, true);
1894: }
1895: }
1896: break;
1897: default:
1898: jj_la1[51] = jj_gen;
1899: jj_consume_token(-1);
1900: throw new ParseException();
1901: }
1902: }
1903:
1904: /*
1905: * FloatinPoint
1906: * For Decimal and Floating Point Literals
1907: */
1908: final public void FloatingPoint() throws ParseException {
1909: /*@bgen(jjtree) FloatingPoint */
1910: AstFloatingPoint jjtn000 = new AstFloatingPoint(JJTFLOATINGPOINT);
1911: boolean jjtc000 = true;
1912: jjtree.openNodeScope(jjtn000);Token t = null;
1913: try {
1914: t = jj_consume_token(FLOATING_POINT_LITERAL);
1915: jjtree.closeNodeScope(jjtn000, true);
1916: jjtc000 = false;
1917: jjtn000.setImage(t.image);
1918: } finally {
1919:• if (jjtc000) {
1920: jjtree.closeNodeScope(jjtn000, true);
1921: }
1922: }
1923: }
1924:
1925: /*
1926: * Integer
1927: * For Simple Numeric Literals
1928: */
1929: final public void Integer() throws ParseException {
1930: /*@bgen(jjtree) Integer */
1931: AstInteger jjtn000 = new AstInteger(JJTINTEGER);
1932: boolean jjtc000 = true;
1933: jjtree.openNodeScope(jjtn000);Token t = null;
1934: try {
1935: t = jj_consume_token(INTEGER_LITERAL);
1936: jjtree.closeNodeScope(jjtn000, true);
1937: jjtc000 = false;
1938: jjtn000.setImage(t.image);
1939: } finally {
1940:• if (jjtc000) {
1941: jjtree.closeNodeScope(jjtn000, true);
1942: }
1943: }
1944: }
1945:
1946: /*
1947: * String
1948: * For Quoted Literals
1949: */
1950: final public void String() throws ParseException {
1951: /*@bgen(jjtree) String */
1952: AstString jjtn000 = new AstString(JJTSTRING);
1953: boolean jjtc000 = true;
1954: jjtree.openNodeScope(jjtn000);Token t = null;
1955: try {
1956: t = jj_consume_token(STRING_LITERAL);
1957: jjtree.closeNodeScope(jjtn000, true);
1958: jjtc000 = false;
1959: jjtn000.setImage(t.image);
1960: } finally {
1961:• if (jjtc000) {
1962: jjtree.closeNodeScope(jjtn000, true);
1963: }
1964: }
1965: }
1966:
1967: /*
1968: * Null
1969: * For 'null'
1970: */
1971: final public void Null() throws ParseException {
1972: /*@bgen(jjtree) Null */
1973: AstNull jjtn000 = new AstNull(JJTNULL);
1974: boolean jjtc000 = true;
1975: jjtree.openNodeScope(jjtn000);
1976: try {
1977: jj_consume_token(NULL);
1978: } finally {
1979:• if (jjtc000) {
1980: jjtree.closeNodeScope(jjtn000, true);
1981: }
1982: }
1983: }
1984:
1985: private boolean jj_2_1(int xla) {
1986: jj_la = xla; jj_lastpos = jj_scanpos = token;
1987:• try { return !jj_3_1(); }
1988: catch(LookaheadSuccess ls) { return true; }
1989: finally { jj_save(0, xla); }
1990: }
1991:
1992: private boolean jj_2_2(int xla) {
1993: jj_la = xla; jj_lastpos = jj_scanpos = token;
1994:• try { return !jj_3_2(); }
1995: catch(LookaheadSuccess ls) { return true; }
1996: finally { jj_save(1, xla); }
1997: }
1998:
1999: private boolean jj_2_3(int xla) {
2000: jj_la = xla; jj_lastpos = jj_scanpos = token;
2001:• try { return !jj_3_3(); }
2002: catch(LookaheadSuccess ls) { return true; }
2003: finally { jj_save(2, xla); }
2004: }
2005:
2006: private boolean jj_2_4(int xla) {
2007: jj_la = xla; jj_lastpos = jj_scanpos = token;
2008:• try { return !jj_3_4(); }
2009: catch(LookaheadSuccess ls) { return true; }
2010: finally { jj_save(3, xla); }
2011: }
2012:
2013: private boolean jj_2_5(int xla) {
2014: jj_la = xla; jj_lastpos = jj_scanpos = token;
2015:• try { return !jj_3_5(); }
2016: catch(LookaheadSuccess ls) { return true; }
2017: finally { jj_save(4, xla); }
2018: }
2019:
2020: private boolean jj_2_6(int xla) {
2021: jj_la = xla; jj_lastpos = jj_scanpos = token;
2022:• try { return !jj_3_6(); }
2023: catch(LookaheadSuccess ls) { return true; }
2024: finally { jj_save(5, xla); }
2025: }
2026:
2027: private boolean jj_3R_21() {
2028:• if (jj_scan_token(IDENTIFIER)) return true;
2029: Token xsp;
2030: xsp = jj_scanpos;
2031:• if (jj_3R_26()) jj_scanpos = xsp;
2032:• if (jj_3R_27()) return true;
2033: while (true) {
2034: xsp = jj_scanpos;
2035:• if (jj_3R_27()) { jj_scanpos = xsp; break; }
2036: }
2037: return false;
2038: }
2039:
2040: private boolean jj_3R_46() {
2041: Token xsp;
2042: xsp = jj_scanpos;
2043:• if (jj_3R_50()) {
2044: jj_scanpos = xsp;
2045:• if (jj_3R_51()) return true;
2046: }
2047: return false;
2048: }
2049:
2050: private boolean jj_3R_50() {
2051: Token xsp;
2052: xsp = jj_scanpos;
2053:• if (jj_scan_token(35)) {
2054: jj_scanpos = xsp;
2055:• if (jj_scan_token(36)) return true;
2056: }
2057: return false;
2058: }
2059:
2060: private boolean jj_3R_43() {
2061: Token xsp;
2062: xsp = jj_scanpos;
2063:• if (jj_scan_token(41)) {
2064: jj_scanpos = xsp;
2065:• if (jj_scan_token(42)) return true;
2066: }
2067: return false;
2068: }
2069:
2070: private boolean jj_3R_42() {
2071:• if (jj_3R_45()) return true;
2072: Token xsp;
2073: while (true) {
2074: xsp = jj_scanpos;
2075:• if (jj_3R_46()) { jj_scanpos = xsp; break; }
2076: }
2077: return false;
2078: }
2079:
2080: private boolean jj_3R_33() {
2081:• if (jj_scan_token(IDENTIFIER)) return true;
2082: return false;
2083: }
2084:
2085: private boolean jj_3R_37() {
2086:• if (jj_3R_42()) return true;
2087: Token xsp;
2088: while (true) {
2089: xsp = jj_scanpos;
2090:• if (jj_3R_43()) { jj_scanpos = xsp; break; }
2091: }
2092: return false;
2093: }
2094:
2095: private boolean jj_3R_102() {
2096:• if (jj_3R_40()) return true;
2097: return false;
2098: }
2099:
2100: private boolean jj_3R_24() {
2101:• if (jj_3R_28()) return true;
2102: return false;
2103: }
2104:
2105: private boolean jj_3R_39() {
2106: Token xsp;
2107: xsp = jj_scanpos;
2108:• if (jj_scan_token(43)) {
2109: jj_scanpos = xsp;
2110:• if (jj_scan_token(44)) return true;
2111: }
2112: return false;
2113: }
2114:
2115: private boolean jj_3R_25() {
2116:• if (jj_3R_28()) return true;
2117: return false;
2118: }
2119:
2120: private boolean jj_3R_98() {
2121:• if (jj_scan_token(LBRACK)) return true;
2122: Token xsp;
2123: xsp = jj_scanpos;
2124:• if (jj_3R_102()) jj_scanpos = xsp;
2125:• if (jj_scan_token(RBRACK)) return true;
2126: return false;
2127: }
2128:
2129: private boolean jj_3R_38() {
2130:• if (jj_scan_token(COMMA)) return true;
2131:• if (jj_3R_33()) return true;
2132: return false;
2133: }
2134:
2135: private boolean jj_3R_32() {
2136:• if (jj_3R_37()) return true;
2137: Token xsp;
2138: while (true) {
2139: xsp = jj_scanpos;
2140:• if (jj_3R_39()) { jj_scanpos = xsp; break; }
2141: }
2142: return false;
2143: }
2144:
2145: private boolean jj_3R_35() {
2146:• if (jj_scan_token(QUESTIONMARK)) return true;
2147: return false;
2148: }
2149:
2150: private boolean jj_3R_103() {
2151:• if (jj_3R_40()) return true;
2152: return false;
2153: }
2154:
2155: private boolean jj_3R_101() {
2156:• if (jj_3R_103()) return true;
2157: return false;
2158: }
2159:
2160: private boolean jj_3R_28() {
2161:• if (jj_3R_32()) return true;
2162: Token xsp;
2163: xsp = jj_scanpos;
2164:• if (jj_3R_35()) jj_scanpos = xsp;
2165: return false;
2166: }
2167:
2168: private boolean jj_3R_89() {
2169:• if (jj_3R_98()) return true;
2170: return false;
2171: }
2172:
2173: private boolean jj_3R_97() {
2174:• if (jj_scan_token(START_MAP)) return true;
2175: Token xsp;
2176: xsp = jj_scanpos;
2177:• if (jj_3R_101()) jj_scanpos = xsp;
2178:• if (jj_scan_token(RCURL)) return true;
2179: return false;
2180: }
2181:
2182: private boolean jj_3R_88() {
2183:• if (jj_3R_97()) return true;
2184: return false;
2185: }
2186:
2187: private boolean jj_3R_87() {
2188:• if (jj_3R_33()) return true;
2189: return false;
2190: }
2191:
2192: private boolean jj_3_6() {
2193:• if (jj_3R_21()) return true;
2194: return false;
2195: }
2196:
2197: private boolean jj_3R_86() {
2198:• if (jj_scan_token(LPAREN)) return true;
2199:• if (jj_3R_40()) return true;
2200: return false;
2201: }
2202:
2203: private boolean jj_3R_34() {
2204:• if (jj_3R_33()) return true;
2205: Token xsp;
2206: while (true) {
2207: xsp = jj_scanpos;
2208:• if (jj_3R_38()) { jj_scanpos = xsp; break; }
2209: }
2210: return false;
2211: }
2212:
2213: private boolean jj_3R_41() {
2214:• if (jj_scan_token(COMMA)) return true;
2215: return false;
2216: }
2217:
2218: private boolean jj_3_5() {
2219:• if (jj_3R_20()) return true;
2220: return false;
2221: }
2222:
2223: private boolean jj_3R_78() {
2224: Token xsp;
2225: xsp = jj_scanpos;
2226:• if (jj_3_5()) {
2227: jj_scanpos = xsp;
2228:• if (jj_3R_86()) {
2229: jj_scanpos = xsp;
2230:• if (jj_3_6()) {
2231: jj_scanpos = xsp;
2232:• if (jj_3R_87()) {
2233: jj_scanpos = xsp;
2234:• if (jj_3R_88()) {
2235: jj_scanpos = xsp;
2236:• if (jj_3R_89()) return true;
2237: }
2238: }
2239: }
2240: }
2241: }
2242: return false;
2243: }
2244:
2245: private boolean jj_3R_30() {
2246:• if (jj_scan_token(LPAREN)) return true;
2247: Token xsp;
2248: xsp = jj_scanpos;
2249:• if (jj_3R_34()) jj_scanpos = xsp;
2250:• if (jj_scan_token(RPAREN)) return true;
2251: return false;
2252: }
2253:
2254: private boolean jj_3R_29() {
2255:• if (jj_3R_33()) return true;
2256: return false;
2257: }
2258:
2259: private boolean jj_3R_23() {
2260: Token xsp;
2261: xsp = jj_scanpos;
2262:• if (jj_3R_29()) {
2263: jj_scanpos = xsp;
2264:• if (jj_3R_30()) return true;
2265: }
2266: return false;
2267: }
2268:
2269: private boolean jj_3_1() {
2270:• if (jj_scan_token(ASSIGN)) return true;
2271:• if (jj_3R_18()) return true;
2272: return false;
2273: }
2274:
2275: private boolean jj_3_3() {
2276:• if (jj_3R_19()) return true;
2277: return false;
2278: }
2279:
2280: private boolean jj_3_4() {
2281:• if (jj_3R_19()) return true;
2282: return false;
2283: }
2284:
2285: private boolean jj_3R_19() {
2286:• if (jj_3R_23()) return true;
2287:• if (jj_scan_token(ARROW)) return true;
2288: Token xsp;
2289: xsp = jj_scanpos;
2290:• if (jj_3_3()) {
2291: jj_scanpos = xsp;
2292:• if (jj_3R_24()) return true;
2293: }
2294: return false;
2295: }
2296:
2297: private boolean jj_3R_36() {
2298:• if (jj_3R_40()) return true;
2299: Token xsp;
2300: while (true) {
2301: xsp = jj_scanpos;
2302:• if (jj_3R_41()) { jj_scanpos = xsp; break; }
2303: }
2304: return false;
2305: }
2306:
2307: private boolean jj_3R_47() {
2308:• if (jj_scan_token(SEMICOLON)) return true;
2309: return false;
2310: }
2311:
2312: private boolean jj_3R_20() {
2313:• if (jj_scan_token(LPAREN)) return true;
2314:• if (jj_3R_23()) return true;
2315:• if (jj_scan_token(ARROW)) return true;
2316: Token xsp;
2317: xsp = jj_scanpos;
2318:• if (jj_3_4()) {
2319: jj_scanpos = xsp;
2320:• if (jj_3R_25()) return true;
2321: }
2322:• if (jj_scan_token(RPAREN)) return true;
2323: return false;
2324: }
2325:
2326: private boolean jj_3R_22() {
2327:• if (jj_3R_28()) return true;
2328: Token xsp;
2329: while (true) {
2330: xsp = jj_scanpos;
2331:• if (jj_3_1()) { jj_scanpos = xsp; break; }
2332: }
2333: return false;
2334: }
2335:
2336: private boolean jj_3R_18() {
2337: Token xsp;
2338: xsp = jj_scanpos;
2339:• if (jj_3_2()) {
2340: jj_scanpos = xsp;
2341:• if (jj_3R_22()) return true;
2342: }
2343: return false;
2344: }
2345:
2346: private boolean jj_3_2() {
2347:• if (jj_3R_19()) return true;
2348: return false;
2349: }
2350:
2351: private boolean jj_3R_31() {
2352:• if (jj_scan_token(LPAREN)) return true;
2353: Token xsp;
2354: xsp = jj_scanpos;
2355:• if (jj_3R_36()) jj_scanpos = xsp;
2356:• if (jj_scan_token(RPAREN)) return true;
2357: return false;
2358: }
2359:
2360: private boolean jj_3R_44() {
2361:• if (jj_3R_18()) return true;
2362: Token xsp;
2363: while (true) {
2364: xsp = jj_scanpos;
2365:• if (jj_3R_47()) { jj_scanpos = xsp; break; }
2366: }
2367: return false;
2368: }
2369:
2370: private boolean jj_3R_91() {
2371:• if (jj_scan_token(LBRACK)) return true;
2372: return false;
2373: }
2374:
2375: private boolean jj_3R_40() {
2376:• if (jj_3R_44()) return true;
2377: return false;
2378: }
2379:
2380: private boolean jj_3R_80() {
2381:• if (jj_3R_91()) return true;
2382: return false;
2383: }
2384:
2385: private boolean jj_3R_90() {
2386:• if (jj_scan_token(DOT)) return true;
2387: return false;
2388: }
2389:
2390: private boolean jj_3R_76() {
2391: Token xsp;
2392: xsp = jj_scanpos;
2393:• if (jj_3R_79()) {
2394: jj_scanpos = xsp;
2395:• if (jj_3R_80()) return true;
2396: }
2397: return false;
2398: }
2399:
2400: private boolean jj_3R_79() {
2401:• if (jj_3R_90()) return true;
2402: return false;
2403: }
2404:
2405: private boolean jj_3R_73() {
2406:• if (jj_3R_76()) return true;
2407: return false;
2408: }
2409:
2410: private boolean jj_3R_75() {
2411:• if (jj_3R_78()) return true;
2412: return false;
2413: }
2414:
2415: private boolean jj_3R_72() {
2416: Token xsp;
2417: xsp = jj_scanpos;
2418:• if (jj_3R_74()) {
2419: jj_scanpos = xsp;
2420:• if (jj_3R_75()) return true;
2421: }
2422: return false;
2423: }
2424:
2425: private boolean jj_3R_74() {
2426:• if (jj_3R_77()) return true;
2427: return false;
2428: }
2429:
2430: private boolean jj_3R_71() {
2431:• if (jj_3R_72()) return true;
2432: Token xsp;
2433: while (true) {
2434: xsp = jj_scanpos;
2435:• if (jj_3R_73()) { jj_scanpos = xsp; break; }
2436: }
2437: return false;
2438: }
2439:
2440: private boolean jj_3R_67() {
2441:• if (jj_3R_71()) return true;
2442: return false;
2443: }
2444:
2445: private boolean jj_3R_66() {
2446:• if (jj_scan_token(EMPTY)) return true;
2447:• if (jj_3R_60()) return true;
2448: return false;
2449: }
2450:
2451: private boolean jj_3R_65() {
2452: Token xsp;
2453: xsp = jj_scanpos;
2454:• if (jj_scan_token(39)) {
2455: jj_scanpos = xsp;
2456:• if (jj_scan_token(40)) return true;
2457: }
2458:• if (jj_3R_60()) return true;
2459: return false;
2460: }
2461:
2462: private boolean jj_3R_96() {
2463:• if (jj_scan_token(NULL)) return true;
2464: return false;
2465: }
2466:
2467: private boolean jj_3R_60() {
2468: Token xsp;
2469: xsp = jj_scanpos;
2470:• if (jj_3R_64()) {
2471: jj_scanpos = xsp;
2472:• if (jj_3R_65()) {
2473: jj_scanpos = xsp;
2474:• if (jj_3R_66()) {
2475: jj_scanpos = xsp;
2476:• if (jj_3R_67()) return true;
2477: }
2478: }
2479: }
2480: return false;
2481: }
2482:
2483: private boolean jj_3R_64() {
2484:• if (jj_scan_token(MINUS)) return true;
2485:• if (jj_3R_60()) return true;
2486: return false;
2487: }
2488:
2489: private boolean jj_3R_95() {
2490:• if (jj_scan_token(STRING_LITERAL)) return true;
2491: return false;
2492: }
2493:
2494: private boolean jj_3R_70() {
2495: Token xsp;
2496: xsp = jj_scanpos;
2497:• if (jj_scan_token(53)) {
2498: jj_scanpos = xsp;
2499:• if (jj_scan_token(54)) return true;
2500: }
2501: return false;
2502: }
2503:
2504: private boolean jj_3R_69() {
2505: Token xsp;
2506: xsp = jj_scanpos;
2507:• if (jj_scan_token(51)) {
2508: jj_scanpos = xsp;
2509:• if (jj_scan_token(52)) return true;
2510: }
2511: return false;
2512: }
2513:
2514: private boolean jj_3R_61() {
2515: Token xsp;
2516: xsp = jj_scanpos;
2517:• if (jj_3R_68()) {
2518: jj_scanpos = xsp;
2519:• if (jj_3R_69()) {
2520: jj_scanpos = xsp;
2521:• if (jj_3R_70()) return true;
2522: }
2523: }
2524: return false;
2525: }
2526:
2527: private boolean jj_3R_68() {
2528:• if (jj_scan_token(MULT)) return true;
2529: return false;
2530: }
2531:
2532: private boolean jj_3R_94() {
2533:• if (jj_scan_token(INTEGER_LITERAL)) return true;
2534: return false;
2535: }
2536:
2537: private boolean jj_3R_58() {
2538:• if (jj_3R_60()) return true;
2539: Token xsp;
2540: while (true) {
2541: xsp = jj_scanpos;
2542:• if (jj_3R_61()) { jj_scanpos = xsp; break; }
2543: }
2544: return false;
2545: }
2546:
2547: private boolean jj_3R_93() {
2548:• if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
2549: return false;
2550: }
2551:
2552: private boolean jj_3R_63() {
2553:• if (jj_scan_token(MINUS)) return true;
2554: return false;
2555: }
2556:
2557: private boolean jj_3R_59() {
2558: Token xsp;
2559: xsp = jj_scanpos;
2560:• if (jj_3R_62()) {
2561: jj_scanpos = xsp;
2562:• if (jj_3R_63()) return true;
2563: }
2564: return false;
2565: }
2566:
2567: private boolean jj_3R_62() {
2568:• if (jj_scan_token(PLUS)) return true;
2569: return false;
2570: }
2571:
2572: private boolean jj_3R_100() {
2573:• if (jj_scan_token(FALSE)) return true;
2574: return false;
2575: }
2576:
2577: private boolean jj_3R_99() {
2578:• if (jj_scan_token(TRUE)) return true;
2579: return false;
2580: }
2581:
2582: private boolean jj_3R_92() {
2583: Token xsp;
2584: xsp = jj_scanpos;
2585:• if (jj_3R_99()) {
2586: jj_scanpos = xsp;
2587:• if (jj_3R_100()) return true;
2588: }
2589: return false;
2590: }
2591:
2592: private boolean jj_3R_52() {
2593:• if (jj_3R_58()) return true;
2594: Token xsp;
2595: while (true) {
2596: xsp = jj_scanpos;
2597:• if (jj_3R_59()) { jj_scanpos = xsp; break; }
2598: }
2599: return false;
2600: }
2601:
2602: private boolean jj_3R_53() {
2603:• if (jj_scan_token(CONCAT)) return true;
2604: return false;
2605: }
2606:
2607: private boolean jj_3R_85() {
2608:• if (jj_3R_96()) return true;
2609: return false;
2610: }
2611:
2612: private boolean jj_3R_84() {
2613:• if (jj_3R_95()) return true;
2614: return false;
2615: }
2616:
2617: private boolean jj_3R_83() {
2618:• if (jj_3R_94()) return true;
2619: return false;
2620: }
2621:
2622: private boolean jj_3R_82() {
2623:• if (jj_3R_93()) return true;
2624: return false;
2625: }
2626:
2627: private boolean jj_3R_48() {
2628:• if (jj_3R_52()) return true;
2629: Token xsp;
2630: while (true) {
2631: xsp = jj_scanpos;
2632:• if (jj_3R_53()) { jj_scanpos = xsp; break; }
2633: }
2634: return false;
2635: }
2636:
2637: private boolean jj_3R_81() {
2638:• if (jj_3R_92()) return true;
2639: return false;
2640: }
2641:
2642: private boolean jj_3R_57() {
2643: Token xsp;
2644: xsp = jj_scanpos;
2645:• if (jj_scan_token(31)) {
2646: jj_scanpos = xsp;
2647:• if (jj_scan_token(32)) return true;
2648: }
2649: return false;
2650: }
2651:
2652: private boolean jj_3R_77() {
2653: Token xsp;
2654: xsp = jj_scanpos;
2655:• if (jj_3R_81()) {
2656: jj_scanpos = xsp;
2657:• if (jj_3R_82()) {
2658: jj_scanpos = xsp;
2659:• if (jj_3R_83()) {
2660: jj_scanpos = xsp;
2661:• if (jj_3R_84()) {
2662: jj_scanpos = xsp;
2663:• if (jj_3R_85()) return true;
2664: }
2665: }
2666: }
2667: }
2668: return false;
2669: }
2670:
2671: private boolean jj_3R_56() {
2672: Token xsp;
2673: xsp = jj_scanpos;
2674:• if (jj_scan_token(33)) {
2675: jj_scanpos = xsp;
2676:• if (jj_scan_token(34)) return true;
2677: }
2678: return false;
2679: }
2680:
2681: private boolean jj_3R_26() {
2682:• if (jj_scan_token(COLON)) return true;
2683:• if (jj_scan_token(IDENTIFIER)) return true;
2684: return false;
2685: }
2686:
2687: private boolean jj_3R_55() {
2688: Token xsp;
2689: xsp = jj_scanpos;
2690:• if (jj_scan_token(27)) {
2691: jj_scanpos = xsp;
2692:• if (jj_scan_token(28)) return true;
2693: }
2694: return false;
2695: }
2696:
2697: private boolean jj_3R_49() {
2698: Token xsp;
2699: xsp = jj_scanpos;
2700:• if (jj_3R_54()) {
2701: jj_scanpos = xsp;
2702:• if (jj_3R_55()) {
2703: jj_scanpos = xsp;
2704:• if (jj_3R_56()) {
2705: jj_scanpos = xsp;
2706:• if (jj_3R_57()) return true;
2707: }
2708: }
2709: }
2710: return false;
2711: }
2712:
2713: private boolean jj_3R_54() {
2714: Token xsp;
2715: xsp = jj_scanpos;
2716:• if (jj_scan_token(29)) {
2717: jj_scanpos = xsp;
2718:• if (jj_scan_token(30)) return true;
2719: }
2720: return false;
2721: }
2722:
2723: private boolean jj_3R_27() {
2724:• if (jj_3R_31()) return true;
2725: return false;
2726: }
2727:
2728: private boolean jj_3R_45() {
2729:• if (jj_3R_48()) return true;
2730: Token xsp;
2731: while (true) {
2732: xsp = jj_scanpos;
2733:• if (jj_3R_49()) { jj_scanpos = xsp; break; }
2734: }
2735: return false;
2736: }
2737:
2738: private boolean jj_3R_51() {
2739: Token xsp;
2740: xsp = jj_scanpos;
2741:• if (jj_scan_token(37)) {
2742: jj_scanpos = xsp;
2743:• if (jj_scan_token(38)) return true;
2744: }
2745: return false;
2746: }
2747:
2748: /** Generated Token Manager. */
2749: public ELParserTokenManager token_source;
2750: SimpleCharStream jj_input_stream;
2751: /** Current token. */
2752: public Token token;
2753: /** Next token. */
2754: public Token jj_nt;
2755: private int jj_ntk;
2756: private Token jj_scanpos, jj_lastpos;
2757: private int jj_la;
2758: private int jj_gen;
2759: final private int[] jj_la1 = new int[52];
2760: static private int[] jj_la1_0;
2761: static private int[] jj_la1_1;
2762: static {
2763: jj_la1_init_0();
2764: jj_la1_init_1();
2765: }
2766: private static void jj_la1_init_0() {
2767: jj_la1_0 = new int[] {0xe,0xe,0x4000000,0x575a00,0x575a00,0x2000000,0x0,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000000,0x60000000,0x18000000,0x0,0x80000000,0xf8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x575a00,0x480000,0x575a00,0x480000,0x100000,0x100000,0x2000000,0x575a00,0x575a00,0x100000,0x100000,0x400200,0x2000000,0x575a00,0x1000000,0x2000000,0x575a00,0x1000000,0x100000,0x75800,0x30000,};
2768: }
2769: private static void jj_la1_init_1() {
2770: jj_la1_1 = new int[] {0x0,0x0,0x0,0x4022180,0x4022180,0x0,0x4000000,0x4000000,0x40000,0x1800,0x1800,0x600,0x600,0x78,0x18,0x60,0x78,0x7,0x0,0x0,0x6,0x1,0x7,0x800000,0x30000,0x30000,0x788000,0x180000,0x600000,0x788000,0x180,0x4022180,0x0,0x4000000,0x0,0x0,0x0,0x0,0x4022180,0x4022180,0x0,0x0,0x4000000,0x0,0x4022180,0x0,0x0,0x4022180,0x0,0x0,0x0,0x0,};
2771: }
2772: final private JJCalls[] jj_2_rtns = new JJCalls[6];
2773: private boolean jj_rescan = false;
2774: private int jj_gc = 0;
2775:
2776: /** Constructor with InputStream. */
2777: public ELParser(java.io.InputStream stream) {
2778: this(stream, null);
2779: }
2780: /** Constructor with InputStream and supplied encoding */
2781: public ELParser(java.io.InputStream stream, String encoding) {
2782: try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
2783: token_source = new ELParserTokenManager(jj_input_stream);
2784: token = new Token();
2785: jj_ntk = -1;
2786: jj_gen = 0;
2787:• for (int i = 0; i < 52; i++) jj_la1[i] = -1;
2788:• for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2789: }
2790:
2791: /** Reinitialise. */
2792: public void ReInit(java.io.InputStream stream) {
2793: ReInit(stream, null);
2794: }
2795: /** Reinitialise. */
2796: public void ReInit(java.io.InputStream stream, String encoding) {
2797: try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
2798: token_source.ReInit(jj_input_stream);
2799: token = new Token();
2800: jj_ntk = -1;
2801: jjtree.reset();
2802: jj_gen = 0;
2803:• for (int i = 0; i < 52; i++) jj_la1[i] = -1;
2804:• for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2805: }
2806:
2807: /** Constructor. */
2808: public ELParser(java.io.Reader stream) {
2809: jj_input_stream = new SimpleCharStream(stream, 1, 1);
2810: token_source = new ELParserTokenManager(jj_input_stream);
2811: token = new Token();
2812: jj_ntk = -1;
2813: jj_gen = 0;
2814:• for (int i = 0; i < 52; i++) jj_la1[i] = -1;
2815:• for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2816: }
2817:
2818: /** Reinitialise. */
2819: public void ReInit(java.io.Reader stream) {
2820: jj_input_stream.ReInit(stream, 1, 1);
2821: token_source.ReInit(jj_input_stream);
2822: token = new Token();
2823: jj_ntk = -1;
2824: jjtree.reset();
2825: jj_gen = 0;
2826:• for (int i = 0; i < 52; i++) jj_la1[i] = -1;
2827:• for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2828: }
2829:
2830: /** Constructor with generated Token Manager. */
2831: public ELParser(ELParserTokenManager tm) {
2832: token_source = tm;
2833: token = new Token();
2834: jj_ntk = -1;
2835: jj_gen = 0;
2836:• for (int i = 0; i < 52; i++) jj_la1[i] = -1;
2837:• for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2838: }
2839:
2840: /** Reinitialise. */
2841: public void ReInit(ELParserTokenManager tm) {
2842: token_source = tm;
2843: token = new Token();
2844: jj_ntk = -1;
2845: jjtree.reset();
2846: jj_gen = 0;
2847:• for (int i = 0; i < 52; i++) jj_la1[i] = -1;
2848:• for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2849: }
2850:
2851: private Token jj_consume_token(int kind) throws ParseException {
2852: Token oldToken;
2853:• if ((oldToken = token).next != null) token = token.next;
2854: else token = token.next = token_source.getNextToken();
2855: jj_ntk = -1;
2856:• if (token.kind == kind) {
2857: jj_gen++;
2858:• if (++jj_gc > 100) {
2859: jj_gc = 0;
2860:• for (int i = 0; i < jj_2_rtns.length; i++) {
2861: JJCalls c = jj_2_rtns[i];
2862:• while (c != null) {
2863:• if (c.gen < jj_gen) c.first = null;
2864: c = c.next;
2865: }
2866: }
2867: }
2868: return token;
2869: }
2870: token = oldToken;
2871: jj_kind = kind;
2872: throw generateParseException();
2873: }
2874:
2875: static private final class LookaheadSuccess extends java.lang.Error { }
2876: final private LookaheadSuccess jj_ls = new LookaheadSuccess();
2877: private boolean jj_scan_token(int kind) {
2878:• if (jj_scanpos == jj_lastpos) {
2879: jj_la--;
2880:• if (jj_scanpos.next == null) {
2881: jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
2882: } else {
2883: jj_lastpos = jj_scanpos = jj_scanpos.next;
2884: }
2885: } else {
2886: jj_scanpos = jj_scanpos.next;
2887: }
2888:• if (jj_rescan) {
2889: int i = 0; Token tok = token;
2890:• while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
2891:• if (tok != null) jj_add_error_token(kind, i);
2892: }
2893:• if (jj_scanpos.kind != kind) return true;
2894:• if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
2895: return false;
2896: }
2897:
2898:
2899: /** Get the next Token. */
2900: final public Token getNextToken() {
2901:• if (token.next != null) token = token.next;
2902: else token = token.next = token_source.getNextToken();
2903: jj_ntk = -1;
2904: jj_gen++;
2905: return token;
2906: }
2907:
2908: /** Get the specific Token. */
2909: final public Token getToken(int index) {
2910: Token t = token;
2911:• for (int i = 0; i < index; i++) {
2912:• if (t.next != null) t = t.next;
2913: else t = t.next = token_source.getNextToken();
2914: }
2915: return t;
2916: }
2917:
2918: private int jj_ntk() {
2919:• if ((jj_nt=token.next) == null)
2920: return (jj_ntk = (token.next=token_source.getNextToken()).kind);
2921: else
2922: return (jj_ntk = jj_nt.kind);
2923: }
2924:
2925: private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
2926: private int[] jj_expentry;
2927: private int jj_kind = -1;
2928: private int[] jj_lasttokens = new int[100];
2929: private int jj_endpos;
2930:
2931: private void jj_add_error_token(int kind, int pos) {
2932:• if (pos >= 100) return;
2933:• if (pos == jj_endpos + 1) {
2934: jj_lasttokens[jj_endpos++] = kind;
2935:• } else if (jj_endpos != 0) {
2936: jj_expentry = new int[jj_endpos];
2937:• for (int i = 0; i < jj_endpos; i++) {
2938: jj_expentry[i] = jj_lasttokens[i];
2939: }
2940:• jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
2941: int[] oldentry = (int[])(it.next());
2942:• if (oldentry.length == jj_expentry.length) {
2943:• for (int i = 0; i < jj_expentry.length; i++) {
2944:• if (oldentry[i] != jj_expentry[i]) {
2945: continue jj_entries_loop;
2946: }
2947: }
2948: jj_expentries.add(jj_expentry);
2949: break jj_entries_loop;
2950: }
2951: }
2952:• if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
2953: }
2954: }
2955:
2956: /** Generate ParseException. */
2957: public ParseException generateParseException() {
2958: jj_expentries.clear();
2959: boolean[] la1tokens = new boolean[63];
2960:• if (jj_kind >= 0) {
2961: la1tokens[jj_kind] = true;
2962: jj_kind = -1;
2963: }
2964:• for (int i = 0; i < 52; i++) {
2965:• if (jj_la1[i] == jj_gen) {
2966:• for (int j = 0; j < 32; j++) {
2967:• if ((jj_la1_0[i] & (1<<j)) != 0) {
2968: la1tokens[j] = true;
2969: }
2970:• if ((jj_la1_1[i] & (1<<j)) != 0) {
2971: la1tokens[32+j] = true;
2972: }
2973: }
2974: }
2975: }
2976:• for (int i = 0; i < 63; i++) {
2977:• if (la1tokens[i]) {
2978: jj_expentry = new int[1];
2979: jj_expentry[0] = i;
2980: jj_expentries.add(jj_expentry);
2981: }
2982: }
2983: jj_endpos = 0;
2984: jj_rescan_token();
2985: jj_add_error_token(0, 0);
2986: int[][] exptokseq = new int[jj_expentries.size()][];
2987:• for (int i = 0; i < jj_expentries.size(); i++) {
2988: exptokseq[i] = jj_expentries.get(i);
2989: }
2990: return new ParseException(token, exptokseq, tokenImage);
2991: }
2992:
2993: /** Enable tracing. */
2994: final public void enable_tracing() {
2995: }
2996:
2997: /** Disable tracing. */
2998: final public void disable_tracing() {
2999: }
3000:
3001: private void jj_rescan_token() {
3002: jj_rescan = true;
3003:• for (int i = 0; i < 6; i++) {
3004: try {
3005: JJCalls p = jj_2_rtns[i];
3006: do {
3007:• if (p.gen > jj_gen) {
3008: jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
3009:• switch (i) {
3010: case 0: jj_3_1(); break;
3011: case 1: jj_3_2(); break;
3012: case 2: jj_3_3(); break;
3013: case 3: jj_3_4(); break;
3014: case 4: jj_3_5(); break;
3015: case 5: jj_3_6(); break;
3016: }
3017: }
3018: p = p.next;
3019:• } while (p != null);
3020: } catch(LookaheadSuccess ls) { }
3021: }
3022: jj_rescan = false;
3023: }
3024:
3025: private void jj_save(int index, int xla) {
3026: JJCalls p = jj_2_rtns[index];
3027:• while (p.gen > jj_gen) {
3028:• if (p.next == null) { p = p.next = new JJCalls(); break; }
3029: p = p.next;
3030: }
3031: p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
3032: }
3033:
3034: static final class JJCalls {
3035: int gen;
3036: Token first;
3037: int arg;
3038: JJCalls next;
3039: }
3040:
3041: }