Document | ::= | DocumentWithParent |
DocumentWithParent | ::= | ( StatementOrExpression )* |
XMLHeader | ::= | <XMLSTAGOPEN> <AXMLTAG> ( XMLAttribute )* ( <XMLEMPTYTAGCLOSE> | <XMLTAGCLOSE> ) |
XMLNextElement | ::= | ( AnyXMLContent | <XMLETAGOPEN> <AXMLTAG> <XMLTAGCLOSE> ) |
AnyXMLContent | ::= | XMLText |
| | XMLEntity | |
| | AnyXMLElement | |
AnyXMLElement | ::= | <XMLSTAGOPEN> <AXMLTAG> ( XMLAttribute )* ( <XMLEMPTYTAGCLOSE> | ElementAnyContent <AXMLTAG> <XMLTAGCLOSE> ) |
ElementAnyContent | ::= | <XMLTAGCLOSE> ( ( SQLQuoteString | XMLText | StatementOrExpression ) )* <XMLETAGOPEN> |
SQLQuoteString | ::= | VariableInString |
XMLText | ::= | ( ( <XMLTEXT> | <XMLSPECIALCHAR> | <XMLSQLQUOTE> | TextOrphan ) )+ |
TextOrphan | ::= | <DOTATEXP> |
| | <DOTEXP> | |
| | <INDEXINT> | |
| | <INDEXVAR> | |
| | <VARIABLE> | |
XMLEntity | ::= | <XMLENTITY> |
XMLAttribute | ::= | <XMLATTR> <EQUAL> <XMLDQSTART> ( StringInDynamicString | StringInDynamicString | DynamicStringContents ) <XMLDQEND> |
StatementOrExpression | ::= | ( Statement | Expression ) ( <SEMICOLON> )? |
Statement | ::= | SubDef |
| | Return | |
| | Insert | |
| | Update | |
| | Delete | |
| | ||
| | ForEach | |
| | While | |
| | If | |
| | Exit | |
| | SendEmail | |
| | Assignment | |
Expression | ::= | SimpleExpression ( BinaryOpList )? |
SimpleExpression | ::= | NoPostExpression ( PostExpression )* |
NoPostExpression | ::= | MatchRegex |
| | ReplaceRegex | |
| | String | |
| | NumberLiteral | |
| | NotOp | |
| | Meta | |
| | Count | |
| | Exists | |
| | Length | |
| | Left | |
| | Right | |
| | Substring | |
| | Xml | |
| | Constant | |
| | Label | |
| | Sysdate | |
| | ListInit | |
| | HashInit | |
| | NewObject | |
| | BracketExpression | |
| | SubCall | |
| | AnyXMLElement | |
| | XMLEntity | |
| | Variable | |
PostExpression | ::= | MethodCall |
| | Assignment | |
| | PostSelectExpression | |
PostSelectExpression | ::= | ( DotExpression | ArrayIndex ) |
BinaryOpList | ::= | ( ( Range | Concat | SetOp | ComparisonOp | MathOp | BooleanOp ) SimpleExpression )+ |
BracketExpression | ::= | <OPENBRACKET> Expression <CLOSEBRACKET> |
Bracket2Expressions | ::= | <OPENBRACKET> Expression <COMMA> Expression <CLOSEBRACKET> |
Bracket3Expressions | ::= | <OPENBRACKET> Expression <COMMA> Expression <COMMA> Expression <CLOSEBRACKET> |
BracketNExpressions | ::= | <OPENBRACKET> Expression ( <COMMA> Expression )* <CLOSEBRACKET> |
MatchRegex | ::= | <MATCHREGEX> Variable Regex RegexModif |
ReplaceRegex | ::= | <REPLACEREGEX> Variable Regex Regex RegexModif |
Regex | ::= | <BACKSLASH_MODIF> <REGEXSTR> |
RegexModif | ::= | <BACKSLASH_MODIF> |
ListInit | ::= | ( ListInitInt | <OPENSQUAREBRACKET> ( Expression ( <COMMA> Expression )* )? <CLOSESQUAREBRACKET> ) |
ListInitInt | ::= | <INDEXINT_OR_ARRAYINIT> |
HashInit | ::= | <OPENCURLYBRACKET> ( HashKeyVal ( <COMMA> HashKeyVal )* )? <CLOSECURLYBRACKET> |
HashKeyVal | ::= | Expression ( <HASHKEYVAL> Expression )? |
NewObject | ::= | <NEW> ObjectOrSubName <OPENBRACKET> ( Expression )* <CLOSEBRACKET> |
ObjectOrSubName | ::= | <COLUMNLIT> ( <DOTEXP> )* |
SubDef | ::= | <SUB> ObjectOrSubName ( <OPENBRACKET> Variable ( <COMMA> Variable )* <CLOSEBRACKET> )? AnyXMLElement |
SubCall | ::= | <COLUMNLIT> ( BracketNExpressions )? |
Insert | ::= | <INSERT> <INTO> Expression <VALUES> ( BracketNExpressions | Expression ) |
Update | ::= | <UPDATE> Expression <VALUES> Expression <CURRENT> |
Delete | ::= | <DELETE> Expression <CURRENT> |
Return | ::= | <RETURN> ( Expression )? |
BooleanOp | ::= | AndOp |
| | OrOp | |
| | InOp | |
InOp | ::= | <IN> |
AndOp | ::= | <AND> |
OrOp | ::= | <OR> |
ComparisonOp | ::= | Equals |
| | NotEquals | |
| | LtOp | |
| | LteOp | |
| | GtOp | |
| | GteOp | |
MathOp | ::= | PlusOp |
| | MinusOp | |
| | MultOp | |
| | FloatDivOp | |
MinusOp | ::= | <MINUSSIGN> |
MultOp | ::= | <MULTSIGN> |
FloatDivOp | ::= | <DIVSIGN> |
Range | ::= | <DOTDOT> |
SetOp | ::= | Union |
| | Inter | |
| | SetMinus | |
| | DiffOp | |
DiffOp | ::= | <DIFF> ( ( <NEW> | <DEL> | <UPD> ) )* |
Union | ::= | <UNION> ( <ALL> )? |
Inter | ::= | ( <INTER> | <INTERSECT> ) |
SetMinus | ::= | <MINUS> |
Equals | ::= | <EQUALS> |
LtOp | ::= | <LT> |
LteOp | ::= | <LTE> |
GtOp | ::= | <GT> |
GteOp | ::= | <GTE> |
NotEquals | ::= | <NOTEQUALS> |
PlusOp | ::= | <PLUSSIGN> |
Concat | ::= | ( <STRCONCAT> | <STRCONCAT_DEP> ) |
NotOp | ::= | <NOT> Expression |
ArrayIndex | ::= | ( ArrayIndexInt | ArrayIndexVar | <OPENSQUAREBRACKET> Expression <CLOSESQUAREBRACKET> ) |
ArrayIndexInt | ::= | ( <INDEXINT> | <INDEXINT_OR_ARRAYINIT> ) |
ArrayIndexVar | ::= | <INDEXVAR> |
MethodCall | ::= | DotColumn <OPENBRACKET> ( Expression ( <COMMA> Expression )* )? <CLOSEBRACKET> |
DotExpression | ::= | ( DotAt | DotColumn | <DOT> ( Variable | BracketExpression ) ) |
DotAt | ::= | <DOTATEXP> |
DotColumn | ::= | <DOTEXP> |
If | ::= | <IF> Expression StatementOrExpression ( <ELSE> StatementOrExpression )? |
Constant | ::= | ( <TRUE> | <FALSE> | <NULL> ) |
NumberLiteral | ::= | ( <PLUSSIGN> | <MINUSSIGN> )? ( IntLiteral | FloatLiteral ) |
IntLiteral | ::= | <INTLIT> |
FloatLiteral | ::= | <FLOATLIT> |
ForEach | ::= | <FOREACH> Variable <IN> Expression StatementOrExpression |
While | ::= | <WHILE> Expression StatementOrExpression |
Assignment | ::= | <EQUAL> Expression |
Variable | ::= | <VARIABLE> |
::= | ( <PRINT> | <PRINTLN> ) ( <ALLRESULTS> )? ( <NOHEADER> )? ( <CSV> | <TABLE> )? ( Expression )? ( ( <APPEND> )? <TO> ( <FILE> )? Expression )? | |
Exit | ::= | <EXIT> ( BracketExpression )? |
SendEmail | ::= | <SENDEMAIL> SimpleExpression |
Meta | ::= | <META> ( <ALLRESULTS> )? Expression |
Count | ::= | <COUNT> SimpleExpression |
Label | ::= | <LABEL> SimpleExpression |
Xml | ::= | <XML> ( BracketNExpressions | SimpleExpression ) |
Exists | ::= | <EXISTS> SimpleExpression |
Length | ::= | ( <LEN> | <LENGTH> ) SimpleExpression |
Sysdate | ::= | ( <SYSDATE> ) ( BracketExpression )? |
Left | ::= | ( <LEFT> ) Bracket2Expressions |
Right | ::= | ( <RIGHT> ) Bracket2Expressions |
Substring | ::= | ( <SUBSTRING> ) Bracket3Expressions |
String | ::= | StaticString |
| | DynamicString | |
StaticString | ::= | <SCRIPTSTRING> |
StringInDynamicString | ::= | ( ( <XMLDQSTRING> | <XMLDQSPECIAL> | <SCRIPTDQSTRING> | <SCRIPTDQSPECIAL> | <ESCDQSTRING> | TextOrphan ) )+ |
DynamicString | ::= | <DQUOTESTART> DynamicStringContents <DQUOTEEND> |
DynamicStringContents | ::= | ( VariableInString | StringInDynamicString )* |
VariableInString | ::= | Variable ( PostSelectExpression )* |