org.apache.el.parser.ELParser.html Maven / Gradle / Ivy
BNF for ELParser.jj
BNF for ELParser.jj
NON-TERMINALS
CompositeExpression
::=
( DeferredExpression | DynamicExpression | LiteralExpression )* <EOF>
LiteralExpression
::=
<LITERAL_EXPRESSION>
DeferredExpression
::=
<START_DEFERRED_EXPRESSION> Expression <END_EXPRESSION>
DynamicExpression
::=
<START_DYNAMIC_EXPRESSION> Expression <END_EXPRESSION>
Expression
::=
Choice
Choice
::=
Or ( <QUESTIONMARK> Or <COLON> Choice )*
Or
::=
And ( ( <OR0> | <OR1> ) And )*
And
::=
Equality ( ( <AND0> | <AND1> ) Equality )*
Equality
::=
Compare ( ( ( <EQ0> | <EQ1> ) Compare ) | ( ( <NE0> | <NE1> ) Compare ) )*
Compare
::=
Math ( ( ( <LT0> | <LT1> ) Math ) | ( ( <GT0> | <GT1> ) Math ) | ( ( <LE0> | <LE1> ) Math ) | ( ( <GE0> | <GE1> ) Math ) )*
Math
::=
Multiplication ( ( <PLUS> Multiplication ) | ( <MINUS> Multiplication ) )*
Multiplication
::=
Unary ( ( <MULT> Unary ) | ( <DIV> Unary ) | ( ( <MOD0> | <MOD1> ) Unary ) )*
Unary
::=
<MINUS> Unary
|
( <NOT0> | <NOT1> ) Unary
|
<EMPTY> Unary
|
Value
Value
::=
( ValuePrefix ( ValueSuffix )* )
ValuePrefix
::=
Literal
|
NonLiteral
ValueSuffix
::=
DotSuffix
|
BracketSuffix
DotSuffix
::=
<DOT> <IDENTIFIER>
BracketSuffix
::=
<LBRACK> Expression <RBRACK>
NonLiteral
::=
<LPAREN> Expression <RPAREN>
|
Function
|
Identifier
Identifier
::=
<IDENTIFIER>
Function
::=
<IDENTIFIER> ( <FUNCTIONSUFFIX> )? <LPAREN> ( Expression ( <COMMA> Expression )* )? <RPAREN>
Literal
::=
Boolean
|
FloatingPoint
|
Integer
|
String
|
Null
Boolean
::=
<TRUE>
|
<FALSE>
FloatingPoint
::=
<FLOATING_POINT_LITERAL>
Integer
::=
<INTEGER_LITERAL>
String
::=
<STRING_LITERAL>
Null
::=
<NULL>