RAW_ESC

'\\'any char

ESC

'\\'["\\/bfnrt`]UNICODE

UNICODE

'u'HEXHEXHEXHEX

HEX

[0-9a-fA-F]

INT

'0'[1-9][0-9]

EXP

[Ee][+\-]INT

COMPARATOR

'<''<=''==''>=''>''!='

RAW_STRING

'\''RAW_ESCnot['\\]'\''

JSON_CONSTANT

'true''false''null'

NAME

[@a-zA-Z_][a-zA-Z0-9_]

STRING

'"'ESCnot["\\]'"'

REAL_OR_EXPONENT_NUMBER

'-'INT'.'[0-9]EXP'-'INTEXP

SIGNED_INT

'-'INT

WS

[ \t\n\r]

formula

expressionEOF

expression

expression'.'chainedExpressionexpressionchainedBracketSpecifierbracketSpecifierexpression'^'expressionexpression'*''/''&'expressionexpression'+''-'expressionexpressionCOMPARATORexpressionexpression'&&'expressionexpression'||'expressionidentifier'!'expression'('expression')'wildcardmultiSelectListmultiSelectHashliteralfunctionExpressionexpression'|'expressionRAW_STRINGREAL_OR_EXPONENT_NUMBERSIGNED_INTcurrentNodeformcurrentField

chainedExpression

identifiermultiSelectListmultiSelectHashfunctionExpressionwildcard

wildcard

'*'

multiSelectList

'['expression','expression']'

multiSelectHash

'{''}''{'keyvalExpr','keyvalExpr'}'

keyvalExpr

identifier':'expression

bracketSpecifier

'['SIGNED_INT']''[''*'']''['slice']''['']''[?'expression']'

chainedBracketSpecifier

bracketSpecifier'['expression']'

slice

expression':'expression':'expression

functionExpression

NAME'('functionArg','functionArg')'NAME'('')'JSON_CONSTANT'('')'

functionArg

expressionexpressionType

currentNode

'@'

form

'$form'

currentField

'$field'

expressionType

'&'expression

literal

'`'jsonValue'`'

identifier

NAMESTRINGJSON_CONSTANT

jsonObject

'{'jsonObjectPair','jsonObjectPair'}''{''}'

jsonObjectPair

STRING':'jsonValue

jsonArray

'['jsonValue','jsonValue']''['']'

jsonValue

STRINGREAL_OR_EXPONENT_NUMBERSIGNED_INTjsonObjectjsonArrayJSON_CONSTANT