Start |
::= |
( Expression
<EOF> | <EOF> ) |
Expression |
::= |
OrExpression |
OrExpression |
::= |
AndExpression
( ( <OR> AndExpression ) )* |
AndExpression |
::= |
EqualExpression
( ( <AND> EqualExpression ) )* |
EqualExpression |
::= |
RelationalExpression
( ( <NE> RelationalExpression ) | (
<EQ> RelationalExpression ) )* |
RelationalExpression |
::= |
PostfixExpression
( ( <LT> PostfixExpression ) | ( <GT>
PostfixExpression ) | ( <LE> PostfixExpression ) | ( <GE> PostfixExpression
) )* |
PostfixExpression |
::= |
AdditiveExpression
( ( <IS_NOT_NULL> ) | ( <IS_NULL> ) | ( <IN> Array ) | ( <BETWEEN> AdditiveExpression
<AND> AdditiveExpression ) | ( <LIKE>
AdditiveExpression ) | ( <NOT_LIKE> AdditiveExpression ) )? |
AdditiveExpression |
::= |
MultiplicativeExpression
( ( <CONCAT> MultiplicativeExpression ) |
( <PLUS> MultiplicativeExpression ) | (
<MINUS> MultiplicativeExpression ) )* |
MultiplicativeExpression |
::= |
UnaryExpression
( ( <MUL> UnaryExpression ) | (
<DIV> UnaryExpression ) | ( <DIV2> UnaryExpression ) | ( <MOD> UnaryExpression
) )* |
UnaryExpression |
::= |
( <PLUS> UnaryExpression ) |
|
| |
( <MINUS> UnaryExpression ) |
|
| |
( <NOT> UnaryExpression ) |
|
| |
UnaryExpressionNotPlusMinus |
UnaryExpressionNotPlusMinus |
::= |
AnyConstant |
|
| |
( Function
| Variable ) |
|
| |
"(" Expression
")" |
Variable |
::= |
( Identifier
) |
Function |
::= |
( Identifier
"(" ArgumentList ")" ) |
ArgumentList |
::= |
( Expression
( "," Expression )* )? |
Identifier |
::= |
<IDENTIFIER> |
Array |
::= |
"(" AdditiveExpression
( "," AdditiveExpression )* ")" |
AnyConstant |
::= |
( <NULL_LITERAL> |
<TRUE_LITERAL> | <FALSE_LITERAL> | <STRING_LITERAL> |
<INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> ) |