第十二章EBNF表达式定义

本节提供了一个视觉参考指南中使用表达式语言的语法X DevAPI。

鉴别

鉴别:ID = | QUOTED_ID

图12.1鉴别

图像显示在EBNF语法形式如前面所述文本。

schemaQualifiedIdent

schemaQualifiedIdent:: = (ident_schema”。”)?鉴别

图12.2 schemaQualifiedIdent

图像显示在EBNF语法形式如前面所述文本。

columnIdent

图12.3 columnIdent

columnIdent:: =(识别”。“(识别”。'))?鉴别((' - > ' | ' - > > ')”“美元documentPath””) ?
图像显示在EBNF语法形式如前面所述文本。

documentPathLastItem

documentPathLastItem:: = ' [*]“|”(“INT”)“|”。*“|”。“documentPathMember

图12.4 documentPathLastItem

图像显示在EBNF语法形式如前面所述文本。

documentPathItem

documentPathItem:: = documentPathLastItem |“* *”

图12.5 documentPathItem

图像显示在EBNF语法形式如前面所述文本。

documentPath

documentPath:: = documentPathItem * documentPathLastItem

图12.6 documentPath

图像显示在EBNF语法形式如前面所述文本。

documentField

图12.7 documentField

documentField:: = fieldId documentPath * |“美元”documentPath
图像显示在EBNF语法形式如前面所述文本。

argsList

argsList:: = expr (', ' expr) *

图12.8 argsList

图像显示在EBNF语法形式如前面所述文本。

lengthSpec

lengthSpec:: = ' (INT) '

图12.9 lengthSpec

图像显示在EBNF语法形式如前面所述文本。

castType

castType:: =“签订”“整数”* |无符号的整数的* |“字符”lengthSpec * |“二进制”lengthSpec * |“小数”(lengthSpec |”(INT, INT) ') ?|“时间”|“日期”|“DATETIME”|“JSON”

图12.10 castType

图像显示在EBNF语法形式如前面所述文本。

functionCall

functionCall:: = schemaQualifiedIdent ' (' argsList ?“)”

图12.11 functionCall

图像显示在EBNF语法形式如前面所述文本。

占位符

占位符::= ':' ID

图12.12占位符

图像显示在EBNF语法形式如前面所述文本。

groupedExpr

groupedExpr:: = ' (expr) '

图12.13 groupedExpr

图像显示在EBNF语法形式如前面所述文本。

unaryOp

unaryOp:: = (”!' | ' ~ ' | ' + ' | ' - ')atomicExpr

图12.14 unaryOp

图像显示在EBNF语法形式如前面所述文本。

文字

文字::= INT | |浮动STRING_SQ | STRING_DQ |“零”|“假”|“真正的”

图12.15文字

图像显示在EBNF语法形式如前面所述文本。

jsonKeyValue

jsonKeyValue:: = STRING_DQ ': ' expr

图12.16 jsonKeyValue

图像显示在EBNF语法形式如前面所述文本。

jsonDoc

jsonDoc:: = ' {' (jsonKeyValue (', ' jsonKeyValue) *) *’}”

图12.17 jsonDoc

图像显示在EBNF语法形式如前面所述文本。

jsonarray

jsonArray:: = ' [' (expr (', ' expr) *) *’)”

jsonarray图12.18

图像显示在EBNF语法形式如前面所述文本。

atomicExpr

atomicExpr:: =占位符| columnOrPath | functionCall | groupedExpr | unaryOp | castOp

图12.19 atomicExpr

图像显示在EBNF语法形式如前面所述文本。

intervalUnit

INTERVAL_UNIT:: = '微秒”|“第二”|“分钟”|“小时”|“天”|“星期”|“月”|“季度”|“年”|“SECOND_MICROSECOND”|“MINUTE_MICROSECOND”|“MINUTE_SECOND”|“HOUR_MICROSECOND”|“HOUR_SECOND”|“HOUR_MINUTE”|“DAY_MICROSECOND”|“DAY_SECOND”|“DAY_MINUTE”|“DAY_HOUR”|“YEAR_MONTH”

图12.20 INTERVAL_UNIT

图像显示在EBNF语法形式如前面所述文本。

时间间隔

间隔::= expr INTERVAL_UNIT“间隔”

图12.21区间

图像显示在EBNF语法形式如前面所述文本。

intervalExpr

intervalExpr:: = atomicExpr((' + ' | ', ')间隔)*

图12.22 intervalExpr

图像显示在EBNF语法形式如前面所述文本。

mulDivExpr

mulDivExpr:: = intervalExpr ((' * ' | ' / ' | ' % ') intervalExpr) *

图12.23 mulDivExpr

图像显示在EBNF语法形式如前面所述文本。

addSubExpr

addSubExpr:: = mulDivExpr ((' + ' | ', ') mulDivExpr) *

图12.24 addSubExpr

图像显示在EBNF语法形式如前面所述文本。

shiftExpr

shiftExpr:: = addSubExpr ((“< <”|“> >”) addSubExpr) *

图12.25 shiftExpr

图像显示在EBNF语法形式如前面所述文本。

bitExpr

bitExpr:: = shiftExpr ((' & ' | ' | | ' ^ ') shiftExpr) *

图12.26 bitExpr

图像显示在EBNF语法形式如前面所述文本。

compExpr

compExpr:: = bitExpr ((“> =”|“>”|“< = ' | ' < ' | ' = ' | ' < >“|”!= ')bitExpr) *

图12.27 compExpr

图像显示在EBNF语法形式如前面所述文本。

ilriExpr

ilriExpr:: = compExpr“是”“不是”*(“零”|“真实”|“假”)| compExpr”而不是“*”的“(argsList *) | compExpr”而不是“*”“compExpr | compExpr”而不是“*”像“compExpr(“逃脱”compExpr) * | compExpr“不”*“之间”compExpr”和“compExpr | compExpr“不”*“正则表达式”compExpr | compExpr

图12.28 ilriExpr

图像显示在EBNF语法形式如前面所述文本。

andExpr

andExpr:: = ilriExpr((“& &”|”和“)ilriExpr) *

图12.29 andExpr

图像显示在EBNF语法形式如前面所述文本。

orExpr

orExpr:: = andExpr((' | | ' | '或')andExpr) *

图12.30 orExpr

图像显示在EBNF语法形式如前面所述文本。

expr

expr:: = orExpr

图12.31 expr

图像显示在EBNF语法形式如前面所述文本。

数字

数字::= ' 0 ' - ' 9 '

图12.32数字

图像显示在EBNF语法形式如前面所述文本。

浮动

浮::=数字*”。“数字+ (“E”(“+”|“-”) *数字+)* |数字+“E”(“+”|“-”) *数字+

图12.33浮动

图像显示在EBNF语法形式如前面所述文本。

INT

INT:: =数字+

图12.34整数

图像显示在EBNF语法形式如前面所述文本。

QUOTED_ID

QUOTED_ID:: =“ID”|“(‘~’’“* |“”) *’”

图12.35 QUOTED_ID

图像显示在EBNF语法形式如前面所述文本。

ID

ID:: = (' a ' - ' z ' | ' a ', ' z ' | ' _ ') (' a ' - ' z ' | ' a ', ' z ' | ' 0 ', ' 9 ' | ' _ ') *

图12.36 ID

图像显示在EBNF语法形式如前面所述文本。

WS

WS:: = [\ t \ r \ n] +

图12.37 WS

图像显示在EBNF语法形式如前面所述文本。

SCHAR

SCHAR:: = [\ u0020 \ u0021 \ u0023 \ u0024 \ u0025 \ u0026 \ u0028 - \ u005B \ u005D \ u007E]

图12.38 SCHAR

图像显示在EBNF语法形式如前面所述文本。

STRING_DQ

STRING_DQ:: = '”(SCHAR |”“| ESCAPED_DQ) *’”

图12.39 STRING_DQ

图像显示在EBNF语法形式如前面所述文本。

STRING_SQ

STRING_SQ:: = " " (SCHAR |”“| ESCAPED_SQ) *”’”

图12.40 STRING_SQ

图像显示在EBNF语法形式如前面所述文本。