SQL Syntax 5.2-SNAPSHOT

    The EBNF and Railroad Diagrams for 5.2-SNAPSHOT.

    Statement

    IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block ST_SEMICOLON SingleStatement Block ST_SEMICOLON EOF UnsupportedStatement
             ::= 'IF' Condition ( SingleStatement | Block ) ST_SEMICOLON? ( 'ELSE' ( SingleStatement | Block ) ST_SEMICOLON? )?
               | ( SingleStatement | Block ) ( ST_SEMICOLON | EOF )
               | UnsupportedStatement
    Not referenced by any.

    SingleStatement

    WithList SelectWithWithItems InsertWithWithItems UpdateWithWithItems DeleteWithWithItems Merge Select TableStatement Upsert Alter RenameTableStatement Create Drop Analyze Truncate Execute Set Reset Show RefreshMaterializedView Use SavepointStatement RollbackStatement COMMIT Comment Describe Explain Declare Grant PurgeStatement
               | Select
               | TableStatement
               | Upsert
               | Alter
               | RenameTableStatement
               | Create
               | Drop
               | Analyze
               | Truncate
               | Execute
               | Set
               | Reset
               | Show
               | RefreshMaterializedView
               | Use
               | SavepointStatement
               | RollbackStatement
               | 'COMMIT'
               | Comment
               | Describe
               | Explain
               | Declare
               | Grant
               | PurgeStatement
    Referenced by:

    Block

    BEGIN ST_SEMICOLON SingleStatement Block ST_SEMICOLON END ST_SEMICOLON
    Block    ::= 'BEGIN' ST_SEMICOLON* ( ( SingleStatement | Block ) ST_SEMICOLON )+ 'END' ST_SEMICOLON?
    Referenced by:

    Statements

    ST_SEMICOLON IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block ST_SEMICOLON SingleStatement Block ST_SEMICOLON EOF ST_SEMICOLON IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block ST_SEMICOLON UnsupportedStatement EOF
    Not referenced by any.

    Declare

    DECLARE UserVariable TABLE ( ColumnDefinition , ) AS RelObjectName ColDataType = Expression UserVariable ,
    Declare  ::= 'DECLARE' UserVariable ( 'TABLE' '(' ColumnDefinition ( ',' ColumnDefinition )* ')' | 'AS' RelObjectName | ColDataType ( '=' Expression )? ( ',' UserVariable ColDataType ( '=' Expression )? )* )
    Referenced by:

    Set

    SET LOCAL SESSION K_DATETIMELITERAL ZONE UserVariable IdentifierChain = Expression ZONE K_DATETIMELITERAL = RelObjectNameExt ,
    Set      ::= 'SET' ( 'LOCAL' | 'SESSION' )? ( K_DATETIMELITERAL 'ZONE' | ( UserVariable | IdentifierChain ) '='? ) Expression ( ',' ( K_DATETIMELITERAL 'ZONE' | RelObjectNameExt '='? )? Expression )*
    Referenced by:

    Reset

    RESET K_DATETIMELITERAL ZONE RelObjectName ALL
    Reset    ::= 'RESET' ( K_DATETIMELITERAL 'ZONE' | RelObjectName | 'ALL' )
    Referenced by:

    RenameTableStatement

    RENAME TABLE IF EXISTS Table WAIT S_LONG NOWAIT TO Table Table ,
             ::= 'RENAME' 'TABLE'? ( 'IF' 'EXISTS' )? Table ( 'WAIT' S_LONG | 'NOWAIT' )? 'TO' Table ( ',' Table 'TO' Table )*
    Referenced by:

    PurgeStatement

    PURGE TABLE Table INDEX Index RECYCLEBIN DBA_RECYCLEBIN TABLESPACE S_IDENTIFIER USER S_IDENTIFIER
             ::= 'PURGE' ( 'TABLE' Table | 'INDEX' Index | 'RECYCLEBIN' | 'DBA_RECYCLEBIN' | 'TABLESPACE' S_IDENTIFIER ( 'USER' S_IDENTIFIER )? )
    Referenced by:

    Describe

    DESCRIBE DESC Table
    Describe ::= ( 'DESCRIBE' | 'DESC' ) Table
    Referenced by:

    Explain

    EXPLAIN SUMMARIZE ExplainStatementOptions Select Table
    Explain  ::= ( 'EXPLAIN' | 'SUMMARIZE' ) ( ExplainStatementOptions Select | Table )
    Referenced by:

    ExplainOptionBoolean

    TRUE FALSE ON OFF
             ::= ( 'TRUE' | 'FALSE' | 'ON' | 'OFF' )?
    Referenced by:

    ExplainFormatOption

    XML JSON YAML
             ::= ( 'XML' | 'JSON' | 'YAML' )?
    Referenced by:

    ExplainStatementOptions

    ANALYZE BUFFERS COSTS VERBOSE ExplainOptionBoolean FORMAT PLAN FOR ExplainFormatOption
             ::= ( ( 'ANALYZE' | 'BUFFERS' | 'COSTS' | 'VERBOSE' ) ExplainOptionBoolean | ( 'FORMAT' | 'PLAN' 'FOR'? ) ExplainFormatOption )*
    Referenced by:

    Use

    USE SCHEMA RelObjectNameExt
    Use      ::= 'USE' 'SCHEMA'? RelObjectNameExt
    Referenced by:

    Show

    SHOW ShowColumns ShowIndex ShowTables captureRest
    Show     ::= 'SHOW' ( ShowColumns | ShowIndex | ShowTables | captureRest )
    Referenced by:

    ShowColumns

    COLUMNS FROM RelObjectNameExt
             ::= 'COLUMNS' 'FROM' RelObjectNameExt
    Referenced by:

    ShowIndex

    INDEX FROM RelObjectNameExt
             ::= 'INDEX' 'FROM' RelObjectNameExt
    Referenced by:

    RefreshMaterializedView

    REFRESH MATERIALIZED VIEW CONCURRENTLY Table WITH NO DATA captureRest
             ::= 'REFRESH' 'MATERIALIZED' 'VIEW' 'CONCURRENTLY'? Table ( 'WITH' 'NO'? 'DATA' )? captureRest
    Referenced by:

    ShowTables

    EXTENDED FULL TABLES FROM IN RelObjectNameExt LIKE SimpleExpression WHERE Expression
             ::= 'EXTENDED'? 'FULL'? 'TABLES' ( ( 'FROM' | 'IN' ) RelObjectNameExt )? ( 'LIKE' SimpleExpression | 'WHERE' Expression )?
    Referenced by:

    Values

    VALUES VALUE ExpressionList
    Values   ::= ( 'VALUES' | 'VALUE' ) ExpressionList

    ReturningClause

    RETURNING RETURN SelectItemsList INTO Table UserVariable ,
             ::= ( 'RETURNING' | 'RETURN' ) SelectItemsList ( 'INTO' ( Table | UserVariable ) ( ',' ( Table | UserVariable ) )* )?
    Referenced by:

    UpdateWithWithItems

    Update
             ::= Update
    Referenced by:

    Update

    UPDATE LOW_PRIORITY IGNORE TableWithAliasAndMysqlIndexHint JoinsList SET UpdateSets OutputClause FROM FromItem JoinsList WhereClause PreferringClause OrderByElements PlainLimit ReturningClause

    UpdateSets

    Column = Expression ParenthesedExpressionList = ParenthesedSelect ParenthesedExpressionList , Column = Expression ParenthesedExpressionList = ParenthesedSelect ParenthesedExpressionList

    Partitions

    Column = Expression ,
             ::= Column ( '=' Expression )? ( ',' Column ( '=' Expression )? )*
    Referenced by:

    InsertWithWithItems

    Insert
             ::= Insert
    Referenced by:

    Insert

    INSERT LOW_PRIORITY DELAYED HIGH_PRIORITY IGNORE OVERWRITE TABLE INTO TABLE Table PARTITION ( Partitions ) AS RelObjectNameWithoutValue ( ColumnList ) OVERRIDING SYSTEM VALUE OutputClause DEFAULT VALUES SET UpdateSets Select ON DUPLICATE KEY UPDATE UpdateSets ON CONFLICT InsertConflictTarget InsertConflictAction ReturningClause
    Insert   ::= 'INSERT' ( 'LOW_PRIORITY' | 'DELAYED' | 'HIGH_PRIORITY' )? 'IGNORE'? ( 'OVERWRITE' 'TABLE' | 'INTO' 'TABLE'? )? Table ( 'PARTITION' '(' Partitions ')' )? ( 'AS'? RelObjectNameWithoutValue )? ( '(' ColumnList ')' )? ( 'OVERRIDING' 'SYSTEM' 'VALUE' )? OutputClause? ( 'DEFAULT' 'VALUES' | 'SET' UpdateSets | Select ) ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' UpdateSets )? ( 'ON' 'CONFLICT' InsertConflictTarget? InsertConflictAction )? ReturningClause?

    InsertConflictTarget

    ( RelObjectNameExt2 , ) WhereClause ON CONSTRAINT RelObjectNameExt2
             ::= '(' RelObjectNameExt2 ( ',' RelObjectNameExt2 )* ')' WhereClause?
               | 'ON' 'CONSTRAINT' RelObjectNameExt2
    Referenced by:

    InsertConflictAction

    DO NOTHING UPDATE SET UpdateSets WhereClause
             ::= 'DO' ( 'NOTHING' | 'UPDATE' 'SET' UpdateSets WhereClause? )
    Referenced by:

    OutputClause

    OUTPUT SelectItemsList INTO UserVariable Table ColumnsNamesList
             ::= 'OUTPUT' SelectItemsList ( 'INTO' ( UserVariable | Table ) ColumnsNamesList? )?
    Referenced by:

    Upsert

    UPSERT INSERT OR REPLACE INTO Table ParenthesedColumnList SET UpdateSets Select ON DUPLICATE KEY UPDATE UpdateSets
    Upsert   ::= ( 'UPSERT' | ( 'INSERT' 'OR' )? 'REPLACE' ) 'INTO'? Table ParenthesedColumnList? ( 'SET' UpdateSets | Select ) ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' UpdateSets )?
    Referenced by:

    DeleteWithWithItems

    Delete
             ::= Delete
    Referenced by:

    Delete

    DELETE LOW_PRIORITY QUICK IGNORE TableWithAlias , OutputClause FROM TableWithAlias JoinsList USING TableWithAlias , WhereClause PreferringClause OrderByElements PlainLimit ReturningClause
    Delete   ::= 'DELETE' 'LOW_PRIORITY'? 'QUICK'? 'IGNORE'? ( ( TableWithAlias ( ',' TableWithAlias )* OutputClause? )? 'FROM' )? ( TableWithAlias JoinsList? )? ( 'USING' TableWithAlias ( ',' TableWithAlias )* )? WhereClause? PreferringClause? OrderByElements? PlainLimit? ReturningClause?

    Merge

    MERGE INTO TableWithAlias USING FromItem ON Expression MergeOperations OutputClause
    Merge    ::= 'MERGE' 'INTO' TableWithAlias 'USING' FromItem 'ON' Expression MergeOperations OutputClause?
    Referenced by:

    MergeOperations

    MergeWhenMatched MergeWhenNotMatched
             ::= ( MergeWhenMatched | MergeWhenNotMatched )*
    Referenced by:

    MergeWhenMatched

    WHEN MATCHED AND Expression THEN DELETE MergeUpdateClause
             ::= 'WHEN' 'MATCHED' ( 'AND' Expression )? 'THEN' ( 'DELETE' | MergeUpdateClause )
    Referenced by:

    MergeUpdateClause

    UPDATE SET UpdateSets WHERE Expression DELETE WHERE Expression
             ::= 'UPDATE' 'SET' UpdateSets ( 'WHERE' Expression )? ( 'DELETE' 'WHERE' Expression )?
    Referenced by:

    MergeWhenNotMatched

    WHEN NOT MATCHED AND Expression THEN INSERT ( ColumnList ) VALUES ( SimpleExpressionList ) WHERE Expression
             ::= 'WHEN' 'NOT' 'MATCHED' ( 'AND' Expression )? 'THEN' 'INSERT' ( '(' ColumnList ')' )? 'VALUES' '(' SimpleExpressionList ')' ( 'WHERE' Expression )?
    Referenced by:

    RelObjectNames

    RelObjectNameExt ... .. . : RelObjectNameExt2
             ::= RelObjectNameExt ( ( '...' | '..' | '.' | ':' ) RelObjectNameExt2 )*

    ColumnIdentifier

    RelObjectNameExt ... .. . RelObjectNameExt2
             ::= RelObjectNameExt ( ( '...' | '..' | '.' ) RelObjectNameExt2 )*
    Referenced by:

    Column

    ColumnIdentifier COMMENT S_CHAR_LITERAL . K_NEXTVAL ArrayConstructor

    RelObjectNameWithoutValue

    DATA_TYPE S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATE_LITERAL K_DATETIMELITERAL K_STRING_FUNCTION_NAME K_ISOLATION K_TIME_KEY_EXPR K_TEXT_LITERAL ACTION ACTIVE ADD ADVANCE ADVISE AGAINST AGGREGATE ALGORITHM ALTER ANALYZE APPLY APPROXIMATE ARCHIVE ARRAY ASC AT AUTHORIZATION AUTO AUTO_INCREMENT BASE64 BEGIN BERNOULLI BINARY BIT BLOCK BROWSE BUFFERS BY BYTE BYTES CACHE CALL CASCADE CASE CAST CHANGE CHANGES CHAR CHARACTER CHECKPOINT CLOSE COLLATE COLUMN COLUMNS COMMENT COMMIT CONCURRENTLY CONFLICT CONSTRAINTS CONVERT CORRESPONDING COSTS COUNT CS CYCLE DATA DATABASE DATETIME DBA_RECYCLEBIN DDL DECLARE DEFERRABLE DELAYED DELETE DESC DESCRIBE DISABLE DISCONNECT DIV DML DO DOMAIN DROP DUMP DUPLICATE ELEMENTS EMIT ENABLE ENCRYPTION END ENGINE ERROR ESCAPE EXCLUDE EXEC EXECUTE EXPLAIN EXPLICIT EXTENDED EXTRACT FILTER FIRST FLUSH FN FOLLOWING FORMAT FULLTEXT FUNCTION GRANT GROUP_CONCAT GUARD HASH HIGH HIGH_PRIORITY HISTORY HOPPING INCLUDE INCLUDE_NULL_VALUES INCREMENT INDEX INSERT INTERLEAVE INTERPRET INVALIDATE INVERSE ISNULL JSON JSON_ARRAY JSON_ARRAYAGG JSON_OBJECT JSON_OBJECTAGG KEEP KEY KEYS LAST LEADING LESS LINK LOCAL LOCK LOCKED LOG LONGTEXT LOOP LOW LOW_PRIORITY MATCH MATCHED MATCH_ALL MATCH_ANY MATCH_PHRASE MATCH_PHRASE_PREFIX MATCH_REGEXP MATERIALIZED MAX MAXVALUE MEDIUMTEXT MEMBER MERGE MIN MINVALUE MODIFY MOVEMENT NAME NEXT NO NOCACHE NOKEEP NOLOCK NOMAXVALUE NOMINVALUE NOORDER NOTHING NOTNULL NOVALIDATE NOWAIT NULLS OF OFF OPEN OVER OVERFLOW OVERLAPS OVERRIDING OVERWRITE PARALLEL PARENT PARTITION PATH PERCENT PLACING PLAN PLUS PRECEDING PRIMARY PURGE QUERY QUICK QUIESCE RANGE RAW READ RECURSIVE RECYCLEBIN REFERENCES REFRESH REGEXP REGEXP_LIKE REGISTER REMOTE RENAME REPEATABLE REPLACE RESET RESPECT RESTART RESTRICT RESTRICTED RESUMABLE RESUME RETURN RLIKE ROLLBACK ROLLUP ROOT ROW ROWS RR RS SAFE_CAST SAVEPOINT SCHEMA SECURE SEED SEPARATOR SEQUENCE SESSION SETS SHARE SHOW SHUTDOWN SIBLINGS SIGNED SIMILAR SIZE SKIP STORED STRICT STRING STRUCT SUMMARIZE SUSPEND SWITCH SYNONYM SYSTEM TABLE TABLESPACE TEMP TEMPORARY TEXT THAN THEN TIMEOUT TIMESTAMPTZ TIMEZONE TINYTEXT TO TRIGGER TRUNCATE TRY_CAST TUMBLING TYPE UNLOGGED UNQIESCE UNSIGNED UPDATE UPSERT UR USER VALIDATE VERBOSE VIEW VOLATILE WAIT WITHIN WITHOUT WITHOUT_ARRAY_WRAPPER WORK XML XMLAGG XMLDATA XMLSCHEMA XMLTEXT XSINIL YAML YES ZONE
             ::= DATA_TYPE
               | S_IDENTIFIER
               | S_QUOTED_IDENTIFIER
               | K_DATE_LITERAL
               | K_DATETIMELITERAL
               | K_STRING_FUNCTION_NAME
               | K_ISOLATION
               | K_TIME_KEY_EXPR
               | K_TEXT_LITERAL
               | 'ACTION'
               | 'ACTIVE'
               | 'ADD'
               | 'ADVANCE'
               | 'ADVISE'
               | 'AGAINST'
               | 'AGGREGATE'
               | 'ALGORITHM'
               | 'ALTER'
               | 'ANALYZE'
               | 'APPLY'
               | 'APPROXIMATE'
               | 'ARCHIVE'
               | 'ARRAY'
               | 'ASC'
               | 'AT'
               | 'AUTHORIZATION'
               | 'AUTO'
               | 'AUTO_INCREMENT'
               | 'BASE64'
               | 'BEGIN'
               | 'BERNOULLI'
               | 'BINARY'
               | 'BIT'
               | 'BLOCK'
               | 'BROWSE'
               | 'BUFFERS'
               | 'BY'
               | 'BYTE'
               | 'BYTES'
               | 'CACHE'
               | 'CALL'
               | 'CASCADE'
               | 'CASE'
               | 'CAST'
               | 'CHANGE'
               | 'CHANGES'
               | 'CHAR'
               | 'CHARACTER'
               | 'CHECKPOINT'
               | 'CLOSE'
               | 'COLLATE'
               | 'COLUMN'
               | 'COLUMNS'
               | 'COMMENT'
               | 'COMMIT'
               | 'CONCURRENTLY'
               | 'CONFLICT'
               | 'CONSTRAINTS'
               | 'CONVERT'
               | 'CORRESPONDING'
               | 'COSTS'
               | 'COUNT'
               | 'CS'
               | 'CYCLE'
               | 'DATA'
               | 'DATABASE'
               | 'DATETIME'
               | 'DBA_RECYCLEBIN'
               | 'DDL'
               | 'DECLARE'
               | 'DEFERRABLE'
               | 'DELAYED'
               | 'DELETE'
               | 'DESC'
               | 'DESCRIBE'
               | 'DISABLE'
               | 'DISCONNECT'
               | 'DIV'
               | 'DML'
               | 'DO'
               | 'DOMAIN'
               | 'DROP'
               | 'DUMP'
               | 'DUPLICATE'
               | 'ELEMENTS'
               | 'EMIT'
               | 'ENABLE'
               | 'ENCRYPTION'
               | 'END'
               | 'ENGINE'
               | 'ERROR'
               | 'ESCAPE'
               | 'EXCLUDE'
               | 'EXEC'
               | 'EXECUTE'
               | 'EXPLAIN'
               | 'EXPLICIT'
               | 'EXTENDED'
               | 'EXTRACT'
               | 'FILTER'
               | 'FIRST'
               | 'FLUSH'
               | 'FN'
               | 'FOLLOWING'
               | 'FORMAT'
               | 'FULLTEXT'
               | 'FUNCTION'
               | 'GRANT'
               | 'GROUP_CONCAT'
               | 'GUARD'
               | 'HASH'
               | 'HIGH'
               | 'HIGH_PRIORITY'
               | 'HISTORY'
               | 'HOPPING'
               | 'INCLUDE'
               | 'INCLUDE_NULL_VALUES'
               | 'INCREMENT'
               | 'INDEX'
               | 'INSERT'
               | 'INTERLEAVE'
               | 'INTERPRET'
               | 'INVALIDATE'
               | 'INVERSE'
               | 'ISNULL'
               | 'JSON'
               | 'JSON_ARRAY'
               | 'JSON_ARRAYAGG'
               | 'JSON_OBJECT'
               | 'JSON_OBJECTAGG'
               | 'KEEP'
               | 'KEY'
               | 'KEYS'
               | 'LAST'
               | 'LEADING'
               | 'LESS'
               | 'LINK'
               | 'LOCAL'
               | 'LOCK'
               | 'LOCKED'
               | 'LOG'
               | 'LONGTEXT'
               | 'LOOP'
               | 'LOW'
               | 'LOW_PRIORITY'
               | 'MATCH'
               | 'MATCHED'
               | 'MATCH_ALL'
               | 'MATCH_ANY'
               | 'MATCH_PHRASE'
               | 'MATCH_PHRASE_PREFIX'
               | 'MATCH_REGEXP'
               | 'MATERIALIZED'
               | 'MAX'
               | 'MAXVALUE'
               | 'MEDIUMTEXT'
               | 'MEMBER'
               | 'MERGE'
               | 'MIN'
               | 'MINVALUE'
               | 'MODIFY'
               | 'MOVEMENT'
               | 'NAME'
               | 'NEXT'
               | 'NO'
               | 'NOCACHE'
               | 'NOKEEP'
               | 'NOLOCK'
               | 'NOMAXVALUE'
               | 'NOMINVALUE'
               | 'NOORDER'
               | 'NOTHING'
               | 'NOTNULL'
               | 'NOVALIDATE'
               | 'NOWAIT'
               | 'NULLS'
               | 'OF'
               | 'OFF'
               | 'OPEN'
               | 'OVER'
               | 'OVERFLOW'
               | 'OVERLAPS'
               | 'OVERRIDING'
               | 'OVERWRITE'
               | 'PARALLEL'
               | 'PARENT'
               | 'PARTITION'
               | 'PATH'
               | 'PERCENT'
               | 'PLACING'
               | 'PLAN'
               | 'PLUS'
               | 'PRECEDING'
               | 'PRIMARY'
               | 'PURGE'
               | 'QUERY'
               | 'QUICK'
               | 'QUIESCE'
               | 'RANGE'
               | 'RAW'
               | 'READ'
               | 'RECURSIVE'
               | 'RECYCLEBIN'
               | 'REFERENCES'
               | 'REFRESH'
               | 'REGEXP'
               | 'REGEXP_LIKE'
               | 'REGISTER'
               | 'REMOTE'
               | 'RENAME'
               | 'REPEATABLE'
               | 'REPLACE'
               | 'RESET'
               | 'RESPECT'
               | 'RESTART'
               | 'RESTRICT'
               | 'RESTRICTED'
               | 'RESUMABLE'
               | 'RESUME'
               | 'RETURN'
               | 'RLIKE'
               | 'ROLLBACK'
               | 'ROLLUP'
               | 'ROOT'
               | 'ROW'
               | 'ROWS'
               | 'RR'
               | 'RS'
               | 'SAFE_CAST'
               | 'SAVEPOINT'
               | 'SCHEMA'
               | 'SECURE'
               | 'SEED'
               | 'SEPARATOR'
               | 'SEQUENCE'
               | 'SESSION'
               | 'SETS'
               | 'SHARE'
               | 'SHOW'
               | 'SHUTDOWN'
               | 'SIBLINGS'
               | 'SIGNED'
               | 'SIMILAR'
               | 'SIZE'
               | 'SKIP'
               | 'STORED'
               | 'STRICT'
               | 'STRING'
               | 'STRUCT'
               | 'SUMMARIZE'
               | 'SUSPEND'
               | 'SWITCH'
               | 'SYNONYM'
               | 'SYSTEM'
               | 'TABLE'
               | 'TABLESPACE'
               | 'TEMP'
               | 'TEMPORARY'
               | 'TEXT'
               | 'THAN'
               | 'THEN'
               | 'TIMEOUT'
               | 'TIMESTAMPTZ'
               | 'TIMEZONE'
               | 'TINYTEXT'
               | 'TO'
               | 'TRIGGER'
               | 'TRUNCATE'
               | 'TRY_CAST'
               | 'TUMBLING'
               | 'TYPE'
               | 'UNLOGGED'
               | 'UNQIESCE'
               | 'UNSIGNED'
               | 'UPDATE'
               | 'UPSERT'
               | 'UR'
               | 'USER'
               | 'VALIDATE'
               | 'VERBOSE'
               | 'VIEW'
               | 'VOLATILE'
               | 'WAIT'
               | 'WITHIN'
               | 'WITHOUT'
               | 'WITHOUT_ARRAY_WRAPPER'
               | 'WORK'
               | 'XML'
               | 'XMLAGG'
               | 'XMLDATA'
               | 'XMLSCHEMA'
               | 'XMLTEXT'
               | 'XSINIL'
               | 'YAML'
               | 'YES'
               | 'ZONE'

    RelObjectName

    RelObjectNameWithoutValue GROUP INTERVAL ON START TOP VALUE VALUES CREATE TABLES CONNECT IGNORE QUALIFY DEFAULT
             ::= RelObjectNameWithoutValue
               | 'GROUP'
               | 'INTERVAL'
               | 'ON'
               | 'START'
               | 'TOP'
               | 'VALUE'
               | 'VALUES'
               | 'CREATE'
               | 'TABLES'
               | 'CONNECT'
               | 'IGNORE'
               | 'QUALIFY'
               | 'DEFAULT'

    RelObjectNameWithoutStart

    RelObjectNameWithoutValue TOP VALUE VALUES INTERVAL
             ::= RelObjectNameWithoutValue
               | 'TOP'
               | 'VALUE'
               | 'VALUES'
               | 'INTERVAL'
    Referenced by:

    RelObjectNameExt

    RelObjectName ALL ANY SOME LEFT RIGHT SET IF IIF OPTIMIZE LIMIT OFFSET PROCEDURE PUBLIC CASEWHEN IN GROUPING ORDER K_NEXTVAL GLOBAL
             ::= RelObjectName
               | 'ALL'
               | 'ANY'
               | 'SOME'
               | 'LEFT'
               | 'RIGHT'
               | 'SET'
               | 'IF'
               | 'IIF'
               | 'OPTIMIZE'
               | 'LIMIT'
               | 'OFFSET'
               | 'PROCEDURE'
               | 'PUBLIC'
               | 'CASEWHEN'
               | 'IN'
               | 'GROUPING'
               | 'ORDER'
               | K_NEXTVAL
               | 'GLOBAL'

    RelObjectNameExt2

    RelObjectNameExt FROM K_SELECT CURRENT
             ::= RelObjectNameExt
               | 'FROM'
               | K_SELECT
               | 'CURRENT'

    Table

    RelObjectNames S_CHAR_LITERAL
               | S_CHAR_LITERAL

    TableWithAlias

    Table Alias
             ::= Table Alias?
    Referenced by:

    TableWithAliasAndMysqlIndexHint

    Table Alias MySQLIndexHint
             ::= Table Alias? MySQLIndexHint?
    Referenced by:

    Number

    S_DOUBLE S_LONG
    Number   ::= S_DOUBLE
               | S_LONG
    Referenced by:

    SampleClause

    SAMPLE BLOCK TABLESAMPLE USING SAMPLE SYSTEM BERNOULLI ( Number % PERCENT ROWS ) REPEATABLE ( Number ) SEED ( Number )
             ::= ( 'SAMPLE' 'BLOCK'? | ( 'TABLESAMPLE' | 'USING' 'SAMPLE' ) ( 'SYSTEM' | 'BERNOULLI' ) ) '(' Number ( '%' | 'PERCENT' | 'ROWS' )? ')' ( 'REPEATABLE' '(' Number ')' )? ( 'SEED' '(' Number ')' )?
    Referenced by:

    SelectWithWithItems

    Select
             ::= Select
    Referenced by:

    Select

    WithList FromQuery PlainSelect Values ParenthesedSelect Alias FromQueryFromSelect SetOperationList OrderByElements LimitWithOffset Offset Fetch WithIsolation

    FromQuery

    FROM FromItem LateralViews JoinsList |> PipeOperator
             ::= 'FROM' FromItem LateralViews? JoinsList? ( '|>' PipeOperator )*
    Referenced by:

    FromQueryFromSelect

    |> PipeOperator
             ::= ( '|>' PipeOperator )+
    Referenced by:

    PipeOperator

    SelectPipeOperator SetPipeOperator DropPipeOperator AsPipeOperator WherePipeOperator LimitPipeOperator AggregatePipeOperator OrderByPipeOperator SetOperationPipeOperator JoinPipeOperator CallPipeOperator TableSamplePipeOperator PivotPipeOperator UnPivotPipeOperator
             ::= SelectPipeOperator
               | SetPipeOperator
               | DropPipeOperator
               | AsPipeOperator
               | WherePipeOperator
               | LimitPipeOperator
               | AggregatePipeOperator
               | OrderByPipeOperator
               | SetOperationPipeOperator
               | JoinPipeOperator
               | CallPipeOperator
               | TableSamplePipeOperator
               | PivotPipeOperator
               | UnPivotPipeOperator

    SelectPipeOperator

    K_SELECT DISTINCT ALL EXTEND WINDOW RENAME SelectItem ,
             ::= ( K_SELECT ( 'DISTINCT' | 'ALL' )? | 'EXTEND' | 'WINDOW' | 'RENAME' ) SelectItem ( ',' SelectItem )*
    Referenced by:

    WherePipeOperator

    WHERE Expression
             ::= 'WHERE' Expression
    Referenced by:

    OrderSuffix

    ASC DESC NULLS FIRST LAST
             ::= ( 'ASC' | 'DESC' ) ( 'NULLS' ( 'FIRST' | 'LAST' ) )?
    Referenced by:

    AggregatePipeOperator

    AGGREGATE SelectItem OrderSuffix , GROUP AND ORDER BY SelectItem OrderSuffix ,
             ::= 'AGGREGATE' SelectItem OrderSuffix? ( ',' SelectItem OrderSuffix? )* ( 'GROUP' ( 'AND' 'ORDER' )? 'BY' SelectItem OrderSuffix? ( ',' SelectItem OrderSuffix? )* )?
    Referenced by:

    OrderByPipeOperator

    OrderByElements
             ::= OrderByElements
    Referenced by:

    AsPipeOperator

    AS Alias
             ::= 'AS' Alias
    Referenced by:

    JoinPipeOperator

    JoinerExpression
             ::= JoinerExpression
    Referenced by:

    SetPipeOperator

    SET UpdateSets
             ::= 'SET' UpdateSets
    Referenced by:

    DropPipeOperator

    DROP ColumnList
             ::= 'DROP' ColumnList
    Referenced by:

    LimitPipeOperator

    LIMIT Expression OFFSET Expression
             ::= 'LIMIT' Expression ( 'OFFSET' Expression )?
    Referenced by:

    SetOperationModifier

    ALL DISTINCT BY NAME STRICT CORRESPONDING
             ::= ( 'ALL' | 'DISTINCT' ) ( 'BY' 'NAME' | 'STRICT' 'CORRESPONDING' )?
    Referenced by:

    SetOperationPipeOperator

    UNION INTERSECT EXCEPT SetOperationModifier ParenthesedSelect ,
             ::= ( 'UNION' | 'INTERSECT' | 'EXCEPT' ) SetOperationModifier? ParenthesedSelect ( ',' ParenthesedSelect )*
    Referenced by:

    CallPipeOperator

    CALL TableFunction Alias
             ::= 'CALL' TableFunction Alias?
    Referenced by:

    TableSamplePipeOperator

    TABLESAMPLE SYSTEM ( S_DOUBLE S_LONG PERCENT )
             ::= 'TABLESAMPLE' 'SYSTEM' '(' ( S_DOUBLE | S_LONG ) 'PERCENT' ')'
    Referenced by:

    PivotPipeOperator

    PIVOT ( Function FOR Column IN ( SelectItemsList ) ) Alias
             ::= 'PIVOT' '(' Function 'FOR' Column 'IN' '(' SelectItemsList ')' ')' Alias?
    Referenced by:

    UnPivotPipeOperator

    UNPIVOT ( Column FOR Column IN ( SelectItemsList ) ) Alias
             ::= 'UNPIVOT' '(' Column 'FOR' Column 'IN' '(' SelectItemsList ')' ')' Alias?
    Referenced by:

    TableStatement

    TABLE Table OrderByElements LimitWithOffset Offset
             ::= 'TABLE' Table OrderByElements? LimitWithOffset? Offset?
    Referenced by:

    ParenthesedSelect

    ( Select )
             ::= '(' Select ')'

    ParenthesedInsert

    ( Insert )
             ::= '(' Insert ')'
    Referenced by:

    ParenthesedUpdate

    ( Update )
             ::= '(' Update ')'
    Referenced by:

    ParenthesedDelete

    ( Delete )
             ::= '(' Delete ')'
    Referenced by:

    LateralView

    LATERAL VIEW OUTER Function RelObjectNameWithoutStart AS RelObjectNameWithoutStart , RelObjectNameWithoutStart
             ::= 'LATERAL' 'VIEW' 'OUTER'? Function RelObjectNameWithoutStart? 'AS' RelObjectNameWithoutStart ( ',' RelObjectNameWithoutStart )?
    Referenced by:

    ForClause

    FOR BROWSE XML RAW ( S_CHAR_LITERAL ) AUTO , BINARY BASE64 TYPE ROOT XMLSCHEMA ( S_CHAR_LITERAL ) XMLDATA ELEMENTS XSINIL ABSENT EXPLICIT , BINARY BASE64 TYPE ROOT ( S_CHAR_LITERAL ) XMLDATA PATH ( S_CHAR_LITERAL ) , BINARY BASE64 TYPE ROOT ( S_CHAR_LITERAL ) ELEMENTS XSINIL ABSENT JSON AUTO PATH , ROOT ( S_CHAR_LITERAL ) INCLUDE_NULL_VALUES WITHOUT_ARRAY_WRAPPER
             ::= 'FOR' ( 'BROWSE' | 'XML' ( ( 'RAW' ( '(' S_CHAR_LITERAL ')' )? | 'AUTO' ) ( ',' ( 'BINARY' 'BASE64' | 'TYPE' | ( 'ROOT' | 'XMLSCHEMA' ) ( '(' S_CHAR_LITERAL ')' )? | 'XMLDATA' | 'ELEMENTS' ( 'XSINIL' | 'ABSENT' )? ) )* | 'EXPLICIT' ( ',' ( 'BINARY' 'BASE64' | 'TYPE' | 'ROOT' ( '(' S_CHAR_LITERAL ')' )? | 'XMLDATA' ) )* | 'PATH' ( '(' S_CHAR_LITERAL ')' )? ( ',' ( 'BINARY' 'BASE64' | 'TYPE' | 'ROOT' ( '(' S_CHAR_LITERAL ')' )? | 'ELEMENTS' ( 'XSINIL' | 'ABSENT' )? ) )* ) | 'JSON' ( 'AUTO' | 'PATH' ) ( ',' ( 'ROOT' ( '(' S_CHAR_LITERAL ')' )? | 'INCLUDE_NULL_VALUES' | 'WITHOUT_ARRAY_WRAPPER' ) )* )
    Referenced by:

    LateralViews

    LateralView
             ::= LateralView+
    Referenced by:

    LateralSubSelect

    LATERAL ( Select )
             ::= 'LATERAL' '(' Select ')'
    Referenced by:

    PlainSelect

    K_SELECT STRAIGHT_JOIN Skip First Top ALL DISTINCT ON ( SelectItemsList ) UNIQUE SQL_CALC_FOUND_ROWS SQL_NO_CACHE SQL_CACHE AS STRUCT VALUE Top SelectItemsList IntoClause FROM FromItem LateralViews JoinsList FROM ONLY FromItem LateralViews JoinsList FINAL KSQLWindowClause WhereClause OracleHierarchicalQueryClause PreferringClause PARTITION BY ComplexExpressionList ( ComplexExpressionList ) Having GroupByColumnReferences Having Qualify ForClause OrderByElements WINDOW RelObjectName AS windowDefinition , OrderByElements EMIT CHANGES LimitBy LimitWithOffset Offset LimitWithOffset Fetch WithIsolation FOR NO KEY UPDATE KEY SHARE OF Table Wait NOWAIT SKIP LOCKED OptimizeFor INTO TEMP Table WITH NO LOG
             ::= K_SELECT 'STRAIGHT_JOIN'? Skip? First? Top? ( 'ALL' | 'DISTINCT' ( 'ON' '(' SelectItemsList ')' )? | 'UNIQUE' | 'SQL_CALC_FOUND_ROWS' | 'SQL_NO_CACHE' | 'SQL_CACHE' )? ( 'AS' ( 'STRUCT' | 'VALUE' ) )? Top? SelectItemsList IntoClause? ( 'FROM' FromItem LateralViews? JoinsList? )? ( 'FROM' 'ONLY' FromItem LateralViews? JoinsList? )? 'FINAL'? KSQLWindowClause? WhereClause? OracleHierarchicalQueryClause? ( PreferringClause ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? )? Having? GroupByColumnReferences? Having? Qualify? ForClause? OrderByElements? ( 'WINDOW' RelObjectName 'AS' windowDefinition ( ',' RelObjectName 'AS' windowDefinition )* )? OrderByElements? ( 'EMIT' 'CHANGES' )? LimitBy? LimitWithOffset? Offset? LimitWithOffset? Fetch? WithIsolation? ( 'FOR' ( ( 'NO' 'KEY' )? 'UPDATE' | 'KEY'? 'SHARE' ) ( 'OF' Table )? Wait? ( 'NOWAIT' | 'SKIP' 'LOCKED' )? )? OptimizeFor? ( 'INTO' 'TEMP' Table )? ( 'WITH' 'NO' 'LOG' )?
    Referenced by:

    SetOperationList

    UNION INTERSECT MINUS EXCEPT ALL DISTINCT BY NAME STRICT CORRESPONDING PlainSelect Values ParenthesedSelect OrderByElements LimitWithOffset Offset LimitWithOffset Fetch WithIsolation
             ::= ( ( 'UNION' | 'INTERSECT' | 'MINUS' | 'EXCEPT' ) ( 'ALL' | 'DISTINCT' ( 'BY' 'NAME' | 'STRICT' 'CORRESPONDING' )? )? ( PlainSelect | Values | ParenthesedSelect ) )+ OrderByElements? LimitWithOffset? Offset? LimitWithOffset? Fetch? WithIsolation?
    Referenced by:

    WithList

    WITH WithItem ,
    WithList ::= 'WITH' WithItem ( ',' WithItem )*
    Referenced by:

    WithItem

    RECURSIVE RelObjectName ( SelectItemsList ) AS MATERIALIZED ParenthesedSelect ParenthesedInsert ParenthesedUpdate ParenthesedDelete
    Referenced by:

    ColumnSelectItemsList

    SelectItem ,
             ::= SelectItem ( ',' SelectItem )*
    Not referenced by any.

    SelectItemsList

    SelectItem ,
             ::= SelectItem ( ',' SelectItem )*

    SelectItem

    AllColumns ConnectByPriorOperator AllTableColumns XorExpression ConcatExpression Expression Alias

    AllColumns

    * EXCEPT EXCLUDE ParenthesedColumnList REPLACE ( SelectItemsList )
             ::= '*' ( ( 'EXCEPT' | 'EXCLUDE' ) ParenthesedColumnList )? ( 'REPLACE' '(' SelectItemsList ')' )?

    AllTableColumns

    Table . AllColumns
             ::= Table '.' AllColumns

    Alias

    AS RelObjectNameWithoutStart ( RelObjectName ColDataType , ) AS RelObjectNameWithoutStart S_CHAR_LITERAL ( RelObjectName ColDataType , )
               | 'AS'? ( RelObjectNameWithoutStart | S_CHAR_LITERAL ) ( '(' RelObjectName ColDataType? ( ',' RelObjectName ColDataType? )* ')' )?

    SQLServerHint

    INDEX ( RelObjectName ) NOLOCK
             ::= 'INDEX' '(' RelObjectName ')'
               | 'NOLOCK'
    Referenced by:

    SQLServerHints

    WITH ( SQLServerHint , )
             ::= 'WITH' '(' SQLServerHint ( ',' SQLServerHint )* ')'
    Referenced by:

    MySQLIndexHint

    USE SHOW IGNORE FORCE INDEX KEY ( RelObjectNameWithoutValue , )
             ::= ( 'USE' | 'SHOW' | 'IGNORE' | 'FORCE' ) ( 'INDEX' | 'KEY' ) '(' RelObjectNameWithoutValue ( ',' RelObjectNameWithoutValue )* ')'

    FunctionItem

    Function Alias
             ::= Function Alias?
    Referenced by:

    PivotForColumns

    ParenthesedColumnList Column
             ::= ParenthesedColumnList
               | Column
    Referenced by:

    PivotFunctionItems

    FunctionItem ,
             ::= FunctionItem ( ',' FunctionItem )*
    Referenced by:

    ExpressionListItem

    ParenthesedExpressionList Alias
             ::= ParenthesedExpressionList Alias?
    Referenced by:

    PivotMultiInItems

    ExpressionListItem ,
             ::= ExpressionListItem ( ',' ExpressionListItem )*
    Referenced by:

    Pivot

    PIVOT ( PivotFunctionItems FOR PivotForColumns IN ( SelectItemsList PivotMultiInItems ) ) Alias
    Pivot    ::= 'PIVOT' '(' PivotFunctionItems 'FOR' PivotForColumns 'IN' '(' ( SelectItemsList | PivotMultiInItems ) ')' ')' Alias?
    Referenced by:

    PivotXml

    PIVOT XML ( PivotFunctionItems FOR PivotForColumns IN ( ANY Select SelectItemsList PivotMultiInItems ) )
    PivotXml ::= 'PIVOT' 'XML' '(' PivotFunctionItems 'FOR' PivotForColumns 'IN' '(' ( 'ANY' | Select | SelectItemsList | PivotMultiInItems ) ')' ')'
    Referenced by:

    UnPivot

    UNPIVOT INCLUDE EXCLUDE NULLS ( PivotForColumns FOR PivotForColumns IN ( SelectItemsList ) ) Alias
    UnPivot  ::= 'UNPIVOT' ( ( 'INCLUDE' | 'EXCLUDE' ) 'NULLS' )? '(' PivotForColumns 'FOR' PivotForColumns 'IN' '(' SelectItemsList ')' ')' Alias?
    Referenced by:

    IntoClause

    INTO Table ,
             ::= 'INTO' Table ( ',' Table )*
    Referenced by:

    ParenthesedFromItem

    ( FromItem JoinsList )
             ::= '(' FromItem JoinsList? ')'
    Referenced by:

    FromItem

    Values TableFunction Table ParenthesedFromItem ParenthesedSelect Pivot UnPivot LateralSubSelect Select Alias SampleClause UnPivot PivotXml Pivot MySQLIndexHint SQLServerHints

    JoinsList

    JoinerExpression
             ::= JoinerExpression+

    JoinHint

    LOOP HASH MERGE REMOTE
    JoinHint ::= 'LOOP'
               | 'HASH'
               | 'MERGE'
               | 'REMOTE'
    Referenced by:

    JoinerExpression

    GLOBAL NATURAL RIGHT FULL OUTER LEFT SEMI OUTER INNER CROSS JoinHint JOIN , OUTER STRAIGHT_JOIN APPLY FromItem WITHIN ( JoinWindow ) ON Expression USING ( Column , )
             ::= 'GLOBAL'? 'NATURAL'? ( ( 'RIGHT' | 'FULL' )? 'OUTER'? | 'LEFT' ( 'SEMI' | 'OUTER' )? | 'INNER' | 'CROSS' ) ( JoinHint? 'JOIN' | ',' 'OUTER'? | 'STRAIGHT_JOIN' | 'APPLY' ) FromItem ( ( 'WITHIN' '(' JoinWindow ')' )? ( 'ON' Expression )+ | 'USING' '(' Column ( ',' Column )* ')' )?

    JoinWindow

    S_LONG S_IDENTIFIER K_DATE_LITERAL , S_LONG S_IDENTIFIER K_DATE_LITERAL
             ::= S_LONG ( S_IDENTIFIER | K_DATE_LITERAL ) ( ',' S_LONG ( S_IDENTIFIER | K_DATE_LITERAL ) )?
    Referenced by:

    KSQLWindowClause

    WINDOW HOPPING ( SIZE S_LONG S_IDENTIFIER , ADVANCE BY SESSION ( TUMBLING ( SIZE S_LONG S_IDENTIFIER )
             ::= 'WINDOW' ( 'HOPPING' '(' 'SIZE' S_LONG S_IDENTIFIER ',' 'ADVANCE' 'BY' | 'SESSION' '(' | 'TUMBLING' '(' 'SIZE' ) S_LONG S_IDENTIFIER ')'
    Referenced by:

    WhereClause

    WHERE Expression
             ::= 'WHERE' Expression

    OracleHierarchicalQueryClause

    START WITH AndExpression CONNECT BY NOCYCLE CONNECT BY NOCYCLE AndExpression START WITH AndExpression
             ::= ( 'START' 'WITH' AndExpression 'CONNECT' 'BY' 'NOCYCLE'? | 'CONNECT' 'BY' 'NOCYCLE'? ( AndExpression 'START' 'WITH' )? ) AndExpression
    Referenced by:

    PreferringClause

    PREFERRING PreferenceTerm
             ::= 'PREFERRING' PreferenceTerm
    Referenced by:

    PreferenceTerm

    Plus
             ::= Plus

    Plus

    PriorTo PLUS
    Plus     ::= PriorTo ( 'PLUS' PriorTo )*
    Referenced by:

    PriorTo

    PreferenceTermTerminal ( PreferenceTerm ) TO PRIOR
    PriorTo  ::= ( PreferenceTermTerminal | '(' PreferenceTerm ')' ) ( 'PRIOR' 'TO' ( PreferenceTermTerminal | '(' PreferenceTerm ')' ) )*
    Referenced by:

    PreferenceTermTerminal

    HighExpression LowExpression Inverse Condition
             ::= HighExpression
               | LowExpression
               | Inverse
               | Condition
    Referenced by:

    HighExpression

    HIGH Expression
             ::= 'HIGH' Expression
    Referenced by:

    LowExpression

    LOW Expression
             ::= 'LOW' Expression
    Referenced by:

    Inverse

    INVERSE ( PreferenceTerm )
    Inverse  ::= 'INVERSE' '(' PreferenceTerm ')'
    Referenced by:

    GroupByColumnReferences

    GROUP BY GROUPING SETS ( GroupingSet , ) ExpressionList GROUPING SETS ( GroupingSet , ) WITH ROLLUP
             ::= 'GROUP' 'BY' ( 'GROUPING' 'SETS' '(' GroupingSet ( ',' GroupingSet )* ')' | ExpressionList ( 'GROUPING' 'SETS' '(' GroupingSet ( ',' GroupingSet )* ')' )? ( 'WITH' 'ROLLUP' )? )
    Referenced by:

    GroupingSet

    ParenthesedExpressionList SimpleExpression
             ::= ParenthesedExpressionList
               | SimpleExpression
    Referenced by:

    Having

    HAVING Expression
    Having   ::= 'HAVING' Expression
    Referenced by:

    Qualify

    QUALIFY Expression
    Qualify  ::= 'QUALIFY' Expression
    Referenced by:

    OrderByElements

    ORDER SIBLINGS BY OrderByElement ,
             ::= 'ORDER' 'SIBLINGS'? 'BY' OrderByElement ( ',' OrderByElement )*

    OrderByElement

    Expression ASC DESC NULLS FIRST LAST WITH ROLLUP
             ::= Expression ( 'ASC' | 'DESC' )? ( 'NULLS' ( 'FIRST' | 'LAST' )? )? ( 'WITH' 'ROLLUP' )?
    Referenced by:

    JdbcParameter

    ? S_PARAMETER S_LONG
             ::= ( '?' | S_PARAMETER ) S_LONG?

    LimitWithOffset

    LIMIT Expression , Expression PlainLimit
             ::= 'LIMIT' Expression ',' Expression
               | PlainLimit

    PlainLimit

    LIMIT ParenthesedSelect Expression
             ::= 'LIMIT' ( ParenthesedSelect | Expression )

    LimitBy

    LimitWithOffset BY ExpressionList
    Referenced by:

    Offset

    OFFSET Expression ROWS ROW
    Offset   ::= 'OFFSET' Expression ( 'ROWS' | 'ROW' )?

    Fetch

    FETCH FIRST NEXT Expression PERCENT ROWS ROW ONLY WITH TIES
    Fetch    ::= 'FETCH' ( 'FIRST' | 'NEXT' ) ( Expression 'PERCENT'? )? ( 'ROWS' | 'ROW' ) ( 'ONLY' | 'WITH TIES' )

    WithIsolation

    WITH K_ISOLATION
             ::= 'WITH' K_ISOLATION

    OptimizeFor

    OPTIMIZE FOR S_LONG ROWS
             ::= 'OPTIMIZE' 'FOR' S_LONG 'ROWS'
    Referenced by:

    Top

    TOP S_LONG JdbcParameter : S_IDENTIFIER ( AdditiveExpression ) PERCENT WITH TIES
    Top      ::= 'TOP' ( S_LONG | JdbcParameter | ':' S_IDENTIFIER? | '(' AdditiveExpression ')' ) 'PERCENT'? 'WITH TIES'?
    Referenced by:

    Skip

    SKIP S_LONG S_IDENTIFIER JdbcParameter
    Skip     ::= 'SKIP' ( S_LONG | S_IDENTIFIER | JdbcParameter )
    Referenced by:

    First

    FIRST LIMIT S_LONG S_IDENTIFIER JdbcParameter
    First    ::= ( 'FIRST' | 'LIMIT' ) ( S_LONG | S_IDENTIFIER | JdbcParameter )
    Referenced by:

    Expression

    XorExpression
             ::= XorExpression

    XorExpression

    OrExpression XOR
             ::= OrExpression ( 'XOR' OrExpression )*

    OrExpression

    AndExpression OR
             ::= AndExpression ( 'OR' AndExpression )*
    Referenced by:

    AndExpression

    Condition NOT ! ( XorExpression ) AND &&
             ::= ( Condition | ( 'NOT' | '!' )? '(' XorExpression ')' ) ( ( 'AND' | '&&' ) ( Condition | ( 'NOT' | '!' )? '(' XorExpression ')' ) )*

    Condition

    NOT ! RegularCondition SQLCondition
             ::= ( 'NOT' | '!' )? ( RegularCondition | SQLCondition )

    OverlapsCondition

    ParenthesedExpressionList OVERLAPS ParenthesedExpressionList
             ::= ParenthesedExpressionList 'OVERLAPS' ParenthesedExpressionList
    Referenced by:

    RegularCondition

    PRIOR ComparisonItem ( + ) > < = OP_GREATERTHANEQUALS OP_MINORTHANEQUALS OP_NOTEQUALSSTANDARD OP_NOTEQUALSBANG OP_NOTEQUALSHAT *= =* && &> <& @@ ~ ~* !~ !~* @> <@ ? ?| ?& OP_CONCAT - -# <-> <#> <=> PRIOR ComparisonItem ( + )
             ::= 'PRIOR'? ComparisonItem ( '(' '+' ')' )? ( '>' | '<' | '=' | OP_GREATERTHANEQUALS | OP_MINORTHANEQUALS | OP_NOTEQUALSSTANDARD | OP_NOTEQUALSBANG | OP_NOTEQUALSHAT | '*=' | '=*' | '&&' | '&>' | '<&' | '@@' | '~' | '~*' | '!~' | '!~*' | '@>' | '<@' | '?' | '?|' | '?&' | OP_CONCAT | '-' | '-#' | '<->' | '<#>' | '<=>' ) 'PRIOR'? ComparisonItem ( '(' '+' ')' )?
    Referenced by:

    SQLCondition

    ExistsExpression InExpression OverlapsCondition SimpleExpression ExcludesExpression IncludesExpression Between MemberOfExpression IsNullExpression IsBooleanExpression IsUnknownExpression LikeExpression IsDistinctExpression SimilarToExpression
             ::= ExistsExpression
               | InExpression
               | OverlapsCondition
    Referenced by:

    InExpression

    SimpleExpression ( + ) GLOBAL NOT IN S_CHAR_LITERAL Function ParenthesedSelect ParenthesedExpressionList SimpleExpression
             ::= SimpleExpression ( '(' '+' ')' )? 'GLOBAL'? 'NOT'? 'IN' ( S_CHAR_LITERAL | Function | ParenthesedSelect | ParenthesedExpressionList | SimpleExpression )
    Referenced by:

    IncludesExpression

    INCLUDES ParenthesedExpressionList
             ::= 'INCLUDES' ParenthesedExpressionList
    Referenced by:

    ExcludesExpression

    EXCLUDES ParenthesedExpressionList
             ::= 'EXCLUDES' ParenthesedExpressionList
    Referenced by:

    Between

    NOT BETWEEN ParenthesedSelect RegularCondition SimpleExpression AND ParenthesedSelect RegularCondition SimpleExpression
    Referenced by:

    LikeExpression

    NOT LIKE ILIKE RLIKE REGEXP_LIKE REGEXP K_SIMILAR_TO MATCH_ANY MATCH_ALL MATCH_PHRASE MATCH_PHRASE_PREFIX MATCH_REGEXP BINARY SimpleExpression ESCAPE S_CHAR_LITERAL Expression
             ::= 'NOT'? ( 'LIKE' | 'ILIKE' | 'RLIKE' | 'REGEXP_LIKE' | 'REGEXP' | K_SIMILAR_TO | 'MATCH_ANY' | 'MATCH_ALL' | 'MATCH_PHRASE' | 'MATCH_PHRASE_PREFIX' | 'MATCH_REGEXP' ) 'BINARY'? SimpleExpression ( 'ESCAPE' ( S_CHAR_LITERAL | Expression ) )?
    Referenced by:

    SimilarToExpression

    NOT SIMILAR TO SimpleExpression ESCAPE S_CHAR_LITERAL
             ::= 'NOT'? 'SIMILAR' 'TO' SimpleExpression ( 'ESCAPE' S_CHAR_LITERAL )?
    Referenced by:

    IsDistinctExpression

    IS NOT DISTINCT FROM SimpleExpression
             ::= 'IS' 'NOT'? 'DISTINCT' 'FROM' SimpleExpression
    Referenced by:

    IsNullExpression

    NOT ISNULL NOTNULL IS NOT NULL
             ::= 'NOT'? 'ISNULL'
               | 'NOTNULL'
               | 'IS' 'NOT'? 'NULL'
    Referenced by:

    IsBooleanExpression

    IS NOT TRUE FALSE
             ::= 'IS' 'NOT'? ( 'TRUE' | 'FALSE' )
    Referenced by:

    IsUnknownExpression

    IS NOT UNKNOWN
             ::= 'IS' 'NOT'? 'UNKNOWN'
    Referenced by:

    ExistsExpression

    EXISTS SimpleExpression
             ::= 'EXISTS' SimpleExpression
    Referenced by:

    MemberOfExpression

    MEMBER OF Expression
             ::= 'MEMBER' 'OF' Expression
    Referenced by:

    ExpressionList

    ComplexExpressionList SimpleExpressionList ParenthesedExpressionList
             ::= ComplexExpressionList
               | SimpleExpressionList
               | ParenthesedExpressionList

    ParenthesedExpressionList

    ( ComplexExpressionList SimpleExpressionList )
             ::= '(' ( ComplexExpressionList | SimpleExpressionList )? ')'

    SimpleExpressionList

    SimpleExpression , LambdaExpression SimpleExpression
             ::= SimpleExpression ( ',' ( LambdaExpression | SimpleExpression ) )*

    ColumnList

    Column ,
             ::= Column ( ',' Column )*

    ParenthesedColumnList

    ( ColumnList )
             ::= '(' ColumnList ')'

    ComplexExpressionList

    OracleNamedFunctionParameter Expression , OracleNamedFunctionParameter LambdaExpression Expression

    NamedExpressionListExprFirst

    SimpleExpression FROM IN PLACING SimpleExpression FOR FROM SimpleExpression FOR SimpleExpression
             ::= SimpleExpression ( 'FROM' | 'IN' | 'PLACING' ) SimpleExpression ( ( 'FOR' | 'FROM' ) SimpleExpression ( 'FOR' SimpleExpression )? )?

    ComparisonItem

    AnyComparisonExpression SimpleExpression ParenthesedExpressionList RowConstructor PrimaryExpression
             ::= AnyComparisonExpression
               | SimpleExpression
               | ParenthesedExpressionList
               | RowConstructor
               | PrimaryExpression
    Referenced by:

    AnyComparisonExpression

    ANY SOME ALL ParenthesedSelect
             ::= ( 'ANY' | 'SOME' | 'ALL' ) ParenthesedSelect
    Referenced by:

    SimpleExpression

    UserVariable = := ConcatExpression
             ::= ( UserVariable ( '=' | ':=' ) )? ConcatExpression

    ConcatExpression

    BitwiseAndOr OP_CONCAT
             ::= BitwiseAndOr ( OP_CONCAT BitwiseAndOr )*

    BitwiseAndOr

    AdditiveExpression | & << >>
             ::= AdditiveExpression ( ( '|' | '&' | '<<' | '>>' ) AdditiveExpression )*
    Referenced by:

    AdditiveExpression

    MultiplicativeExpression + -
             ::= MultiplicativeExpression ( ( '+' | '-' ) MultiplicativeExpression )*
    Referenced by:

    MultiplicativeExpression

    BitwiseXor * / DIV %
             ::= BitwiseXor ( ( '*' | '/' | 'DIV' | '%' ) BitwiseXor )*
    Referenced by:

    BitwiseXor

    PrimaryExpression ^
             ::= PrimaryExpression ( '^' PrimaryExpression )*
    Referenced by:

    ArrayExpression

    [ SimpleExpression : SimpleExpression ]
             ::= ( '[' SimpleExpression? ( ':' SimpleExpression? )? ']' )+
    Referenced by:

    PrimaryExpression

    NOT ! + - ~ NULL CaseWhenExpression CharacterPrimary ImplicitCast JdbcParameter JdbcNamedParameter UserVariable NumericBind ExtractExpression MySQLGroupConcat XMLSerializeExpr JsonFunction JsonAggregateFunction FullTextSearch Function AnalyticExpression IntervalExpression S_DOUBLE S_LONG S_HEX CastExpression K_TIME_KEY_EXPR CURRENT DateTimeLiteralExpression StructType ARRAY < ColDataType > ArrayConstructor NextValExpression ConnectByRootOperator ConnectByPriorOperator ALL Column TRUE FALSE S_CHAR_LITERAL {d {t {ts S_CHAR_LITERAL } Select ParenthesedSelect ParenthesedExpressionList -> Expression . RelObjectNameExt COLLATE S_IDENTIFIER IntervalExpressionWithoutInterval ArrayExpression :: ColDataType -> : ->> #> #>> Expression JsonExpression AT K_DATETIMELITERAL ZONE PrimaryExpression
             ::= ( 'NOT' | '!' )? ( '+' | '-' | '~' )? ( 'NULL' | CaseWhenExpression | CharacterPrimary | ImplicitCast | JdbcParameter | JdbcNamedParameter | UserVariable | NumericBind | ExtractExpression | MySQLGroupConcat | XMLSerializeExpr | JsonFunction | JsonAggregateFunction | FullTextSearch | Function AnalyticExpression? | IntervalExpression | S_DOUBLE | S_LONG | S_HEX | CastExpression | K_TIME_KEY_EXPR | 'CURRENT' | DateTimeLiteralExpression | StructType | ( 'ARRAY' ( '<' ColDataType '>' )? )? ArrayConstructor | NextValExpression | ConnectByRootOperator | ConnectByPriorOperator | 'ALL' | Column | 'TRUE' | 'FALSE' | S_CHAR_LITERAL | ( '{d' | '{t' | '{ts' ) S_CHAR_LITERAL '}' | Select | ParenthesedSelect | ParenthesedExpressionList ( '->' Expression )? ( '.' RelObjectNameExt )? ) ( 'COLLATE' S_IDENTIFIER )? IntervalExpressionWithoutInterval? ArrayExpression? ( '::' ColDataType )* ( ( ( '->' | ':' | '->>' | '#>' | '#>>' ) Expression )+ JsonExpression )? ( 'AT' K_DATETIMELITERAL 'ZONE' PrimaryExpression )*

    ConnectByRootOperator

    CONNECT_BY_ROOT Column
             ::= 'CONNECT_BY_ROOT' Column
    Referenced by:

    ConnectByPriorOperator

    PRIOR Column
             ::= 'PRIOR' Column

    NextValExpression

    K_NEXTVAL RelObjectNames
             ::= K_NEXTVAL RelObjectNames
    Referenced by:

    JdbcNamedParameter

    : & IdentifierChain
             ::= ( ':' | '&' ) IdentifierChain

    OracleNamedFunctionParameter

    RelObjectNameExt2 OUTER => Expression
             ::= ( RelObjectNameExt2 | 'OUTER' ) '=>' Expression
    Referenced by:

    UserVariable

    @ @@ IdentifierChain
             ::= ( '@' | '@@' ) IdentifierChain

    NumericBind

    : S_LONG
             ::= ':' S_LONG
    Referenced by:

    DateTimeLiteralExpression

    K_DATETIMELITERAL S_CHAR_LITERAL S_QUOTED_IDENTIFIER
    Referenced by:

    RangeExpression

    : Expression
             ::= ':' Expression
    Referenced by:

    ArrayConstructor

    [ Expression RangeExpression ArrayConstructor , ]
             ::= '[' ( ( Expression RangeExpression? | ArrayConstructor ) ( ',' ( Expression RangeExpression? | ArrayConstructor ) )* )? ']'

    StructParameters

    RelObjectName ColDataType ,
             ::= RelObjectName? ColDataType ( ',' RelObjectName? ColDataType )*
    Referenced by:

    StructType

    STRUCT < StructParameters > ( SelectItemsList ) { RelObjectName : Expression , } :: STRUCT ( StructParameters )
             ::= 'STRUCT' ( '<' StructParameters '>' )? '(' SelectItemsList ')'
               | '{' RelObjectName ':' Expression ( ',' RelObjectName ':' Expression )* '}' ( '::' 'STRUCT' '(' StructParameters ')' )*
    Referenced by:

    JsonExpression

    :: ColDataType -> : ->> #> #>> Expression
             ::= ( ( '::' ColDataType )+ ( ( '->' | ':' | '->>' | '#>' | '#>>' ) Expression )* )*
    Referenced by:

    JsonFunction

    JSON_OBJECT ( KEY S_CHAR_LITERAL Column : , VALUE Expression FORMAT JSON , KEY S_CHAR_LITERAL Column : , VALUE Expression FORMAT JSON NULL ABSENT ON NULL WITH WITHOUT UNIQUE KEYS JSON_ARRAY ( NULL ON NULL Expression FORMAT JSON , ABSENT ON NULL )
             ::= ( 'JSON_OBJECT' '(' ( 'KEY'? ( S_CHAR_LITERAL | Column ) ( ( ':' | ',' | 'VALUE' ) Expression ( 'FORMAT' 'JSON' )? )? ( ',' 'KEY'? ( S_CHAR_LITERAL | Column ) ( ':' | ',' | 'VALUE' ) Expression ( 'FORMAT' 'JSON' )? )* )? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? ( ( 'WITH' | 'WITHOUT' ) 'UNIQUE' 'KEYS' )? | 'JSON_ARRAY' '(' ( 'NULL' 'ON' 'NULL' | Expression ( 'FORMAT' 'JSON' )? ( ',' Expression ( 'FORMAT' 'JSON' )? )* )* ( 'ABSENT' 'ON' 'NULL' )? ) ')'
    Referenced by:

    JsonAggregateFunction

    JSON_OBJECTAGG ( KEY DT_ZONE S_DOUBLE S_LONG S_HEX S_CHAR_LITERAL Column : , VALUE Expression FORMAT JSON NULL ABSENT ON NULL WITH WITHOUT UNIQUE KEYS JSON_ARRAYAGG ( Expression FORMAT JSON OrderByElements NULL ABSENT ON NULL ) FILTER ( WHERE Expression ) OVER ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) OrderByElements WindowElement )
             ::= ( 'JSON_OBJECTAGG' '(' 'KEY'? ( DT_ZONE | S_DOUBLE | S_LONG | S_HEX | S_CHAR_LITERAL | Column ) ( ':' | ',' | 'VALUE' ) Expression ( 'FORMAT' 'JSON' )? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? ( ( 'WITH' | 'WITHOUT' ) 'UNIQUE' 'KEYS' )? | 'JSON_ARRAYAGG' '(' Expression ( 'FORMAT' 'JSON' )? OrderByElements? ( ( 'NULL' | 'ABSENT' ) 'ON' 'NULL' )? ) ')' ( 'FILTER' '(' 'WHERE' Expression ')' )? ( 'OVER' '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? OrderByElements? WindowElement? ')' )?
    Referenced by:

    IntervalExpression

    INTERVAL - S_LONG S_DOUBLE S_CHAR_LITERAL Expression S_IDENTIFIER K_DATE_LITERAL
             ::= 'INTERVAL' ( '-'? ( S_LONG | S_DOUBLE ) | S_CHAR_LITERAL | Expression ) ( S_IDENTIFIER | K_DATE_LITERAL )?
    Referenced by:

    IntervalExpressionWithoutInterval

    K_DATE_LITERAL
             ::= K_DATE_LITERAL
    Referenced by:

    KeepExpression

    KEEP ( S_IDENTIFIER FIRST LAST OrderByElements )
             ::= 'KEEP' '(' S_IDENTIFIER ( 'FIRST' | 'LAST' ) OrderByElements ')'
    Referenced by:

    windowFun

    OVER WITHIN GROUP RelObjectName windowDefinition OVER ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) )
             ::= ( 'OVER' | 'WITHIN' 'GROUP' ) ( RelObjectName | windowDefinition ( 'OVER' '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? ')' )? )
    Referenced by:

    windowDefinition

    ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) OrderByElements WindowElement )
             ::= '(' ( 'PARTITION' 'BY' ( ComplexExpressionList | '(' ComplexExpressionList ')' ) )? OrderByElements? WindowElement? ')'
    Referenced by:

    AnalyticExpression

    FILTER ( WHERE Expression ) windowFun windowFun
             ::= 'FILTER' '(' 'WHERE' Expression ')' windowFun?
               | windowFun
    Referenced by:

    WindowElement

    ROWS RANGE BETWEEN WindowOffset AND WindowOffset
             ::= ( 'ROWS' | 'RANGE' ) ( 'BETWEEN' WindowOffset 'AND' )? WindowOffset

    WindowOffset

    UNBOUNDED SimpleExpression PRECEDING FOLLOWING CURRENT ROW
             ::= ( 'UNBOUNDED' | SimpleExpression ) ( 'PRECEDING' | 'FOLLOWING' )
               | 'CURRENT' 'ROW'
    Referenced by:

    ExtractExpression

    EXTRACT ( RelObjectName S_CHAR_LITERAL FROM SimpleExpression )
             ::= 'EXTRACT' '(' ( RelObjectName | S_CHAR_LITERAL ) 'FROM' SimpleExpression ')'
    Referenced by:

    ImplicitCast

    DataType S_CHAR_LITERAL S_LONG S_DOUBLE
             ::= DataType ( S_CHAR_LITERAL | S_LONG | S_DOUBLE )
    Referenced by:

    CastExpression

    CAST SAFE_CAST TRY_CAST INTERPRET ( SimpleExpression AS ROW ( ColumnDefinition , ) ColDataType FORMAT S_CHAR_LITERAL )
             ::= ( 'CAST' | 'SAFE_CAST' | 'TRY_CAST' | 'INTERPRET' ) '(' SimpleExpression 'AS' ( 'ROW' '(' ColumnDefinition ( ',' ColumnDefinition )* ')' | ColDataType ) ( 'FORMAT' S_CHAR_LITERAL )? ')'
    Referenced by:

    CaseWhenExpression

    CASE Expression WhenThenSearchCondition ELSE Expression SimpleExpression END
             ::= 'CASE' Expression? WhenThenSearchCondition+ ( 'ELSE' ( Expression | SimpleExpression ) )? 'END'
    Referenced by:

    WhenThenSearchCondition

    WHEN Expression THEN Expression SimpleExpression
             ::= 'WHEN' Expression 'THEN' ( Expression | SimpleExpression )
    Referenced by:

    RowConstructor

    ROW ParenthesedExpressionList
             ::= 'ROW' ParenthesedExpressionList
    Referenced by:

    VariableExpression

    UserVariable = SimpleExpression
             ::= UserVariable '=' SimpleExpression
    Not referenced by any.

    Execute

    EXEC EXECUTE CALL RelObjectNames ExpressionList
    Execute  ::= ( 'EXEC' | 'EXECUTE' | 'CALL' ) RelObjectNames ExpressionList?
    Referenced by:

    FullTextSearch

    MATCH ( ColumnList ) AGAINST ( S_CHAR_LITERAL JdbcParameter JdbcNamedParameter IN NATURAL LANGUAGE MODE IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION IN BOOLEAN MODE WITH QUERY EXPANSION )
             ::= 'MATCH' '(' ColumnList ')' 'AGAINST' '(' ( S_CHAR_LITERAL | JdbcParameter | JdbcNamedParameter ) ( 'IN NATURAL LANGUAGE MODE' | 'IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION' | 'IN BOOLEAN MODE' | 'WITH QUERY EXPANSION' )? ')'
    Referenced by:

    LambdaExpression

    ParenthesedColumnList RelObjectName -> Expression
             ::= ( ParenthesedColumnList | RelObjectName ) '->' Expression

    Function

    { FN InternalFunction } SpecialStringFunctionWithNamedParameters InternalFunction
    Function ::= '{' 'FN' InternalFunction '}'
               | InternalFunction

    SpecialStringFunctionWithNamedParameters

    K_STRING_FUNCTION_NAME ( NamedExpressionListExprFirst ExpressionList )
    Referenced by:

    InternalFunction

    APPROXIMATE RelObjectNames ( DISTINCT ALL UNIQUE * AllTableColumns TABLE ExpressionList OrderByElements ON OVERFLOW TRUNCATE ERROR S_CHAR_LITERAL WITH WITHOUT COUNT Select HAVING MIN MAX Expression IGNORE RESPECT NULLS PlainLimit ) . Function Column IGNORE RESPECT NULLS KeepExpression
             ::= 'APPROXIMATE'? RelObjectNames '(' ( ( 'DISTINCT' | 'ALL' | 'UNIQUE' )? ( '*' | AllTableColumns | 'TABLE'? ExpressionList OrderByElements? ( 'ON' 'OVERFLOW' ( 'TRUNCATE' | 'ERROR' ) ( S_CHAR_LITERAL ( ( 'WITH' | 'WITHOUT' ) 'COUNT' )? )? )? | Select ) )? ( 'HAVING' ( 'MIN' | 'MAX' ) Expression )? ( ( 'IGNORE' | 'RESPECT' ) 'NULLS' )? PlainLimit? ')' ( '.' ( Function | Column ) )? ( ( 'IGNORE' | 'RESPECT' ) 'NULLS' )? KeepExpression?
    Referenced by:

    XMLSerializeExpr

    XMLSERIALIZE ( XMLAGG ( XMLTEXT ( SimpleExpression ) OrderByElements ) AS ColDataType )
             ::= 'XMLSERIALIZE' '(' 'XMLAGG' '(' 'XMLTEXT' '(' SimpleExpression ')' OrderByElements? ')' 'AS' ColDataType ')'
    Referenced by:

    MySQLGroupConcat

    GROUP_CONCAT ( DISTINCT ExpressionList OrderByElements SEPARATOR S_CHAR_LITERAL )
             ::= 'GROUP_CONCAT' '(' 'DISTINCT'? ExpressionList OrderByElements? ( 'SEPARATOR' S_CHAR_LITERAL )? ')'
    Referenced by:

    TableFunction

    LATERAL Function
             ::= 'LATERAL'? Function
    Referenced by:

    ColumnNamesWithParamsList

    ( RelObjectName CreateParameter , )
             ::= '(' RelObjectName CreateParameter? ( ',' RelObjectName CreateParameter? )* ')'
    Referenced by:

    Index

    RelObjectNames

    CreateIndex

    CreateParameter INDEX IF NOT EXISTS Index ON Table USING S_IDENTIFIER USING S_IDENTIFIER ON Table ColumnNamesWithParamsList CreateParameter
             ::= CreateParameter? 'INDEX' ( 'IF' 'NOT' 'EXISTS' )? Index ( 'ON' Table ( 'USING' S_IDENTIFIER )? | ( 'USING' S_IDENTIFIER )? 'ON' Table ) ColumnNamesWithParamsList CreateParameter*
    Referenced by:

    ColumnDefinition

    RelObjectName ColDataType CreateParameter

    CreateSchema

    SCHEMA IF NOT EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER AUTHORIZATION S_IDENTIFIER S_QUOTED_IDENTIFIER PathSpecification CREATE CreateTable CreateView
             ::= 'SCHEMA' ( 'IF' 'NOT' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER )? ( 'AUTHORIZATION' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? PathSpecification? ( 'CREATE' CreateTable | CreateView )*
    Referenced by:

    PathSpecification

    PATH S_IDENTIFIER S_QUOTED_IDENTIFIER ,
             ::= 'PATH' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( ',' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )*
    Referenced by:

    CreateTable

    UNLOGGED GLOBAL CreateParameter TABLE IF NOT EXISTS Table ( ColumnDefinition , INDEX UNIQUE FULLTEXT KEY RelObjectName ColumnNamesWithParamsList CreateParameter CONSTRAINT RelObjectName PRIMARY KEY UNIQUE KEY ColumnNamesWithParamsList CreateParameter FOREIGN KEY ColumnNamesWithParamsList REFERENCES Table ColumnsNamesList ON DELETE UPDATE Action ON DELETE UPDATE Action CHECK ( Expression ) EXCLUDE WHERE ( Expression ) ColumnDefinition RelObjectName , ) CreateParameter RowMovement AS Select LIKE ( Table ) Table , SpannerInterleaveIn
             ::= 'UNLOGGED'? 'GLOBAL'? CreateParameter* 'TABLE' ( 'IF' 'NOT' 'EXISTS' )? Table ( '(' ( RelObjectName ( ',' RelObjectName )* | ColumnDefinition ( ',' ( ( 'INDEX' | 'UNIQUE'? 'FULLTEXT'? 'KEY' ) RelObjectName ColumnNamesWithParamsList CreateParameter* | ( 'CONSTRAINT' RelObjectName )? ( ( 'PRIMARY' 'KEY' | 'UNIQUE' 'KEY'? ) ColumnNamesWithParamsList CreateParameter* | 'FOREIGN' 'KEY' ColumnNamesWithParamsList 'REFERENCES' Table ColumnsNamesList ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? | 'CHECK' ( '(' Expression ')' )* ) | 'EXCLUDE' 'WHERE' ( '(' Expression ')' )* | ColumnDefinition ) )* ) ')' )? CreateParameter* RowMovement? ( 'AS' Select )? ( 'LIKE' ( '(' Table ')' | Table ) )? ( ',' SpannerInterleaveIn )?
    Referenced by:

    SpannerInterleaveIn

    INTERLEAVE IN PARENT Table ON DELETE NO ACTION CASCADE
             ::= 'INTERLEAVE' 'IN' 'PARENT' Table ( 'ON' 'DELETE' ( 'NO' 'ACTION' | 'CASCADE' ) )?
    Referenced by:

    DataType

    K_DATETIMELITERAL DT_ZONE DATA_TYPE SIGNED UNSIGNED CHARACTER BIT BYTES BINARY CHAR JSON STRING DATA_TYPE SIGNED UNSIGNED CHARACTER BIT BYTES BINARY CHAR JSON STRING ( S_LONG MAX , S_LONG ) K_TEXT_LITERAL ARRAY < ColDataType >
               | 'ARRAY' '<' ColDataType '>'
               | ( K_DATETIMELITERAL | DT_ZONE | DATA_TYPE | 'SIGNED' | 'UNSIGNED' | 'CHARACTER' | 'BIT' | 'BYTES' | 'BINARY' | 'CHAR' | 'JSON' | 'STRING' ) ( DATA_TYPE | 'SIGNED' | 'UNSIGNED' | 'CHARACTER' | 'BIT' | 'BYTES' | 'BINARY' | 'CHAR' | 'JSON' | 'STRING' )* ( '(' ( S_LONG | 'MAX' ) ( ',' S_LONG )? ')' )?
    Referenced by:

    ColDataType

    DataType S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATETIMELITERAL K_DATE_LITERAL XML INTERVAL DT_ZONE CHAR SET BINARY JSON STRING PUBLIC DATA NAME . ColDataType ( S_LONG MAX BYTE CHAR S_CHAR_LITERAL S_IDENTIFIER CHAR , ) [ S_LONG ] CHARACTER SET S_IDENTIFIER BINARY
             ::= ( DataType | ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | K_DATETIMELITERAL | K_DATE_LITERAL | 'XML' | 'INTERVAL' | DT_ZONE | 'CHAR' | 'SET' | 'BINARY' | 'JSON' | 'STRING' | 'PUBLIC' | 'DATA' | 'NAME' ) ( '.' ColDataType )? ) ( '(' ( ( ( S_LONG | 'MAX' ) ( 'BYTE' | 'CHAR' )? | S_CHAR_LITERAL | S_IDENTIFIER | 'CHAR' ) ','? )* ')' )? ( '[' S_LONG? ']' )* ( 'CHARACTER' 'SET' ( S_IDENTIFIER | 'BINARY' ) )?

    Analyze

    ANALYZE Table
    Analyze  ::= 'ANALYZE' Table
    Referenced by:

    ColumnWithCommentList

    ( Column , )
             ::= '(' Column ( ',' Column )* ')'
    Referenced by:

    CreateView

    NO FORCE SECURE TEMP TEMPORARY VOLATILE MATERIALIZED VIEW Table AUTO REFRESH YES NO IF NOT EXISTS ColumnWithCommentList CreateViewTailComment AS Select WITH READ ONLY
             ::= ( 'NO'? 'FORCE' )? 'SECURE'? ( 'TEMP' | 'TEMPORARY' | 'VOLATILE' )? 'MATERIALIZED'? 'VIEW' Table ( 'AUTO' 'REFRESH' ( 'YES' | 'NO' ) )? ( 'IF' 'NOT' 'EXISTS' )? ColumnWithCommentList? CreateViewTailComment? 'AS' Select ( 'WITH' 'READ' 'ONLY' )?
    Referenced by:

    CreateViewTailComment

    COMMENT = S_CHAR_LITERAL
             ::= 'COMMENT' '='? S_CHAR_LITERAL
    Referenced by:

    Action

    CASCADE RESTRICT NO ACTION SET NULL DEFAULT
    Action   ::= 'CASCADE'
               | 'RESTRICT'
               | 'NO' 'ACTION'
               | 'SET' ( 'NULL' | 'DEFAULT' )

    AlterView

    VIEW Table ColumnsNamesList AS Select
             ::= 'VIEW' Table ColumnsNamesList? 'AS' Select
    Referenced by:

    CreateParameter

    K_NEXTVAL ( S_CHAR_LITERAL :: ColDataType ) S_IDENTIFIER S_QUOTED_IDENTIFIER NAME . S_IDENTIFIER S_QUOTED_IDENTIFIER NAME USING INDEX TABLESPACE RelObjectName S_CHAR_LITERAL NULL NOT AUTO_INCREMENT PRIMARY FOREIGN REFERENCES KEY STORED ON COMMIT DROP ROWS UNIQUE CASCADE DELETE UPDATE CONSTRAINT WITH EXCLUDE WHERE TEMP TEMPORARY PARTITION BY IN TYPE COMMENT USING COLLATE ASC DESC TRUE FALSE PARALLEL BINARY START K_TIME_KEY_EXPR RAW HASH FIRST LAST SIGNED UNSIGNED ENGINE = DEFAULT AS CHECK ( Expression ) + - S_LONG S_DOUBLE AList CHARACTER SET ARRAY ArrayConstructor :: ColDataType
             ::= K_NEXTVAL '(' S_CHAR_LITERAL '::' ColDataType ')'
               | ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | 'NAME' ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | 'NAME' ) )?
               | ( 'USING' 'INDEX' )? 'TABLESPACE' RelObjectName
               | S_CHAR_LITERAL
               | 'NULL'
               | 'NOT'
               | 'AUTO_INCREMENT'
               | 'PRIMARY'
               | 'FOREIGN'
               | 'REFERENCES'
               | 'KEY'
               | 'STORED'
               | 'ON'
               | 'COMMIT'
               | 'DROP'
               | 'ROWS'
               | 'UNIQUE'
               | 'CASCADE'
               | 'DELETE'
               | 'UPDATE'
               | 'CONSTRAINT'
               | 'WITH'
               | 'EXCLUDE'
               | 'WHERE'
               | 'TEMP'
               | 'TEMPORARY'
               | 'PARTITION'
               | 'BY'
               | 'IN'
               | 'TYPE'
               | 'COMMENT'
               | 'USING'
               | 'COLLATE'
               | 'ASC'
               | 'DESC'
               | 'TRUE'
               | 'FALSE'
               | 'PARALLEL'
               | 'BINARY'
               | 'START'
               | K_TIME_KEY_EXPR
               | 'RAW'
               | 'HASH'
               | 'FIRST'
               | 'LAST'
               | 'SIGNED'
               | 'UNSIGNED'
               | 'ENGINE'
               | '='
               | ( 'DEFAULT' | 'AS' | 'CHECK' ) ( '(' Expression ')' )?
               | ( '+' | '-' )? S_LONG
               | S_DOUBLE
               | AList
               | 'CHARACTER' 'SET'
               | 'ARRAY' ArrayConstructor
               | '::' ColDataType

    RowMovement

    ENABLE DISABLE ROW MOVEMENT
             ::= ( 'ENABLE' | 'DISABLE' ) 'ROW' 'MOVEMENT'
    Referenced by:

    AList

    ( S_LONG S_DOUBLE S_CHAR_LITERAL TRUE FALSE RelObjectNameWithoutValue , = )
    AList    ::= '(' ( ( S_LONG | S_DOUBLE | S_CHAR_LITERAL | 'TRUE' | 'FALSE' | RelObjectNameWithoutValue ) ( ',' | '=' )? )* ')'
    Referenced by:

    ColumnsNamesListItem

    RelObjectName ( S_LONG )
             ::= RelObjectName ( '(' S_LONG ')' )?

    ColumnsNamesList

    ( ColumnsNamesListItem , )
             ::= '(' ColumnsNamesListItem ( ',' ColumnsNamesListItem )* ')'

    FuncArgsListItem

    RelObjectName RelObjectName ( S_LONG )
             ::= RelObjectName RelObjectName? ( '(' S_LONG ')' )?
    Referenced by:

    FuncArgsList

    ( FuncArgsListItem , )
             ::= '(' ( FuncArgsListItem ( ',' FuncArgsListItem )* )? ')'
    Referenced by:

    Drop

    DROP MATERIALIZED S_IDENTIFIER TEMPORARY TABLE INDEX VIEW SCHEMA SEQUENCE FUNCTION IF EXISTS Table FuncArgsList S_IDENTIFIER CASCADE RESTRICT ON
    Drop     ::= 'DROP' 'MATERIALIZED'? ( S_IDENTIFIER | 'TEMPORARY'? 'TABLE' | 'INDEX' | 'VIEW' | 'SCHEMA' | 'SEQUENCE' | 'FUNCTION' ) ( 'IF' 'EXISTS' )? Table FuncArgsList? ( S_IDENTIFIER | 'CASCADE' | 'RESTRICT' | 'ON' )*
    Referenced by:

    Truncate

    TRUNCATE TABLE ONLY Table , CASCADE
    Truncate ::= 'TRUNCATE' 'TABLE'? 'ONLY'? Table ( ',' Table )* 'CASCADE'?
    Referenced by:

    AlterExpressionColumnDataType

    RelObjectName TYPE ColDataType CreateParameter
             ::= RelObjectName 'TYPE'? ColDataType? CreateParameter*
    Referenced by:

    AlterExpressionColumnDropNotNull

    RelObjectName DROP NOT NULL
             ::= RelObjectName 'DROP' 'NOT'? 'NULL'
    Referenced by:

    AlterExpressionColumnDropDefault

    RelObjectName DROP DEFAULT
             ::= RelObjectName 'DROP' 'DEFAULT'
    Referenced by:

    AlterExpressionConstraintState

    NOT DEFERRABLE VALIDATE NOVALIDATE ENABLE DISABLE
             ::= ( 'NOT'? 'DEFERRABLE' | 'VALIDATE' | 'NOVALIDATE' | 'ENABLE' | 'DISABLE' )*
    Referenced by:

    IndexWithComment

    COMMENT S_CHAR_LITERAL
             ::= 'COMMENT' S_CHAR_LITERAL
    Referenced by:

    PartitionDefinitions

    ( PARTITION RelObjectName VALUES LESS THAN ( S_CHAR_LITERAL S_LONG , ) MAXVALUE ENGINE = S_IDENTIFIER , )
             ::= '(' ( 'PARTITION' RelObjectName 'VALUES' 'LESS' 'THAN' ( '(' ( S_CHAR_LITERAL | S_LONG ','? )* ')' | 'MAXVALUE' ) ( 'ENGINE' '=' S_IDENTIFIER )? ','? )* ')'
    Referenced by:

    PartitionNamesList

    S_IDENTIFIER ,
             ::= S_IDENTIFIER ( ',' S_IDENTIFIER )*
    Referenced by:

    AlterExpression

    ADD ALTER MODIFY PRIMARY KEY ColumnsNamesList AlterExpressionConstraintState USING RelObjectName KEY INDEX RelObjectName ColumnsNamesList AlterExpressionConstraintState UNIQUE KEY INDEX S_IDENTIFIER S_QUOTED_IDENTIFIER ColumnsNamesList USING RelObjectName IndexWithComment RelObjectName COMMENT S_CHAR_LITERAL PARTITION PartitionDefinitions COLUMN COLUMNS IF NOT EXISTS ( AlterExpressionColumnDataType , ) AlterExpressionColumnDataType AlterExpressionColumnDropNotNull AlterExpressionColumnDropDefault ( AlterExpressionColumnDataType , ) FOREIGN KEY ColumnsNamesList REFERENCES Table ColumnsNamesList ON DELETE UPDATE Action ON DELETE UPDATE Action CONSTRAINT RelObjectName FOREIGN KEY ColumnsNamesList REFERENCES Table ColumnsNamesList ON DELETE UPDATE Action ON DELETE UPDATE Action KEY ColumnsNamesList AlterExpressionConstraintState PRIMARY KEY UNIQUE KEY INDEX ColumnsNamesList AlterExpressionConstraintState USING RelObjectName IndexWithComment CHECK ( Expression ) CHANGE COLUMN S_IDENTIFIER S_QUOTED_IDENTIFIER AlterExpressionColumnDataType DROP PARTITION PartitionNamesList ColumnsNamesList COLUMN IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER NAME INVALIDATE CASCADE CONSTRAINTS INDEX KEY S_IDENTIFIER S_QUOTED_IDENTIFIER UNIQUE FOREIGN KEY ColumnsNamesList PRIMARY KEY CONSTRAINT IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER CASCADE RESTRICT FORCE ALGORITHM LOCK ENGINE = RelObjectName RENAME COLUMN INDEX KEY CONSTRAINT S_IDENTIFIER S_QUOTED_IDENTIFIER TO S_IDENTIFIER S_QUOTED_IDENTIFIER CONVERT TO CHARACTER SET S_IDENTIFIER COLLATE DEFAULT CHARACTER SET = S_IDENTIFIER COLLATE = S_IDENTIFIER COMMENT ENCRYPTION = S_CHAR_LITERAL AUTO_INCREMENT = S_LONG TRUNCATE PARTITION PartitionNamesList captureRest
             ::= ( 'ADD' | 'ALTER' | 'MODIFY' ) ( 'PRIMARY' 'KEY' ColumnsNamesList AlterExpressionConstraintState ( 'USING' RelObjectName )? | ( ( 'KEY' | 'INDEX' ) RelObjectName ColumnsNamesList AlterExpressionConstraintState | 'UNIQUE' ( ( 'KEY' | 'INDEX' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? ColumnsNamesList ) ( 'USING' RelObjectName )? IndexWithComment? | RelObjectName 'COMMENT' S_CHAR_LITERAL | 'PARTITION' PartitionDefinitions | ( 'COLUMN' | 'COLUMNS' )? ( 'IF' 'NOT' 'EXISTS' )? ( '(' AlterExpressionColumnDataType ( ',' AlterExpressionColumnDataType )* ')' | AlterExpressionColumnDataType | AlterExpressionColumnDropNotNull | AlterExpressionColumnDropDefault ) | '(' AlterExpressionColumnDataType ( ',' AlterExpressionColumnDataType )* ')' | 'FOREIGN' 'KEY' ColumnsNamesList 'REFERENCES' Table ColumnsNamesList? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? | 'CONSTRAINT' RelObjectName ( ( 'FOREIGN' 'KEY' ColumnsNamesList 'REFERENCES' Table ColumnsNamesList? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? ( 'ON' ( 'DELETE' | 'UPDATE' ) Action )? | 'KEY' ColumnsNamesList ) AlterExpressionConstraintState | ( 'PRIMARY' 'KEY' | 'UNIQUE' ( 'KEY' | 'INDEX' )? ) ColumnsNamesList AlterExpressionConstraintState ( 'USING' RelObjectName )? IndexWithComment? | 'CHECK' ( '(' Expression ')' )* ) )
               | 'CHANGE' 'COLUMN'? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) AlterExpressionColumnDataType
               | 'DROP' ( 'PARTITION' PartitionNamesList | ( ColumnsNamesList | 'COLUMN'? ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | 'NAME' ) ) 'INVALIDATE'? ( 'CASCADE' 'CONSTRAINTS'? )? | ( 'INDEX' | 'KEY' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) | ( ( 'UNIQUE' | 'FOREIGN' 'KEY' ) ColumnsNamesList | 'PRIMARY' 'KEY' | 'CONSTRAINT' ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) ( 'CASCADE' | 'RESTRICT' )? )
               | 'FORCE'
               | ( 'ALGORITHM' | 'LOCK' | 'ENGINE' ) '='? RelObjectName
               | 'RENAME' ( ( 'COLUMN' | 'INDEX' | 'KEY' | 'CONSTRAINT' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? 'TO' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER )
               | ( 'CONVERT' 'TO' 'CHARACTER' 'SET' ( S_IDENTIFIER 'COLLATE' )? | 'DEFAULT'? 'CHARACTER' 'SET' '='? ( S_IDENTIFIER 'COLLATE' '='? )? ) S_IDENTIFIER
               | ( 'COMMENT' | 'ENCRYPTION' ) '='? S_CHAR_LITERAL
               | 'AUTO_INCREMENT' '='? S_LONG
               | 'TRUNCATE' 'PARTITION' PartitionNamesList
               | captureRest
    Referenced by:

    Alter

    ALTER AlterTable AlterSession AlterView AlterSystemStatement AlterSequence captureRest REPLACE AlterView captureRest
               | 'REPLACE' ( AlterView | captureRest )
    Referenced by:

    AlterTable

    TABLE ONLY IF EXISTS Table AlterExpression ,
             ::= 'TABLE' 'ONLY'? ( 'IF' 'EXISTS' )? Table AlterExpression ( ',' AlterExpression )*
    Referenced by:

    AlterSession

    SESSION ADVISE COMMIT ROLLBACK NOTHING CLOSE DATABASE LINK ENABLE DISABLE COMMIT IN PROCEDURE GUARD PARALLEL DML DDL QUERY RESUMABLE FORCE PARALLEL DML DDL QUERY SET S_CHAR_LITERAL S_IDENTIFIER = S_LONG PARALLEL
             ::= 'SESSION' ( 'ADVISE' ( 'COMMIT' | 'ROLLBACK' | 'NOTHING' ) | 'CLOSE' 'DATABASE' 'LINK' | ( 'ENABLE' | 'DISABLE' ) ( 'COMMIT' 'IN' 'PROCEDURE' | 'GUARD' | 'PARALLEL' ( 'DML' | 'DDL' | 'QUERY' ) | 'RESUMABLE' ) | 'FORCE' 'PARALLEL' ( 'DML' | 'DDL' | 'QUERY' ) | 'SET' ) ( S_CHAR_LITERAL | S_IDENTIFIER | '=' | S_LONG | 'PARALLEL' )*
    Referenced by:

    AlterSystemStatement

    SYSTEM ARCHIVE LOG CHECKPOINT DUMP ACTIVE SESSION HISTORY ENABLE DISABLE DISTRIBUTED RECOVERY RESTRICTED SESSION FLUSH DISCONNECT SESSION KILL SESSION SWITCH SUSPEND RESUME QUIESCE RESTRICTED UNQIESCE SHUTDOWN REGISTER SET RESET captureRest
             ::= 'SYSTEM' ( 'ARCHIVE' 'LOG' | 'CHECKPOINT' | 'DUMP' 'ACTIVE' 'SESSION' 'HISTORY' | ( 'ENABLE' | 'DISABLE' ) ( 'DISTRIBUTED RECOVERY' | 'RESTRICTED SESSION' ) | 'FLUSH' | 'DISCONNECT' 'SESSION' | 'KILL SESSION' | 'SWITCH' | 'SUSPEND' | 'RESUME' | 'QUIESCE' 'RESTRICTED' | 'UNQIESCE' | 'SHUTDOWN' | 'REGISTER' | 'SET' | 'RESET' ) captureRest
    Referenced by:

    Wait

    WAIT S_LONG
    Wait     ::= 'WAIT' S_LONG
    Referenced by:

    SavepointStatement

    SAVEPOINT S_IDENTIFIER
             ::= 'SAVEPOINT' S_IDENTIFIER
    Referenced by:

    RollbackStatement

    ROLLBACK WORK TO SAVEPOINT S_IDENTIFIER FORCE S_CHAR_LITERAL
             ::= 'ROLLBACK' 'WORK'? ( 'TO' 'SAVEPOINT'? S_IDENTIFIER | 'FORCE' S_CHAR_LITERAL )?
    Referenced by:

    Comment

    COMMENT ON TABLE VIEW Table COLUMN Column IS S_CHAR_LITERAL
    Comment  ::= 'COMMENT' 'ON' ( ( 'TABLE' | 'VIEW' ) Table | 'COLUMN' Column ) 'IS' S_CHAR_LITERAL
    Referenced by:

    Grant

    GRANT readGrantTypes , ON RelObjectNames S_IDENTIFIER TO UsersList
    Grant    ::= 'GRANT' ( ( readGrantTypes ( ',' readGrantTypes )* )? 'ON' RelObjectNames | S_IDENTIFIER ) 'TO' UsersList
    Referenced by:

    UsersList

    RelObjectName , ColumnsNamesListItem
             ::= RelObjectName ( ',' ColumnsNamesListItem )*
    Referenced by:

    readGrantTypes

    K_SELECT INSERT UPDATE DELETE EXECUTE ALTER DROP
             ::= K_SELECT
               | 'INSERT'
               | 'UPDATE'
               | 'DELETE'
               | 'EXECUTE'
               | 'ALTER'
               | 'DROP'
    Referenced by:

    Sequence

    RelObjectNames

    SequenceParameters

    INCREMENT BY START WITH MAXVALUE MINVALUE CACHE S_LONG RESTART WITH S_LONG NOMAXVALUE NOMINVALUE NOCYCLE CYCLE NOCACHE ORDER NOORDER KEEP NOKEEP SESSION GLOBAL
             ::= ( ( 'INCREMENT' 'BY' | 'START' 'WITH' | 'MAXVALUE' | 'MINVALUE' | 'CACHE' ) S_LONG | 'RESTART' ( 'WITH' S_LONG )? | 'NOMAXVALUE' | 'NOMINVALUE' | 'NOCYCLE' | 'CYCLE' | 'NOCACHE' | 'ORDER' | 'NOORDER' | 'KEEP' | 'NOKEEP' | 'SESSION' | 'GLOBAL' )*

    CreateSequence

    SEQUENCE Sequence SequenceParameters
             ::= 'SEQUENCE' Sequence SequenceParameters
    Referenced by:

    AlterSequence

    SEQUENCE Sequence SequenceParameters
             ::= 'SEQUENCE' Sequence SequenceParameters
    Referenced by:

    Create

    CREATE OR REPLACE CreateFunctionStatement CreateSchema CreateSequence CreateSynonym CreateTable CreateView TRIGGER DOMAIN captureRest CreateIndex
    Create   ::= 'CREATE' ( 'OR' 'REPLACE' )? ( CreateFunctionStatement | CreateSchema | CreateSequence | CreateSynonym | CreateTable | CreateView | ( 'TRIGGER' | 'DOMAIN' )? captureRest | CreateIndex )
    Referenced by:

    CreateFunctionStatement

    FUNCTION PROCEDURE captureFunctionBody
             ::= ( 'FUNCTION' | 'PROCEDURE' ) captureFunctionBody
    Referenced by:

    CreateSynonym

    PUBLIC SYNONYM Synonym FOR RelObjectNames
             ::= 'PUBLIC'? 'SYNONYM' Synonym 'FOR' RelObjectNames
    Referenced by:

    Synonym

    RelObjectNames
    Referenced by:

    UnsupportedStatement

    captureUnsupportedStatementDeclaration
    Referenced by:

    IdentifierChain

    RelObjectNameExt2 .
             ::= RelObjectNameExt2 ( '.' RelObjectNameExt2 )*

    CharacterPrimary

    TranscodingFunction TrimFunction
             ::= TranscodingFunction
               | TrimFunction
    Referenced by:

    TranscodingFunction

    CONVERT ( ColDataType , Expression , S_LONG Expression USING IdentifierChain )
             ::= 'CONVERT' '(' ( ColDataType ',' Expression ( ',' S_LONG )? | Expression 'USING' IdentifierChain ) ')'
    Referenced by:

    TrimFunction

    TRIM ( LEADING TRAILING BOTH Expression , FROM Expression )
             ::= 'TRIM' '(' ( 'LEADING' | 'TRAILING' | 'BOTH' )? Expression? ( ( ',' | 'FROM' ) Expression )? ')'
    Referenced by:

    WHITESPACE

    [#x9] [#xD] [#xA]
             ::= [ #x9#xD#xA]

    K_DATETIMELITERAL

    DATE DATETIME TIME TIMESTAMP TIMESTAMPTZ
             ::= 'DATE'
               | 'DATETIME'
               | 'TIME'
               | 'TIMESTAMP'
               | 'TIMESTAMPTZ'

    K_DATE_LITERAL

    YEAR MONTH DAY HOUR MINUTE SECOND
             ::= 'YEAR'
               | 'MONTH'
               | 'DAY'
               | 'HOUR'
               | 'MINUTE'
               | 'SECOND'

    K_ISOLATION

    UR RS RR CS
             ::= 'UR'
               | 'RS'
               | 'RR'
               | 'CS'

    K_NEXTVAL

    NEXTVAL FOR NEXT VALUE FOR
             ::= 'NEXTVAL' ( ' '+ 'FOR' )?
               | 'NEXT' ' '+ 'VALUE' ' '+ 'FOR'

    K_SELECT

    SELECT SEL
    K_SELECT ::= 'SELECT'
               | 'SEL'

    K_TEXT_LITERAL

    TEXT TINYTEXT MEDIUMTEXT LONGTEXT
             ::= 'TEXT'
               | 'TINYTEXT'
               | 'MEDIUMTEXT'
               | 'LONGTEXT'

    K_TIME_KEY_EXPR

    CURRENT _ TIMESTAMP TIME DATE TIMEZONE ()
             ::= 'CURRENT' ( '_' | ' '+ ) ( 'TIMESTAMP' | 'TIME' | 'DATE' | 'TIMEZONE' ) '()'?

    K_STRING_FUNCTION_NAME

    SUBSTR SUBSTRING TRIM POSITION OVERLAY
             ::= 'SUBSTR'
               | 'SUBSTRING'
               | 'TRIM'
               | 'POSITION'
               | 'OVERLAY'

    K_SIMILAR_TO

    SIMILAR TO
             ::= 'SIMILAR' ' '+ 'TO'
    Referenced by:

    ST_SEMICOLON

    ; [#xA] / [#xA] go [#xA]
             ::= ';'
               | #xA ( [/#xA] | 'go' ) #xA
    Referenced by:

    OP_GREATERTHANEQUALS

    > WHITESPACE =
             ::= '>' WHITESPACE* '='
    Referenced by:

    OP_MINORTHANEQUALS

    < WHITESPACE =
             ::= '<' WHITESPACE* '='
    Referenced by:

    OP_NOTEQUALSSTANDARD

    < WHITESPACE >
             ::= '<' WHITESPACE* '>'
    Referenced by:

    OP_NOTEQUALSBANG

    ! WHITESPACE =
             ::= '!' WHITESPACE* '='
    Referenced by:

    OP_NOTEQUALSHAT

    ^ WHITESPACE =
             ::= '^' WHITESPACE* '='
    Referenced by:

    OP_CONCAT

    | WHITESPACE |
             ::= '|' WHITESPACE* '|'

    DT_ZONE

    K_DATETIMELITERAL WHITESPACE ( S_LONG ) WHITESPACE WITH WITHOUT WHITESPACE LOCAL WHITESPACE TIME WHITESPACE ZONE
    DT_ZONE  ::= K_DATETIMELITERAL WHITESPACE* ( '(' S_LONG ')' )? WHITESPACE* ( 'WITH' | 'WITHOUT' ) WHITESPACE+ ( 'LOCAL' WHITESPACE+ )? 'TIME' WHITESPACE+ 'ZONE'

    DATA_TYPE

    BISTRING TYPE_BLOB TYPE_BOOLEAN ENUM TYPE_REAL TYPE_DOUBLE UUID MAP TYPE_TINYINT TYPE_SMALLINT TYPE_INTEGER TYPE_BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT UHUGEINT TYPE_DECIMAL TYPE_VARCHAR TIMETZ TYPE_TIMESTAMP
             ::= 'BISTRING'
               | TYPE_BLOB
               | TYPE_BOOLEAN
               | 'ENUM'
               | TYPE_REAL
               | TYPE_DOUBLE
               | 'UUID'
               | 'MAP'
               | TYPE_TINYINT
               | TYPE_SMALLINT
               | TYPE_INTEGER
               | TYPE_BIGINT
               | 'HUGEINT'
               | 'UTINYINT'
               | 'USMALLINT'
               | 'UINTEGER'
               | 'UBIGINT'
               | 'UHUGEINT'
               | TYPE_DECIMAL
               | TYPE_VARCHAR
               | 'TIMETZ'
               | TYPE_TIMESTAMP

    TYPE_BLOB

    BLOB BYTEA BINARY VARBINARY BYTES
             ::= 'BLOB'
               | 'BYTEA'
               | 'BINARY'
               | 'VARBINARY'
               | 'BYTES'
    Referenced by:

    TYPE_BOOLEAN

    BOOLEAN BOOL
             ::= 'BOOLEAN'
               | 'BOOL'
    Referenced by:

    TYPE_DECIMAL

    DECIMAL NUMBER NUMERIC
             ::= 'DECIMAL'
               | 'NUMBER'
               | 'NUMERIC'
    Referenced by:

    TYPE_TINYINT

    TINYINT INT1
             ::= 'TINYINT'
               | 'INT1'
    Referenced by:

    TYPE_SMALLINT

    SMALLINT INT2 SHORT
             ::= 'SMALLINT'
               | 'INT2'
               | 'SHORT'
    Referenced by:

    TYPE_INTEGER

    INTEGER INT INT4 SIGNED UNSIGNED
             ::= 'INTEGER'
               | 'INT'
               | 'INT4'
               | 'SIGNED'
               | 'UNSIGNED'
    Referenced by:

    TYPE_BIGINT

    BIGINT INT8 LONG
             ::= 'BIGINT'
               | 'INT8'
               | 'LONG'
    Referenced by:

    TYPE_REAL

    REAL FLOAT4 FLOAT
             ::= 'REAL'
               | 'FLOAT4'
               | 'FLOAT'
    Referenced by:

    TYPE_DOUBLE

    DOUBLE PRECISION FLOAT8 FLOAT64
             ::= 'DOUBLE'
               | 'PRECISION'
               | 'FLOAT8'
               | 'FLOAT64'
    Referenced by:

    TYPE_VARCHAR

    NVARCHAR VARCHAR NCHAR CHAR BPCHAR TEXT STRING CHARACTER VARYING
             ::= 'NVARCHAR'
               | 'VARCHAR'
               | 'NCHAR'
               | 'CHAR'
               | 'BPCHAR'
               | 'TEXT'
               | 'STRING'
               | 'CHARACTER'
               | 'VARYING'
    Referenced by:

    TYPE_TIMESTAMP

    TIMESTAMP_NS TIMESTAMP_MS TIMESTAMP_S
             ::= 'TIMESTAMP_NS'
               | 'TIMESTAMP_MS'
               | 'TIMESTAMP_S'
    Referenced by:

    S_DOUBLE

    S_LONG . S_LONG e E + [#x2D] S_LONG S_LONG . e E + [#x2D] S_LONG e E + [#x2D] S_LONG
    S_DOUBLE ::= S_LONG? '.' S_LONG ( [eE] [+#x2D]? S_LONG )?
               | S_LONG ( '.' ( [eE] [+#x2D]? S_LONG )? | [eE] [+#x2D]? S_LONG )

    S_LONG

    DIGIT
    S_LONG   ::= DIGIT+

    DIGIT

    [0-9]
    DIGIT    ::= [0-9]
    Referenced by:

    S_HEX

    X ' HEX_VALUE ' 0x HEX_VALUE
    S_HEX    ::= 'X' ( "'" HEX_VALUE* "'" ' '* )+
               | '0x' HEX_VALUE+

    HEX_VALUE

    [0-9] [A-F]
             ::= [0-9A-F ]
    Referenced by:

    LINE_COMMENT

    -- // [^#xD#xA]
             ::= ( '--' | '//' ) [^#xD#xA]*
    Not referenced by any.

    MULTI_LINE_COMMENT

    /* [^*] * [^*] [^*/] /
             ::= '/*' [^*]* '*' ( ( [^*/] [^*]* )? '*' )* '/'
    Not referenced by any.

    S_PARAMETER

    $ [0-9]
             ::= '$' [0-9]+
    Referenced by:

    S_IDENTIFIER

    LETTER PART_LETTER
             ::= LETTER PART_LETTER*

    LETTER

    UnicodeIdentifierStart Nd $ _ [#x23]
               | Nd
               | [$_#x23]
    Referenced by:

    PART_LETTER

    UnicodeIdentifierStart UnicodeIdentifierExtend $ _ @ [#x23]
             ::= UnicodeIdentifierStart
               | UnicodeIdentifierExtend
               | [$_@#x23]
    Referenced by:

    UnicodeIdentifierStart

    [#xB7] Ll Lm Lo Lt Lu Nl CJK
             ::= #xB7
               | Ll
               | Lm
               | Lo
               | Lt
               | Lu
               | Nl
               | CJK
    Referenced by:

    Ll

    [a-z] [#xB5] [#xDF-#xF6] [#xF8-#xFF] [#x101] [#x103] [#x105] [#x107] [#x109] [#x10B] [#x10D] [#x10F] [#x111] [#x113] [#x115] [#x117] [#x119] [#x11B] [#x11D] [#x11F] [#x121] [#x123] [#x125] [#x127] [#x129] [#x12B] [#x12D] [#x12F] [#x131] [#x133] [#x135] [#x137-#x138] [#x13A] [#x13C] [#x13E] [#x140] [#x142] [#x144] [#x146] [#x148-#x149] [#x14B] [#x14D] [#x14F] [#x151] [#x153] [#x155] [#x157] [#x159] [#x15B] [#x15D] [#x15F] [#x161] [#x163] [#x165] [#x167] [#x169] [#x16B] [#x16D] [#x16F] [#x171] [#x173] [#x175] [#x177] [#x17A] [#x17C] [#x17E-#x180] [#x183] [#x185] [#x188] [#x18C-#x18D] [#x192] [#x195] [#x199-#x19B] [#x19E] [#x1A1] [#x1A3] [#x1A5] [#x1A8] [#x1AA-#x1AB] [#x1AD] [#x1B0] [#x1B4] [#x1B6] [#x1B9-#x1BA] [#x1BD-#x1BF] [#x1C6] [#x1C9] [#x1CC] [#x1CE] [#x1D0] [#x1D2] [#x1D4] [#x1D6] [#x1D8] [#x1DA] [#x1DC-#x1DD] [#x1DF] [#x1E1] [#x1E3] [#x1E5] [#x1E7] [#x1E9] [#x1EB] [#x1ED] [#x1EF-#x1F0] [#x1F3] [#x1F5] [#x1F9] [#x1FB] [#x1FD] [#x1FF] [#x201] [#x203] [#x205] [#x207] [#x209] [#x20B] [#x20D] [#x20F] [#x211] [#x213] [#x215] [#x217] [#x219] [#x21B] [#x21D] [#x21F] [#x221] [#x223] [#x225] [#x227] [#x229] [#x22B] [#x22D] [#x22F] [#x231] [#x233-#x239] [#x23C] [#x23F-#x240] [#x242] [#x247] [#x249] [#x24B] [#x24D] [#x24F-#x293] [#x295-#x2AF] [#x371] [#x373] [#x377] [#x37B-#x37D] [#x390] [#x3AC-#x3CE] [#x3D0-#x3D1] [#x3D5-#x3D7] [#x3D9] [#x3DB] [#x3DD] [#x3DF] [#x3E1] [#x3E3] [#x3E5] [#x3E7] [#x3E9] [#x3EB] [#x3ED] [#x3EF-#x3F3] [#x3F5] [#x3F8] [#x3FB-#x3FC] [#x430-#x45F] [#x461] [#x463] [#x465] [#x467] [#x469] [#x46B] [#x46D] [#x46F] [#x471] [#x473] [#x475] [#x477] [#x479] [#x47B] [#x47D] [#x47F] [#x481] [#x48B] [#x48D] [#x48F] [#x491] [#x493] [#x495] [#x497] [#x499] [#x49B] [#x49D] [#x49F] [#x4A1] [#x4A3] [#x4A5] [#x4A7] [#x4A9] [#x4AB] [#x4AD] [#x4AF] [#x4B1] [#x4B3] [#x4B5] [#x4B7] [#x4B9] [#x4BB] [#x4BD] [#x4BF] [#x4C2] [#x4C4] [#x4C6] [#x4C8] [#x4CA] [#x4CC] [#x4CE-#x4CF] [#x4D1] [#x4D3] [#x4D5] [#x4D7] [#x4D9] [#x4DB] [#x4DD] [#x4DF] [#x4E1] [#x4E3] [#x4E5] [#x4E7] [#x4E9] [#x4EB] [#x4ED] [#x4EF] [#x4F1] [#x4F3] [#x4F5] [#x4F7] [#x4F9] [#x4FB] [#x4FD] [#x4FF] [#x501] [#x503] [#x505] [#x507] [#x509] [#x50B] [#x50D] [#x50F] [#x511] [#x513] [#x515] [#x517] [#x519] [#x51B] [#x51D] [#x51F] [#x521] [#x523] [#x525] [#x527] [#x529] [#x52B] [#x52D] [#x52F] [#x560-#x588] [#x10D0-#x10FA] [#x10FD-#x10FF] [#x13F8-#x13FD] [#x1C80-#x1C88] [#x1D00-#x1D2B] [#x1D6B-#x1D77] [#x1D79-#x1D9A] [#x1E01] [#x1E03] [#x1E05] [#x1E07] [#x1E09] [#x1E0B] [#x1E0D] [#x1E0F] [#x1E11] [#x1E13] [#x1E15] [#x1E17] [#x1E19] [#x1E1B] [#x1E1D] [#x1E1F] [#x1E21] [#x1E23] [#x1E25] [#x1E27] [#x1E29] [#x1E2B] [#x1E2D] [#x1E2F] [#x1E31] [#x1E33] [#x1E35] [#x1E37] [#x1E39] [#x1E3B] [#x1E3D] [#x1E3F] [#x1E41] [#x1E43] [#x1E45] [#x1E47] [#x1E49] [#x1E4B] [#x1E4D] [#x1E4F] [#x1E51] [#x1E53] [#x1E55] [#x1E57] [#x1E59] [#x1E5B] [#x1E5D] [#x1E5F] [#x1E61] [#x1E63] [#x1E65] [#x1E67] [#x1E69] [#x1E6B] [#x1E6D] [#x1E6F] [#x1E71] [#x1E73] [#x1E75] [#x1E77] [#x1E79] [#x1E7B] [#x1E7D] [#x1E7F] [#x1E81] [#x1E83] [#x1E85] [#x1E87] [#x1E89] [#x1E8B] [#x1E8D] [#x1E8F] [#x1E91] [#x1E93] [#x1E95-#x1E9D] [#x1E9F] [#x1EA1] [#x1EA3] [#x1EA5] [#x1EA7] [#x1EA9] [#x1EAB] [#x1EAD] [#x1EAF] [#x1EB1] [#x1EB3] [#x1EB5] [#x1EB7] [#x1EB9] [#x1EBB] [#x1EBD] [#x1EBF] [#x1EC1] [#x1EC3] [#x1EC5] [#x1EC7] [#x1EC9] [#x1ECB] [#x1ECD] [#x1ECF] [#x1ED1] [#x1ED3] [#x1ED5] [#x1ED7] [#x1ED9] [#x1EDB] [#x1EDD] [#x1EDF] [#x1EE1] [#x1EE3] [#x1EE5] [#x1EE7] [#x1EE9] [#x1EEB] [#x1EED] [#x1EEF] [#x1EF1] [#x1EF3] [#x1EF5] [#x1EF7] [#x1EF9] [#x1EFB] [#x1EFD] [#x1EFF-#x1F07] [#x1F10-#x1F15] [#x1F20-#x1F27] [#x1F30-#x1F37] [#x1F40-#x1F45] [#x1F50-#x1F57] [#x1F60-#x1F67] [#x1F70-#x1F7D] [#x1F80-#x1F87] [#x1F90-#x1F97] [#x1FA0-#x1FA7] [#x1FB0-#x1FB4] [#x1FB6-#x1FB7] [#x1FBE] [#x1FC2-#x1FC4] [#x1FC6-#x1FC7] [#x1FD0-#x1FD3] [#x1FD6-#x1FD7] [#x1FE0-#x1FE7] [#x1FF2-#x1FF4] [#x1FF6-#x1FF7] [#x210A] [#x210E-#x210F] [#x2113] [#x212F] [#x2134] [#x2139] [#x213C-#x213D] [#x2146-#x2149] [#x214E] [#x2184] [#x2C30-#x2C5F] [#x2C61] [#x2C65-#x2C66] [#x2C68] [#x2C6A] [#x2C6C] [#x2C71] [#x2C73-#x2C74] [#x2C76-#x2C7B] [#x2C81] [#x2C83] [#x2C85] [#x2C87] [#x2C89] [#x2C8B] [#x2C8D] [#x2C8F] [#x2C91] [#x2C93] [#x2C95] [#x2C97] [#x2C99] [#x2C9B] [#x2C9D] [#x2C9F] [#x2CA1] [#x2CA3] [#x2CA5] [#x2CA7] [#x2CA9] [#x2CAB] [#x2CAD] [#x2CAF] [#x2CB1] [#x2CB3] [#x2CB5] [#x2CB7] [#x2CB9] [#x2CBB] [#x2CBD] [#x2CBF] [#x2CC1] [#x2CC3] [#x2CC5] [#x2CC7] [#x2CC9] [#x2CCB] [#x2CCD] [#x2CCF] [#x2CD1] [#x2CD3] [#x2CD5] [#x2CD7] [#x2CD9] [#x2CDB] [#x2CDD] [#x2CDF] [#x2CE1] [#x2CE3-#x2CE4] [#x2CEC] [#x2CEE] [#x2CF3] [#x2D00-#x2D25] [#x2D27] [#x2D2D] [#xA641] [#xA643] [#xA645] [#xA647] [#xA649] [#xA64B] [#xA64D] [#xA64F] [#xA651] [#xA653] [#xA655] [#xA657] [#xA659] [#xA65B] [#xA65D] [#xA65F] [#xA661] [#xA663] [#xA665] [#xA667] [#xA669] [#xA66B] [#xA66D] [#xA681] [#xA683] [#xA685] [#xA687] [#xA689] [#xA68B] [#xA68D] [#xA68F] [#xA691] [#xA693] [#xA695] [#xA697] [#xA699] [#xA69B] [#xA723] [#xA725] [#xA727] [#xA729] [#xA72B] [#xA72D] [#xA72F-#xA731] [#xA733] [#xA735] [#xA737] [#xA739] [#xA73B] [#xA73D] [#xA73F] [#xA741] [#xA743] [#xA745] [#xA747] [#xA749] [#xA74B] [#xA74D] [#xA74F] [#xA751] [#xA753] [#xA755] [#xA757] [#xA759] [#xA75B] [#xA75D] [#xA75F] [#xA761] [#xA763] [#xA765] [#xA767] [#xA769] [#xA76B] [#xA76D] [#xA76F] [#xA771-#xA778] [#xA77A] [#xA77C] [#xA77F] [#xA781] [#xA783] [#xA785] [#xA787] [#xA78C] [#xA78E] [#xA791] [#xA793-#xA795] [#xA797] [#xA799] [#xA79B] [#xA79D] [#xA79F] [#xA7A1] [#xA7A3] [#xA7A5] [#xA7A7] [#xA7A9] [#xA7AF] [#xA7B5] [#xA7B7] [#xA7B9] [#xA7BB] [#xA7BD] [#xA7BF] [#xA7C1] [#xA7C3] [#xA7C8] [#xA7CA] [#xA7D1] [#xA7D3] [#xA7D5] [#xA7D7] [#xA7D9] [#xA7F6] [#xA7FA] [#xAB30-#xAB5A] [#xAB60-#xAB68] [#xAB70-#xABBF] [#xFB00-#xFB06] [#xFB13-#xFB17] [#xFF41-#xFF5A]
    Ll       ::= [a-z#xB5#xDF-#xF6#xF8-#xFF#x101#x103#x105#x107#x109#x10B#x10D#x10F#x111#x113#x115#x117#x119#x11B#x11D#x11F#x121#x123#x125#x127#x129#x12B#x12D#x12F#x131#x133#x135#x137-#x138#x13A#x13C#x13E#x140#x142#x144#x146#x148-#x149#x14B#x14D#x14F#x151#x153#x155#x157#x159#x15B#x15D#x15F#x161#x163#x165#x167#x169#x16B#x16D#x16F#x171#x173#x175#x177#x17A#x17C#x17E-#x180#x183#x185#x188#x18C-#x18D#x192#x195#x199-#x19B#x19E#x1A1#x1A3#x1A5#x1A8#x1AA-#x1AB#x1AD#x1B0#x1B4#x1B6#x1B9-#x1BA#x1BD-#x1BF#x1C6#x1C9#x1CC#x1CE#x1D0#x1D2#x1D4#x1D6#x1D8#x1DA#x1DC-#x1DD#x1DF#x1E1#x1E3#x1E5#x1E7#x1E9#x1EB#x1ED#x1EF-#x1F0#x1F3#x1F5#x1F9#x1FB#x1FD#x1FF#x201#x203#x205#x207#x209#x20B#x20D#x20F#x211#x213#x215#x217#x219#x21B#x21D#x21F#x221#x223#x225#x227#x229#x22B#x22D#x22F#x231#x233-#x239#x23C#x23F-#x240#x242#x247#x249#x24B#x24D#x24F-#x293#x295-#x2AF#x371#x373#x377#x37B-#x37D#x390#x3AC-#x3CE#x3D0-#x3D1#x3D5-#x3D7#x3D9#x3DB#x3DD#x3DF#x3E1#x3E3#x3E5#x3E7#x3E9#x3EB#x3ED#x3EF-#x3F3#x3F5#x3F8#x3FB-#x3FC#x430-#x45F#x461#x463#x465#x467#x469#x46B#x46D#x46F#x471#x473#x475#x477#x479#x47B#x47D#x47F#x481#x48B#x48D#x48F#x491#x493#x495#x497#x499#x49B#x49D#x49F#x4A1#x4A3#x4A5#x4A7#x4A9#x4AB#x4AD#x4AF#x4B1#x4B3#x4B5#x4B7#x4B9#x4BB#x4BD#x4BF#x4C2#x4C4#x4C6#x4C8#x4CA#x4CC#x4CE-#x4CF#x4D1#x4D3#x4D5#x4D7#x4D9#x4DB#x4DD#x4DF#x4E1#x4E3#x4E5#x4E7#x4E9#x4EB#x4ED#x4EF#x4F1#x4F3#x4F5#x4F7#x4F9#x4FB#x4FD#x4FF#x501#x503#x505#x507#x509#x50B#x50D#x50F#x511#x513#x515#x517#x519#x51B#x51D#x51F#x521#x523#x525#x527#x529#x52B#x52D#x52F#x560-#x588#x10D0-#x10FA#x10FD-#x10FF#x13F8-#x13FD#x1C80-#x1C88#x1D00-#x1D2B#x1D6B-#x1D77#x1D79-#x1D9A#x1E01#x1E03#x1E05#x1E07#x1E09#x1E0B#x1E0D#x1E0F#x1E11#x1E13#x1E15#x1E17#x1E19#x1E1B#x1E1D#x1E1F#x1E21#x1E23#x1E25#x1E27#x1E29#x1E2B#x1E2D#x1E2F#x1E31#x1E33#x1E35#x1E37#x1E39#x1E3B#x1E3D#x1E3F#x1E41#x1E43#x1E45#x1E47#x1E49#x1E4B#x1E4D#x1E4F#x1E51#x1E53#x1E55#x1E57#x1E59#x1E5B#x1E5D#x1E5F#x1E61#x1E63#x1E65#x1E67#x1E69#x1E6B#x1E6D#x1E6F#x1E71#x1E73#x1E75#x1E77#x1E79#x1E7B#x1E7D#x1E7F#x1E81#x1E83#x1E85#x1E87#x1E89#x1E8B#x1E8D#x1E8F#x1E91#x1E93#x1E95-#x1E9D#x1E9F#x1EA1#x1EA3#x1EA5#x1EA7#x1EA9#x1EAB#x1EAD#x1EAF#x1EB1#x1EB3#x1EB5#x1EB7#x1EB9#x1EBB#x1EBD#x1EBF#x1EC1#x1EC3#x1EC5#x1EC7#x1EC9#x1ECB#x1ECD#x1ECF#x1ED1#x1ED3#x1ED5#x1ED7#x1ED9#x1EDB#x1EDD#x1EDF#x1EE1#x1EE3#x1EE5#x1EE7#x1EE9#x1EEB#x1EED#x1EEF#x1EF1#x1EF3#x1EF5#x1EF7#x1EF9#x1EFB#x1EFD#x1EFF-#x1F07#x1F10-#x1F15#x1F20-#x1F27#x1F30-#x1F37#x1F40-#x1F45#x1F50-#x1F57#x1F60-#x1F67#x1F70-#x1F7D#x1F80-#x1F87#x1F90-#x1F97#x1FA0-#x1FA7#x1FB0-#x1FB4#x1FB6-#x1FB7#x1FBE#x1FC2-#x1FC4#x1FC6-#x1FC7#x1FD0-#x1FD3#x1FD6-#x1FD7#x1FE0-#x1FE7#x1FF2-#x1FF4#x1FF6-#x1FF7#x210A#x210E-#x210F#x2113#x212F#x2134#x2139#x213C-#x213D#x2146-#x2149#x214E#x2184#x2C30-#x2C5F#x2C61#x2C65-#x2C66#x2C68#x2C6A#x2C6C#x2C71#x2C73-#x2C74#x2C76-#x2C7B#x2C81#x2C83#x2C85#x2C87#x2C89#x2C8B#x2C8D#x2C8F#x2C91#x2C93#x2C95#x2C97#x2C99#x2C9B#x2C9D#x2C9F#x2CA1#x2CA3#x2CA5#x2CA7#x2CA9#x2CAB#x2CAD#x2CAF#x2CB1#x2CB3#x2CB5#x2CB7#x2CB9#x2CBB#x2CBD#x2CBF#x2CC1#x2CC3#x2CC5#x2CC7#x2CC9#x2CCB#x2CCD#x2CCF#x2CD1#x2CD3#x2CD5#x2CD7#x2CD9#x2CDB#x2CDD#x2CDF#x2CE1#x2CE3-#x2CE4#x2CEC#x2CEE#x2CF3#x2D00-#x2D25#x2D27#x2D2D#xA641#xA643#xA645#xA647#xA649#xA64B#xA64D#xA64F#xA651#xA653#xA655#xA657#xA659#xA65B#xA65D#xA65F#xA661#xA663#xA665#xA667#xA669#xA66B#xA66D#xA681#xA683#xA685#xA687#xA689#xA68B#xA68D#xA68F#xA691#xA693#xA695#xA697#xA699#xA69B#xA723#xA725#xA727#xA729#xA72B#xA72D#xA72F-#xA731#xA733#xA735#xA737#xA739#xA73B#xA73D#xA73F#xA741#xA743#xA745#xA747#xA749#xA74B#xA74D#xA74F#xA751#xA753#xA755#xA757#xA759#xA75B#xA75D#xA75F#xA761#xA763#xA765#xA767#xA769#xA76B#xA76D#xA76F#xA771-#xA778#xA77A#xA77C#xA77F#xA781#xA783#xA785#xA787#xA78C#xA78E#xA791#xA793-#xA795#xA797#xA799#xA79B#xA79D#xA79F#xA7A1#xA7A3#xA7A5#xA7A7#xA7A9#xA7AF#xA7B5#xA7B7#xA7B9#xA7BB#xA7BD#xA7BF#xA7C1#xA7C3#xA7C8#xA7CA#xA7D1#xA7D3#xA7D5#xA7D7#xA7D9#xA7F6#xA7FA#xAB30-#xAB5A#xAB60-#xAB68#xAB70-#xABBF#xFB00-#xFB06#xFB13-#xFB17#xFF41-#xFF5A]
    Referenced by:

    Lm

    [#x2B0-#x2C1] [#x2C6-#x2D1] [#x2E0-#x2E4] [#x2EC] [#x2EE] [#x374] [#x37A] [#x559] [#x640] [#x6E5-#x6E6] [#x7F4-#x7F5] [#x7FA] [#x81A] [#x824] [#x828] [#x8C9] [#x971] [#xE46] [#xEC6] [#x10FC] [#x17D7] [#x1843] [#x1AA7] [#x1C78-#x1C7D] [#x1D2C-#x1D6A] [#x1D78] [#x1D9B-#x1DBF] [#x2071] [#x207F] [#x2090-#x209C] [#x2C7C-#x2C7D] [#x2D6F] [#x2E2F] [#x3005] [#x3031-#x3035] [#x303B] [#x309D-#x309E] [#x30FC-#x30FE] [#xA015] [#xA4F8-#xA4FD] [#xA60C] [#xA67F] [#xA69C-#xA69D] [#xA717-#xA71F] [#xA770] [#xA788] [#xA7F2-#xA7F4] [#xA7F8-#xA7F9] [#xA9CF] [#xA9E6] [#xAA70] [#xAADD] [#xAAF3-#xAAF4] [#xAB5C-#xAB5F] [#xAB69] [#xFF70] [#xFF9E-#xFF9F]
    Lm       ::= [#x2B0-#x2C1#x2C6-#x2D1#x2E0-#x2E4#x2EC#x2EE#x374#x37A#x559#x640#x6E5-#x6E6#x7F4-#x7F5#x7FA#x81A#x824#x828#x8C9#x971#xE46#xEC6#x10FC#x17D7#x1843#x1AA7#x1C78-#x1C7D#x1D2C-#x1D6A#x1D78#x1D9B-#x1DBF#x2071#x207F#x2090-#x209C#x2C7C-#x2C7D#x2D6F#x2E2F#x3005#x3031-#x3035#x303B#x309D-#x309E#x30FC-#x30FE#xA015#xA4F8-#xA4FD#xA60C#xA67F#xA69C-#xA69D#xA717-#xA71F#xA770#xA788#xA7F2-#xA7F4#xA7F8-#xA7F9#xA9CF#xA9E6#xAA70#xAADD#xAAF3-#xAAF4#xAB5C-#xAB5F#xAB69#xFF70#xFF9E-#xFF9F]
    Referenced by:

    Lo

    [#xAA] [#xBA] [#x1BB] [#x1C0-#x1C3] [#x294] [#x5D0-#x5EA] [#x5EF-#x5F2] [#x620-#x63F] [#x641-#x64A] [#x66E-#x66F] [#x671-#x6D3] [#x6D5] [#x6EE-#x6EF] [#x6FA-#x6FC] [#x6FF] [#x710] [#x712-#x72F] [#x74D-#x7A5] [#x7B1] [#x7CA-#x7EA] [#x800-#x815] [#x840-#x858] [#x860-#x86A] [#x870-#x887] [#x889-#x88E] [#x8A0-#x8C8] [#x904-#x939] [#x93D] [#x950] [#x958-#x961] [#x972-#x980] [#x985-#x98C] [#x98F-#x990] [#x993-#x9A8] [#x9AA-#x9B0] [#x9B2] [#x9B6-#x9B9] [#x9BD] [#x9CE] [#x9DC-#x9DD] [#x9DF-#x9E1] [#x9F0-#x9F1] [#x9FC] [#xA05-#xA0A] [#xA0F-#xA10] [#xA13-#xA28] [#xA2A-#xA30] [#xA32-#xA33] [#xA35-#xA36] [#xA38-#xA39] [#xA59-#xA5C] [#xA5E] [#xA72-#xA74] [#xA85-#xA8D] [#xA8F-#xA91] [#xA93-#xAA8] [#xAAA-#xAB0] [#xAB2-#xAB3] [#xAB5-#xAB9] [#xABD] [#xAD0] [#xAE0-#xAE1] [#xAF9] [#xB05-#xB0C] [#xB0F-#xB10] [#xB13-#xB28] [#xB2A-#xB30] [#xB32-#xB33] [#xB35-#xB39] [#xB3D] [#xB5C-#xB5D] [#xB5F-#xB61] [#xB71] [#xB83] [#xB85-#xB8A] [#xB8E-#xB90] [#xB92-#xB95] [#xB99-#xB9A] [#xB9C] [#xB9E-#xB9F] [#xBA3-#xBA4] [#xBA8-#xBAA] [#xBAE-#xBB9] [#xBD0] [#xC05-#xC0C] [#xC0E-#xC10] [#xC12-#xC28] [#xC2A-#xC39] [#xC3D] [#xC58-#xC5A] [#xC5D] [#xC60-#xC61] [#xC80] [#xC85-#xC8C] [#xC8E-#xC90] [#xC92-#xCA8] [#xCAA-#xCB3] [#xCB5-#xCB9] [#xCBD] [#xCDD-#xCDE] [#xCE0-#xCE1] [#xCF1-#xCF2] [#xD04-#xD0C] [#xD0E-#xD10] [#xD12-#xD3A] [#xD3D] [#xD4E] [#xD54-#xD56] [#xD5F-#xD61] [#xD7A-#xD7F] [#xD85-#xD96] [#xD9A-#xDB1] [#xDB3-#xDBB] [#xDBD] [#xDC0-#xDC6] [#xE01-#xE30] [#xE32-#xE33] [#xE40-#xE45] [#xE81-#xE82] [#xE84] [#xE86-#xE8A] [#xE8C-#xEA3] [#xEA5] [#xEA7-#xEB0] [#xEB2-#xEB3] [#xEBD] [#xEC0-#xEC4] [#xEDC-#xEDF] [#xF00] [#xF40-#xF47] [#xF49-#xF6C] [#xF88-#xF8C] [#x1000-#x102A] [#x103F] [#x1050-#x1055] [#x105A-#x105D] [#x1061] [#x1065-#x1066] [#x106E-#x1070] [#x1075-#x1081] [#x108E] [#x1100-#x1248] [#x124A-#x124D] [#x1250-#x1256] [#x1258] [#x125A-#x125D] [#x1260-#x1288] [#x128A-#x128D] [#x1290-#x12B0] [#x12B2-#x12B5] [#x12B8-#x12BE] [#x12C0] [#x12C2-#x12C5] [#x12C8-#x12D6] [#x12D8-#x1310] [#x1312-#x1315] [#x1318-#x135A] [#x1380-#x138F] [#x1401-#x166C] [#x166F-#x167F] [#x1681-#x169A] [#x16A0-#x16EA] [#x16F1-#x16F8] [#x1700-#x1711] [#x171F-#x1731] [#x1740-#x1751] [#x1760-#x176C] [#x176E-#x1770] [#x1780-#x17B3] [#x17DC] [#x1820-#x1842] [#x1844-#x1878] [#x1880-#x1884] [#x1887-#x18A8] [#x18AA] [#x18B0-#x18F5] [#x1900-#x191E] [#x1950-#x196D] [#x1970-#x1974] [#x1980-#x19AB] [#x19B0-#x19C9] [#x1A00-#x1A16] [#x1A20-#x1A54] [#x1B05-#x1B33] [#x1B45-#x1B4C] [#x1B83-#x1BA0] [#x1BAE-#x1BAF] [#x1BBA-#x1BE5] [#x1C00-#x1C23] [#x1C4D-#x1C4F] [#x1C5A-#x1C77] [#x1CE9-#x1CEC] [#x1CEE-#x1CF3] [#x1CF5-#x1CF6] [#x1CFA] [#x2135-#x2138] [#x2D30-#x2D67] [#x2D80-#x2D96] [#x2DA0-#x2DA6] [#x2DA8-#x2DAE] [#x2DB0-#x2DB6] [#x2DB8-#x2DBE] [#x2DC0-#x2DC6] [#x2DC8-#x2DCE] [#x2DD0-#x2DD6] [#x2DD8-#x2DDE] [#x3006] [#x303C] [#x3041-#x3096] [#x309F] [#x30A1-#x30FA] [#x30FF] [#x3105-#x312F] [#x3131-#x318E] [#x31A0-#x31BF] [#x31F0-#x31FF] [#x4DBF] [#x9FFF-#xA014] [#xA016-#xA48C] [#xA4D0-#xA4F7] [#xA500-#xA60B] [#xA610-#xA61F] [#xA62A-#xA62B] [#xA66E] [#xA6A0-#xA6E5] [#xA78F] [#xA7F7] [#xA7FB-#xA801] [#xA803-#xA805] [#xA807-#xA80A] [#xA80C-#xA822] [#xA840-#xA873] [#xA882-#xA8B3] [#xA8F2-#xA8F7] [#xA8FB] [#xA8FD-#xA8FE] [#xA90A-#xA925] [#xA930-#xA946] [#xA960-#xA97C] [#xA984-#xA9B2] [#xA9E0-#xA9E4] [#xA9E7-#xA9EF] [#xA9FA-#xA9FE] [#xAA00-#xAA28] [#xAA40-#xAA42] [#xAA44-#xAA4B] [#xAA60-#xAA6F] [#xAA71-#xAA76] [#xAA7A] [#xAA7E-#xAAAF] [#xAAB1] [#xAAB5-#xAAB6] [#xAAB9-#xAABD] [#xAAC0] [#xAAC2] [#xAADB-#xAADC] [#xAAE0-#xAAEA] [#xAAF2] [#xAB01-#xAB06] [#xAB09-#xAB0E] [#xAB11-#xAB16] [#xAB20-#xAB26] [#xAB28-#xAB2E] [#xABC0-#xABE2] [#xD7A3] [#xD7B0-#xD7C6] [#xD7CB-#xD7FB] [#xF900-#xFA6D] [#xFA70-#xFAD9] [#xFB1D] [#xFB1F-#xFB28] [#xFB2A-#xFB36] [#xFB38-#xFB3C] [#xFB3E] [#xFB40-#xFB41] [#xFB43-#xFB44] [#xFB46-#xFBB1] [#xFBD3-#xFD3D] [#xFD50-#xFD8F] [#xFD92-#xFDC7] [#xFDF0-#xFDFB] [#xFE70-#xFE74] [#xFE76-#xFEFC] [#xFF66-#xFF6F] [#xFF71-#xFF9D] [#xFFA0-#xFFBE] [#xFFC2-#xFFC7] [#xFFCA-#xFFCF] [#xFFD2-#xFFD7] [#xFFDA-#xFFDC]
    Lo       ::= [#xAA#xBA#x1BB#x1C0-#x1C3#x294#x5D0-#x5EA#x5EF-#x5F2#x620-#x63F#x641-#x64A#x66E-#x66F#x671-#x6D3#x6D5#x6EE-#x6EF#x6FA-#x6FC#x6FF#x710#x712-#x72F#x74D-#x7A5#x7B1#x7CA-#x7EA#x800-#x815#x840-#x858#x860-#x86A#x870-#x887#x889-#x88E#x8A0-#x8C8#x904-#x939#x93D#x950#x958-#x961#x972-#x980#x985-#x98C#x98F-#x990#x993-#x9A8#x9AA-#x9B0#x9B2#x9B6-#x9B9#x9BD#x9CE#x9DC-#x9DD#x9DF-#x9E1#x9F0-#x9F1#x9FC#xA05-#xA0A#xA0F-#xA10#xA13-#xA28#xA2A-#xA30#xA32-#xA33#xA35-#xA36#xA38-#xA39#xA59-#xA5C#xA5E#xA72-#xA74#xA85-#xA8D#xA8F-#xA91#xA93-#xAA8#xAAA-#xAB0#xAB2-#xAB3#xAB5-#xAB9#xABD#xAD0#xAE0-#xAE1#xAF9#xB05-#xB0C#xB0F-#xB10#xB13-#xB28#xB2A-#xB30#xB32-#xB33#xB35-#xB39#xB3D#xB5C-#xB5D#xB5F-#xB61#xB71#xB83#xB85-#xB8A#xB8E-#xB90#xB92-#xB95#xB99-#xB9A#xB9C#xB9E-#xB9F#xBA3-#xBA4#xBA8-#xBAA#xBAE-#xBB9#xBD0#xC05-#xC0C#xC0E-#xC10#xC12-#xC28#xC2A-#xC39#xC3D#xC58-#xC5A#xC5D#xC60-#xC61#xC80#xC85-#xC8C#xC8E-#xC90#xC92-#xCA8#xCAA-#xCB3#xCB5-#xCB9#xCBD#xCDD-#xCDE#xCE0-#xCE1#xCF1-#xCF2#xD04-#xD0C#xD0E-#xD10#xD12-#xD3A#xD3D#xD4E#xD54-#xD56#xD5F-#xD61#xD7A-#xD7F#xD85-#xD96#xD9A-#xDB1#xDB3-#xDBB#xDBD#xDC0-#xDC6#xE01-#xE30#xE32-#xE33#xE40-#xE45#xE81-#xE82#xE84#xE86-#xE8A#xE8C-#xEA3#xEA5#xEA7-#xEB0#xEB2-#xEB3#xEBD#xEC0-#xEC4#xEDC-#xEDF#xF00#xF40-#xF47#xF49-#xF6C#xF88-#xF8C#x1000-#x102A#x103F#x1050-#x1055#x105A-#x105D#x1061#x1065-#x1066#x106E-#x1070#x1075-#x1081#x108E#x1100-#x1248#x124A-#x124D#x1250-#x1256#x1258#x125A-#x125D#x1260-#x1288#x128A-#x128D#x1290-#x12B0#x12B2-#x12B5#x12B8-#x12BE#x12C0#x12C2-#x12C5#x12C8-#x12D6#x12D8-#x1310#x1312-#x1315#x1318-#x135A#x1380-#x138F#x1401-#x166C#x166F-#x167F#x1681-#x169A#x16A0-#x16EA#x16F1-#x16F8#x1700-#x1711#x171F-#x1731#x1740-#x1751#x1760-#x176C#x176E-#x1770#x1780-#x17B3#x17DC#x1820-#x1842#x1844-#x1878#x1880-#x1884#x1887-#x18A8#x18AA#x18B0-#x18F5#x1900-#x191E#x1950-#x196D#x1970-#x1974#x1980-#x19AB#x19B0-#x19C9#x1A00-#x1A16#x1A20-#x1A54#x1B05-#x1B33#x1B45-#x1B4C#x1B83-#x1BA0#x1BAE-#x1BAF#x1BBA-#x1BE5#x1C00-#x1C23#x1C4D-#x1C4F#x1C5A-#x1C77#x1CE9-#x1CEC#x1CEE-#x1CF3#x1CF5-#x1CF6#x1CFA#x2135-#x2138#x2D30-#x2D67#x2D80-#x2D96#x2DA0-#x2DA6#x2DA8-#x2DAE#x2DB0-#x2DB6#x2DB8-#x2DBE#x2DC0-#x2DC6#x2DC8-#x2DCE#x2DD0-#x2DD6#x2DD8-#x2DDE#x3006#x303C#x3041-#x3096#x309F#x30A1-#x30FA#x30FF#x3105-#x312F#x3131-#x318E#x31A0-#x31BF#x31F0-#x31FF#x4DBF#x9FFF-#xA014#xA016-#xA48C#xA4D0-#xA4F7#xA500-#xA60B#xA610-#xA61F#xA62A-#xA62B#xA66E#xA6A0-#xA6E5#xA78F#xA7F7#xA7FB-#xA801#xA803-#xA805#xA807-#xA80A#xA80C-#xA822#xA840-#xA873#xA882-#xA8B3#xA8F2-#xA8F7#xA8FB#xA8FD-#xA8FE#xA90A-#xA925#xA930-#xA946#xA960-#xA97C#xA984-#xA9B2#xA9E0-#xA9E4#xA9E7-#xA9EF#xA9FA-#xA9FE#xAA00-#xAA28#xAA40-#xAA42#xAA44-#xAA4B#xAA60-#xAA6F#xAA71-#xAA76#xAA7A#xAA7E-#xAAAF#xAAB1#xAAB5-#xAAB6#xAAB9-#xAABD#xAAC0#xAAC2#xAADB-#xAADC#xAAE0-#xAAEA#xAAF2#xAB01-#xAB06#xAB09-#xAB0E#xAB11-#xAB16#xAB20-#xAB26#xAB28-#xAB2E#xABC0-#xABE2#xD7A3#xD7B0-#xD7C6#xD7CB-#xD7FB#xF900-#xFA6D#xFA70-#xFAD9#xFB1D#xFB1F-#xFB28#xFB2A-#xFB36#xFB38-#xFB3C#xFB3E#xFB40-#xFB41#xFB43-#xFB44#xFB46-#xFBB1#xFBD3-#xFD3D#xFD50-#xFD8F#xFD92-#xFDC7#xFDF0-#xFDFB#xFE70-#xFE74#xFE76-#xFEFC#xFF66-#xFF6F#xFF71-#xFF9D#xFFA0-#xFFBE#xFFC2-#xFFC7#xFFCA-#xFFCF#xFFD2-#xFFD7#xFFDA-#xFFDC]
    Referenced by:

    Lt

    [#x1C5] [#x1C8] [#x1CB] [#x1F2] [#x1F88-#x1F8F] [#x1F98-#x1F9F] [#x1FA8-#x1FAF] [#x1FBC] [#x1FCC] [#x1FFC]
    Lt       ::= [#x1C5#x1C8#x1CB#x1F2#x1F88-#x1F8F#x1F98-#x1F9F#x1FA8-#x1FAF#x1FBC#x1FCC#x1FFC]
    Referenced by:

    Lu

    [A-Z] [#xC0-#xD6] [#xD8-#xDE] [#x100] [#x102] [#x104] [#x106] [#x108] [#x10A] [#x10C] [#x10E] [#x110] [#x112] [#x114] [#x116] [#x118] [#x11A] [#x11C] [#x11E] [#x120] [#x122] [#x124] [#x126] [#x128] [#x12A] [#x12C] [#x12E] [#x130] [#x132] [#x134] [#x136] [#x139] [#x13B] [#x13D] [#x13F] [#x141] [#x143] [#x145] [#x147] [#x14A] [#x14C] [#x14E] [#x150] [#x152] [#x154] [#x156] [#x158] [#x15A] [#x15C] [#x15E] [#x160] [#x162] [#x164] [#x166] [#x168] [#x16A] [#x16C] [#x16E] [#x170] [#x172] [#x174] [#x176] [#x178-#x179] [#x17B] [#x17D] [#x181-#x182] [#x184] [#x186-#x187] [#x189-#x18B] [#x18E-#x191] [#x193-#x194] [#x196-#x198] [#x19C-#x19D] [#x19F-#x1A0] [#x1A2] [#x1A4] [#x1A6-#x1A7] [#x1A9] [#x1AC] [#x1AE-#x1AF] [#x1B1-#x1B3] [#x1B5] [#x1B7-#x1B8] [#x1BC] [#x1C4] [#x1C7] [#x1CA] [#x1CD] [#x1CF] [#x1D1] [#x1D3] [#x1D5] [#x1D7] [#x1D9] [#x1DB] [#x1DE] [#x1E0] [#x1E2] [#x1E4] [#x1E6] [#x1E8] [#x1EA] [#x1EC] [#x1EE] [#x1F1] [#x1F4] [#x1F6-#x1F8] [#x1FA] [#x1FC] [#x1FE] [#x200] [#x202] [#x204] [#x206] [#x208] [#x20A] [#x20C] [#x20E] [#x210] [#x212] [#x214] [#x216] [#x218] [#x21A] [#x21C] [#x21E] [#x220] [#x222] [#x224] [#x226] [#x228] [#x22A] [#x22C] [#x22E] [#x230] [#x232] [#x23A-#x23B] [#x23D-#x23E] [#x241] [#x243-#x246] [#x248] [#x24A] [#x24C] [#x24E] [#x370] [#x372] [#x376] [#x37F] [#x386] [#x388-#x38A] [#x38C] [#x38E-#x38F] [#x391-#x3A1] [#x3A3-#x3AB] [#x3CF] [#x3D2-#x3D4] [#x3D8] [#x3DA] [#x3DC] [#x3DE] [#x3E0] [#x3E2] [#x3E4] [#x3E6] [#x3E8] [#x3EA] [#x3EC] [#x3EE] [#x3F4] [#x3F7] [#x3F9-#x3FA] [#x3FD-#x42F] [#x460] [#x462] [#x464] [#x466] [#x468] [#x46A] [#x46C] [#x46E] [#x470] [#x472] [#x474] [#x476] [#x478] [#x47A] [#x47C] [#x47E] [#x480] [#x48A] [#x48C] [#x48E] [#x490] [#x492] [#x494] [#x496] [#x498] [#x49A] [#x49C] [#x49E] [#x4A0] [#x4A2] [#x4A4] [#x4A6] [#x4A8] [#x4AA] [#x4AC] [#x4AE] [#x4B0] [#x4B2] [#x4B4] [#x4B6] [#x4B8] [#x4BA] [#x4BC] [#x4BE] [#x4C0-#x4C1] [#x4C3] [#x4C5] [#x4C7] [#x4C9] [#x4CB] [#x4CD] [#x4D0] [#x4D2] [#x4D4] [#x4D6] [#x4D8] [#x4DA] [#x4DC] [#x4DE] [#x4E0] [#x4E2] [#x4E4] [#x4E6] [#x4E8] [#x4EA] [#x4EC] [#x4EE] [#x4F0] [#x4F2] [#x4F4] [#x4F6] [#x4F8] [#x4FA] [#x4FC] [#x4FE] [#x500] [#x502] [#x504] [#x506] [#x508] [#x50A] [#x50C] [#x50E] [#x510] [#x512] [#x514] [#x516] [#x518] [#x51A] [#x51C] [#x51E] [#x520] [#x522] [#x524] [#x526] [#x528] [#x52A] [#x52C] [#x52E] [#x531-#x556] [#x10A0-#x10C5] [#x10C7] [#x10CD] [#x13A0-#x13F5] [#x1C90-#x1CBA] [#x1CBD-#x1CBF] [#x1E00] [#x1E02] [#x1E04] [#x1E06] [#x1E08] [#x1E0A] [#x1E0C] [#x1E0E] [#x1E10] [#x1E12] [#x1E14] [#x1E16] [#x1E18] [#x1E1A] [#x1E1C] [#x1E1E] [#x1E20] [#x1E22] [#x1E24] [#x1E26] [#x1E28] [#x1E2A] [#x1E2C] [#x1E2E] [#x1E30] [#x1E32] [#x1E34] [#x1E36] [#x1E38] [#x1E3A] [#x1E3C] [#x1E3E] [#x1E40] [#x1E42] [#x1E44] [#x1E46] [#x1E48] [#x1E4A] [#x1E4C] [#x1E4E] [#x1E50] [#x1E52] [#x1E54] [#x1E56] [#x1E58] [#x1E5A] [#x1E5C] [#x1E5E] [#x1E60] [#x1E62] [#x1E64] [#x1E66] [#x1E68] [#x1E6A] [#x1E6C] [#x1E6E] [#x1E70] [#x1E72] [#x1E74] [#x1E76] [#x1E78] [#x1E7A] [#x1E7C] [#x1E7E] [#x1E80] [#x1E82] [#x1E84] [#x1E86] [#x1E88] [#x1E8A] [#x1E8C] [#x1E8E] [#x1E90] [#x1E92] [#x1E94] [#x1E9E] [#x1EA0] [#x1EA2] [#x1EA4] [#x1EA6] [#x1EA8] [#x1EAA] [#x1EAC] [#x1EAE] [#x1EB0] [#x1EB2] [#x1EB4] [#x1EB6] [#x1EB8] [#x1EBA] [#x1EBC] [#x1EBE] [#x1EC0] [#x1EC2] [#x1EC4] [#x1EC6] [#x1EC8] [#x1ECA] [#x1ECC] [#x1ECE] [#x1ED0] [#x1ED2] [#x1ED4] [#x1ED6] [#x1ED8] [#x1EDA] [#x1EDC] [#x1EDE] [#x1EE0] [#x1EE2] [#x1EE4] [#x1EE6] [#x1EE8] [#x1EEA] [#x1EEC] [#x1EEE] [#x1EF0] [#x1EF2] [#x1EF4] [#x1EF6] [#x1EF8] [#x1EFA] [#x1EFC] [#x1EFE] [#x1F08-#x1F0F] [#x1F18-#x1F1D] [#x1F28-#x1F2F] [#x1F38-#x1F3F] [#x1F48-#x1F4D] [#x1F59] [#x1F5B] [#x1F5D] [#x1F5F] [#x1F68-#x1F6F] [#x1FB8-#x1FBB] [#x1FC8-#x1FCB] [#x1FD8-#x1FDB] [#x1FE8-#x1FEC] [#x1FF8-#x1FFB] [#x2102] [#x2107] [#x210B-#x210D] [#x2110-#x2112] [#x2115] [#x2119-#x211D] [#x2124] [#x2126] [#x2128] [#x212A-#x212D] [#x2130-#x2133] [#x213E-#x213F] [#x2145] [#x2183] [#x2C00-#x2C2F] [#x2C60] [#x2C62-#x2C64] [#x2C67] [#x2C69] [#x2C6B] [#x2C6D-#x2C70] [#x2C72] [#x2C75] [#x2C7E-#x2C80] [#x2C82] [#x2C84] [#x2C86] [#x2C88] [#x2C8A] [#x2C8C] [#x2C8E] [#x2C90] [#x2C92] [#x2C94] [#x2C96] [#x2C98] [#x2C9A] [#x2C9C] [#x2C9E] [#x2CA0] [#x2CA2] [#x2CA4] [#x2CA6] [#x2CA8] [#x2CAA] [#x2CAC] [#x2CAE] [#x2CB0] [#x2CB2] [#x2CB4] [#x2CB6] [#x2CB8] [#x2CBA] [#x2CBC] [#x2CBE] [#x2CC0] [#x2CC2] [#x2CC4] [#x2CC6] [#x2CC8] [#x2CCA] [#x2CCC] [#x2CCE] [#x2CD0] [#x2CD2] [#x2CD4] [#x2CD6] [#x2CD8] [#x2CDA] [#x2CDC] [#x2CDE] [#x2CE0] [#x2CE2] [#x2CEB] [#x2CED] [#x2CF2] [#xA640] [#xA642] [#xA644] [#xA646] [#xA648] [#xA64A] [#xA64C] [#xA64E] [#xA650] [#xA652] [#xA654] [#xA656] [#xA658] [#xA65A] [#xA65C] [#xA65E] [#xA660] [#xA662] [#xA664] [#xA666] [#xA668] [#xA66A] [#xA66C] [#xA680] [#xA682] [#xA684] [#xA686] [#xA688] [#xA68A] [#xA68C] [#xA68E] [#xA690] [#xA692] [#xA694] [#xA696] [#xA698] [#xA69A] [#xA722] [#xA724] [#xA726] [#xA728] [#xA72A] [#xA72C] [#xA72E] [#xA732] [#xA734] [#xA736] [#xA738] [#xA73A] [#xA73C] [#xA73E] [#xA740] [#xA742] [#xA744] [#xA746] [#xA748] [#xA74A] [#xA74C] [#xA74E] [#xA750] [#xA752] [#xA754] [#xA756] [#xA758] [#xA75A] [#xA75C] [#xA75E] [#xA760] [#xA762] [#xA764] [#xA766] [#xA768] [#xA76A] [#xA76C] [#xA76E] [#xA779] [#xA77B] [#xA77D-#xA77E] [#xA780] [#xA782] [#xA784] [#xA786] [#xA78B] [#xA78D] [#xA790] [#xA792] [#xA796] [#xA798] [#xA79A] [#xA79C] [#xA79E] [#xA7A0] [#xA7A2] [#xA7A4] [#xA7A6] [#xA7A8] [#xA7AA-#xA7AE] [#xA7B0-#xA7B4] [#xA7B6] [#xA7B8] [#xA7BA] [#xA7BC] [#xA7BE] [#xA7C0] [#xA7C2] [#xA7C4-#xA7C7] [#xA7C9] [#xA7D0] [#xA7D6] [#xA7D8] [#xA7F5] [#xFF21-#xFF3A]
    Lu       ::= [A-Z#xC0-#xD6#xD8-#xDE#x100#x102#x104#x106#x108#x10A#x10C#x10E#x110#x112#x114#x116#x118#x11A#x11C#x11E#x120#x122#x124#x126#x128#x12A#x12C#x12E#x130#x132#x134#x136#x139#x13B#x13D#x13F#x141#x143#x145#x147#x14A#x14C#x14E#x150#x152#x154#x156#x158#x15A#x15C#x15E#x160#x162#x164#x166#x168#x16A#x16C#x16E#x170#x172#x174#x176#x178-#x179#x17B#x17D#x181-#x182#x184#x186-#x187#x189-#x18B#x18E-#x191#x193-#x194#x196-#x198#x19C-#x19D#x19F-#x1A0#x1A2#x1A4#x1A6-#x1A7#x1A9#x1AC#x1AE-#x1AF#x1B1-#x1B3#x1B5#x1B7-#x1B8#x1BC#x1C4#x1C7#x1CA#x1CD#x1CF#x1D1#x1D3#x1D5#x1D7#x1D9#x1DB#x1DE#x1E0#x1E2#x1E4#x1E6#x1E8#x1EA#x1EC#x1EE#x1F1#x1F4#x1F6-#x1F8#x1FA#x1FC#x1FE#x200#x202#x204#x206#x208#x20A#x20C#x20E#x210#x212#x214#x216#x218#x21A#x21C#x21E#x220#x222#x224#x226#x228#x22A#x22C#x22E#x230#x232#x23A-#x23B#x23D-#x23E#x241#x243-#x246#x248#x24A#x24C#x24E#x370#x372#x376#x37F#x386#x388-#x38A#x38C#x38E-#x38F#x391-#x3A1#x3A3-#x3AB#x3CF#x3D2-#x3D4#x3D8#x3DA#x3DC#x3DE#x3E0#x3E2#x3E4#x3E6#x3E8#x3EA#x3EC#x3EE#x3F4#x3F7#x3F9-#x3FA#x3FD-#x42F#x460#x462#x464#x466#x468#x46A#x46C#x46E#x470#x472#x474#x476#x478#x47A#x47C#x47E#x480#x48A#x48C#x48E#x490#x492#x494#x496#x498#x49A#x49C#x49E#x4A0#x4A2#x4A4#x4A6#x4A8#x4AA#x4AC#x4AE#x4B0#x4B2#x4B4#x4B6#x4B8#x4BA#x4BC#x4BE#x4C0-#x4C1#x4C3#x4C5#x4C7#x4C9#x4CB#x4CD#x4D0#x4D2#x4D4#x4D6#x4D8#x4DA#x4DC#x4DE#x4E0#x4E2#x4E4#x4E6#x4E8#x4EA#x4EC#x4EE#x4F0#x4F2#x4F4#x4F6#x4F8#x4FA#x4FC#x4FE#x500#x502#x504#x506#x508#x50A#x50C#x50E#x510#x512#x514#x516#x518#x51A#x51C#x51E#x520#x522#x524#x526#x528#x52A#x52C#x52E#x531-#x556#x10A0-#x10C5#x10C7#x10CD#x13A0-#x13F5#x1C90-#x1CBA#x1CBD-#x1CBF#x1E00#x1E02#x1E04#x1E06#x1E08#x1E0A#x1E0C#x1E0E#x1E10#x1E12#x1E14#x1E16#x1E18#x1E1A#x1E1C#x1E1E#x1E20#x1E22#x1E24#x1E26#x1E28#x1E2A#x1E2C#x1E2E#x1E30#x1E32#x1E34#x1E36#x1E38#x1E3A#x1E3C#x1E3E#x1E40#x1E42#x1E44#x1E46#x1E48#x1E4A#x1E4C#x1E4E#x1E50#x1E52#x1E54#x1E56#x1E58#x1E5A#x1E5C#x1E5E#x1E60#x1E62#x1E64#x1E66#x1E68#x1E6A#x1E6C#x1E6E#x1E70#x1E72#x1E74#x1E76#x1E78#x1E7A#x1E7C#x1E7E#x1E80#x1E82#x1E84#x1E86#x1E88#x1E8A#x1E8C#x1E8E#x1E90#x1E92#x1E94#x1E9E#x1EA0#x1EA2#x1EA4#x1EA6#x1EA8#x1EAA#x1EAC#x1EAE#x1EB0#x1EB2#x1EB4#x1EB6#x1EB8#x1EBA#x1EBC#x1EBE#x1EC0#x1EC2#x1EC4#x1EC6#x1EC8#x1ECA#x1ECC#x1ECE#x1ED0#x1ED2#x1ED4#x1ED6#x1ED8#x1EDA#x1EDC#x1EDE#x1EE0#x1EE2#x1EE4#x1EE6#x1EE8#x1EEA#x1EEC#x1EEE#x1EF0#x1EF2#x1EF4#x1EF6#x1EF8#x1EFA#x1EFC#x1EFE#x1F08-#x1F0F#x1F18-#x1F1D#x1F28-#x1F2F#x1F38-#x1F3F#x1F48-#x1F4D#x1F59#x1F5B#x1F5D#x1F5F#x1F68-#x1F6F#x1FB8-#x1FBB#x1FC8-#x1FCB#x1FD8-#x1FDB#x1FE8-#x1FEC#x1FF8-#x1FFB#x2102#x2107#x210B-#x210D#x2110-#x2112#x2115#x2119-#x211D#x2124#x2126#x2128#x212A-#x212D#x2130-#x2133#x213E-#x213F#x2145#x2183#x2C00-#x2C2F#x2C60#x2C62-#x2C64#x2C67#x2C69#x2C6B#x2C6D-#x2C70#x2C72#x2C75#x2C7E-#x2C80#x2C82#x2C84#x2C86#x2C88#x2C8A#x2C8C#x2C8E#x2C90#x2C92#x2C94#x2C96#x2C98#x2C9A#x2C9C#x2C9E#x2CA0#x2CA2#x2CA4#x2CA6#x2CA8#x2CAA#x2CAC#x2CAE#x2CB0#x2CB2#x2CB4#x2CB6#x2CB8#x2CBA#x2CBC#x2CBE#x2CC0#x2CC2#x2CC4#x2CC6#x2CC8#x2CCA#x2CCC#x2CCE#x2CD0#x2CD2#x2CD4#x2CD6#x2CD8#x2CDA#x2CDC#x2CDE#x2CE0#x2CE2#x2CEB#x2CED#x2CF2#xA640#xA642#xA644#xA646#xA648#xA64A#xA64C#xA64E#xA650#xA652#xA654#xA656#xA658#xA65A#xA65C#xA65E#xA660#xA662#xA664#xA666#xA668#xA66A#xA66C#xA680#xA682#xA684#xA686#xA688#xA68A#xA68C#xA68E#xA690#xA692#xA694#xA696#xA698#xA69A#xA722#xA724#xA726#xA728#xA72A#xA72C#xA72E#xA732#xA734#xA736#xA738#xA73A#xA73C#xA73E#xA740#xA742#xA744#xA746#xA748#xA74A#xA74C#xA74E#xA750#xA752#xA754#xA756#xA758#xA75A#xA75C#xA75E#xA760#xA762#xA764#xA766#xA768#xA76A#xA76C#xA76E#xA779#xA77B#xA77D-#xA77E#xA780#xA782#xA784#xA786#xA78B#xA78D#xA790#xA792#xA796#xA798#xA79A#xA79C#xA79E#xA7A0#xA7A2#xA7A4#xA7A6#xA7A8#xA7AA-#xA7AE#xA7B0-#xA7B4#xA7B6#xA7B8#xA7BA#xA7BC#xA7BE#xA7C0#xA7C2#xA7C4-#xA7C7#xA7C9#xA7D0#xA7D6#xA7D8#xA7F5#xFF21-#xFF3A]
    Referenced by:

    Nl

    [#x16EE-#x16F0] [#x2160-#x2182] [#x2185-#x2188] [#x3007] [#x3021-#x3029] [#x3038-#x303A] [#xA6E6-#xA6EF]
    Nl       ::= [#x16EE-#x16F0#x2160-#x2182#x2185-#x2188#x3007#x3021-#x3029#x3038-#x303A#xA6E6-#xA6EF]
    Referenced by:

    UnicodeIdentifierExtend

    Mn Mc Nd Pc Cf CJK
             ::= Mn
               | Mc
               | Nd
               | Pc
               | Cf
               | CJK
    Referenced by:

    Cf

    [#xAD] [#x600-#x605] [#x61C] [#x6DD] [#x70F] [#x890-#x891] [#x8E2] [#x180E] [#x200B-#x200F] [#x202A-#x202E] [#x2060-#x2064] [#x2066-#x206F] [#xFEFF] [#xFFF9-#xFFFB]
    Cf       ::= [#xAD#x600-#x605#x61C#x6DD#x70F#x890-#x891#x8E2#x180E#x200B-#x200F#x202A-#x202E#x2060-#x2064#x2066-#x206F#xFEFF#xFFF9-#xFFFB]
    Referenced by:

    Mc

    [#x903] [#x93B] [#x93E-#x940] [#x949-#x94C] [#x94E-#x94F] [#x982-#x983] [#x9BE-#x9C0] [#x9C7-#x9C8] [#x9CB-#x9CC] [#x9D7] [#xA03] [#xA3E-#xA40] [#xA83] [#xABE-#xAC0] [#xAC9] [#xACB-#xACC] [#xB02-#xB03] [#xB3E] [#xB40] [#xB47-#xB48] [#xB4B-#xB4C] [#xB57] [#xBBE-#xBBF] [#xBC1-#xBC2] [#xBC6-#xBC8] [#xBCA-#xBCC] [#xBD7] [#xC01-#xC03] [#xC41-#xC44] [#xC82-#xC83] [#xCBE] [#xCC0-#xCC4] [#xCC7-#xCC8] [#xCCA-#xCCB] [#xCD5-#xCD6] [#xCF3] [#xD02-#xD03] [#xD3E-#xD40] [#xD46-#xD48] [#xD4A-#xD4C] [#xD57] [#xD82-#xD83] [#xDCF-#xDD1] [#xDD8-#xDDF] [#xDF2-#xDF3] [#xF3E-#xF3F] [#xF7F] [#x102B-#x102C] [#x1031] [#x1038] [#x103B-#x103C] [#x1056-#x1057] [#x1062-#x1064] [#x1067-#x106D] [#x1083-#x1084] [#x1087-#x108C] [#x108F] [#x109A-#x109C] [#x1715] [#x1734] [#x17B6] [#x17BE-#x17C5] [#x17C7-#x17C8] [#x1923-#x1926] [#x1929-#x192B] [#x1930-#x1931] [#x1933-#x1938] [#x1A19-#x1A1A] [#x1A55] [#x1A57] [#x1A61] [#x1A63-#x1A64] [#x1A6D-#x1A72] [#x1B04] [#x1B35] [#x1B3B] [#x1B3D-#x1B41] [#x1B43-#x1B44] [#x1B82] [#x1BA1] [#x1BA6-#x1BA7] [#x1BAA] [#x1BE7] [#x1BEA-#x1BEC] [#x1BEE] [#x1BF2-#x1BF3] [#x1C24-#x1C2B] [#x1C34-#x1C35] [#x1CE1] [#x1CF7] [#x302E-#x302F] [#xA823-#xA824] [#xA827] [#xA880-#xA881] [#xA8B4-#xA8C3] [#xA952-#xA953] [#xA983] [#xA9B4-#xA9B5] [#xA9BA-#xA9BB] [#xA9BE-#xA9C0] [#xAA2F-#xAA30] [#xAA33-#xAA34] [#xAA4D] [#xAA7B] [#xAA7D] [#xAAEB] [#xAAEE-#xAAEF] [#xAAF5] [#xABE3-#xABE4] [#xABE6-#xABE7] [#xABE9-#xABEA] [#xABEC]
    Mc       ::= [#x903#x93B#x93E-#x940#x949-#x94C#x94E-#x94F#x982-#x983#x9BE-#x9C0#x9C7-#x9C8#x9CB-#x9CC#x9D7#xA03#xA3E-#xA40#xA83#xABE-#xAC0#xAC9#xACB-#xACC#xB02-#xB03#xB3E#xB40#xB47-#xB48#xB4B-#xB4C#xB57#xBBE-#xBBF#xBC1-#xBC2#xBC6-#xBC8#xBCA-#xBCC#xBD7#xC01-#xC03#xC41-#xC44#xC82-#xC83#xCBE#xCC0-#xCC4#xCC7-#xCC8#xCCA-#xCCB#xCD5-#xCD6#xCF3#xD02-#xD03#xD3E-#xD40#xD46-#xD48#xD4A-#xD4C#xD57#xD82-#xD83#xDCF-#xDD1#xDD8-#xDDF#xDF2-#xDF3#xF3E-#xF3F#xF7F#x102B-#x102C#x1031#x1038#x103B-#x103C#x1056-#x1057#x1062-#x1064#x1067-#x106D#x1083-#x1084#x1087-#x108C#x108F#x109A-#x109C#x1715#x1734#x17B6#x17BE-#x17C5#x17C7-#x17C8#x1923-#x1926#x1929-#x192B#x1930-#x1931#x1933-#x1938#x1A19-#x1A1A#x1A55#x1A57#x1A61#x1A63-#x1A64#x1A6D-#x1A72#x1B04#x1B35#x1B3B#x1B3D-#x1B41#x1B43-#x1B44#x1B82#x1BA1#x1BA6-#x1BA7#x1BAA#x1BE7#x1BEA-#x1BEC#x1BEE#x1BF2-#x1BF3#x1C24-#x1C2B#x1C34-#x1C35#x1CE1#x1CF7#x302E-#x302F#xA823-#xA824#xA827#xA880-#xA881#xA8B4-#xA8C3#xA952-#xA953#xA983#xA9B4-#xA9B5#xA9BA-#xA9BB#xA9BE-#xA9C0#xAA2F-#xAA30#xAA33-#xAA34#xAA4D#xAA7B#xAA7D#xAAEB#xAAEE-#xAAEF#xAAF5#xABE3-#xABE4#xABE6-#xABE7#xABE9-#xABEA#xABEC]
    Referenced by:

    Mn

    [#x300-#x36F] [#x483-#x487] [#x591-#x5BD] [#x5BF] [#x5C1-#x5C2] [#x5C4-#x5C5] [#x5C7] [#x610-#x61A] [#x64B-#x65F] [#x670] [#x6D6-#x6DC] [#x6DF-#x6E4] [#x6E7-#x6E8] [#x6EA-#x6ED] [#x711] [#x730-#x74A] [#x7A6-#x7B0] [#x7EB-#x7F3] [#x7FD] [#x816-#x819] [#x81B-#x823] [#x825-#x827] [#x829-#x82D] [#x859-#x85B] [#x898-#x89F] [#x8CA-#x8E1] [#x8E3-#x902] [#x93A] [#x93C] [#x941-#x948] [#x94D] [#x951-#x957] [#x962-#x963] [#x981] [#x9BC] [#x9C1-#x9C4] [#x9CD] [#x9E2-#x9E3] [#x9FE] [#xA01-#xA02] [#xA3C] [#xA41-#xA42] [#xA47-#xA48] [#xA4B-#xA4D] [#xA51] [#xA70-#xA71] [#xA75] [#xA81-#xA82] [#xABC] [#xAC1-#xAC5] [#xAC7-#xAC8] [#xACD] [#xAE2-#xAE3] [#xAFA-#xAFF] [#xB01] [#xB3C] [#xB3F] [#xB41-#xB44] [#xB4D] [#xB55-#xB56] [#xB62-#xB63] [#xB82] [#xBC0] [#xBCD] [#xC00] [#xC04] [#xC3C] [#xC3E-#xC40] [#xC46-#xC48] [#xC4A-#xC4D] [#xC55-#xC56] [#xC62-#xC63] [#xC81] [#xCBC] [#xCBF] [#xCC6] [#xCCC-#xCCD] [#xCE2-#xCE3] [#xD00-#xD01] [#xD3B-#xD3C] [#xD41-#xD44] [#xD4D] [#xD62-#xD63] [#xD81] [#xDCA] [#xDD2-#xDD4] [#xDD6] [#xE31] [#xE34-#xE3A] [#xE47-#xE4E] [#xEB1] [#xEB4-#xEBC] [#xEC8-#xECE] [#xF18-#xF19] [#xF35] [#xF37] [#xF39] [#xF71-#xF7E] [#xF80-#xF84] [#xF86-#xF87] [#xF8D-#xF97] [#xF99-#xFBC] [#xFC6] [#x102D-#x1030] [#x1032-#x1037] [#x1039-#x103A] [#x103D-#x103E] [#x1058-#x1059] [#x105E-#x1060] [#x1071-#x1074] [#x1082] [#x1085-#x1086] [#x108D] [#x109D] [#x135D-#x135F] [#x1712-#x1714] [#x1732-#x1733] [#x1752-#x1753] [#x1772-#x1773] [#x17B4-#x17B5] [#x17B7-#x17BD] [#x17C6] [#x17C9-#x17D3] [#x17DD] [#x180B-#x180D] [#x180F] [#x1885-#x1886] [#x18A9] [#x1920-#x1922] [#x1927-#x1928] [#x1932] [#x1939-#x193B] [#x1A17-#x1A18] [#x1A1B] [#x1A56] [#x1A58-#x1A5E] [#x1A60] [#x1A62] [#x1A65-#x1A6C] [#x1A73-#x1A7C] [#x1A7F] [#x1AB0-#x1ABD] [#x1ABF-#x1ACE] [#x1B00-#x1B03] [#x1B34] [#x1B36-#x1B3A] [#x1B3C] [#x1B42] [#x1B6B-#x1B73] [#x1B80-#x1B81] [#x1BA2-#x1BA5] [#x1BA8-#x1BA9] [#x1BAB-#x1BAD] [#x1BE6] [#x1BE8-#x1BE9] [#x1BED] [#x1BEF-#x1BF1] [#x1C2C-#x1C33] [#x1C36-#x1C37] [#x1CD0-#x1CD2] [#x1CD4-#x1CE0] [#x1CE2-#x1CE8] [#x1CED] [#x1CF4] [#x1CF8-#x1CF9] [#x1DC0-#x1DFF] [#x20D0-#x20DC] [#x20E1] [#x20E5-#x20F0] [#x2CEF-#x2CF1] [#x2D7F] [#x2DE0-#x2DFF] [#x302A-#x302D] [#x3099-#x309A] [#xA66F] [#xA674-#xA67D] [#xA69E-#xA69F] [#xA6F0-#xA6F1] [#xA802] [#xA806] [#xA80B] [#xA825-#xA826] [#xA82C] [#xA8C4-#xA8C5] [#xA8E0-#xA8F1] [#xA8FF] [#xA926-#xA92D] [#xA947-#xA951] [#xA980-#xA982] [#xA9B3] [#xA9B6-#xA9B9] [#xA9BC-#xA9BD] [#xA9E5] [#xAA29-#xAA2E] [#xAA31-#xAA32] [#xAA35-#xAA36] [#xAA43] [#xAA4C] [#xAA7C] [#xAAB0] [#xAAB2-#xAAB4] [#xAAB7-#xAAB8] [#xAABE-#xAABF] [#xAAC1] [#xAAEC-#xAAED] [#xAAF6] [#xABE5] [#xABE8] [#xABED] [#xFB1E] [#xFE00-#xFE0F] [#xFE20-#xFE2F]
    Mn       ::= [#x300-#x36F#x483-#x487#x591-#x5BD#x5BF#x5C1-#x5C2#x5C4-#x5C5#x5C7#x610-#x61A#x64B-#x65F#x670#x6D6-#x6DC#x6DF-#x6E4#x6E7-#x6E8#x6EA-#x6ED#x711#x730-#x74A#x7A6-#x7B0#x7EB-#x7F3#x7FD#x816-#x819#x81B-#x823#x825-#x827#x829-#x82D#x859-#x85B#x898-#x89F#x8CA-#x8E1#x8E3-#x902#x93A#x93C#x941-#x948#x94D#x951-#x957#x962-#x963#x981#x9BC#x9C1-#x9C4#x9CD#x9E2-#x9E3#x9FE#xA01-#xA02#xA3C#xA41-#xA42#xA47-#xA48#xA4B-#xA4D#xA51#xA70-#xA71#xA75#xA81-#xA82#xABC#xAC1-#xAC5#xAC7-#xAC8#xACD#xAE2-#xAE3#xAFA-#xAFF#xB01#xB3C#xB3F#xB41-#xB44#xB4D#xB55-#xB56#xB62-#xB63#xB82#xBC0#xBCD#xC00#xC04#xC3C#xC3E-#xC40#xC46-#xC48#xC4A-#xC4D#xC55-#xC56#xC62-#xC63#xC81#xCBC#xCBF#xCC6#xCCC-#xCCD#xCE2-#xCE3#xD00-#xD01#xD3B-#xD3C#xD41-#xD44#xD4D#xD62-#xD63#xD81#xDCA#xDD2-#xDD4#xDD6#xE31#xE34-#xE3A#xE47-#xE4E#xEB1#xEB4-#xEBC#xEC8-#xECE#xF18-#xF19#xF35#xF37#xF39#xF71-#xF7E#xF80-#xF84#xF86-#xF87#xF8D-#xF97#xF99-#xFBC#xFC6#x102D-#x1030#x1032-#x1037#x1039-#x103A#x103D-#x103E#x1058-#x1059#x105E-#x1060#x1071-#x1074#x1082#x1085-#x1086#x108D#x109D#x135D-#x135F#x1712-#x1714#x1732-#x1733#x1752-#x1753#x1772-#x1773#x17B4-#x17B5#x17B7-#x17BD#x17C6#x17C9-#x17D3#x17DD#x180B-#x180D#x180F#x1885-#x1886#x18A9#x1920-#x1922#x1927-#x1928#x1932#x1939-#x193B#x1A17-#x1A18#x1A1B#x1A56#x1A58-#x1A5E#x1A60#x1A62#x1A65-#x1A6C#x1A73-#x1A7C#x1A7F#x1AB0-#x1ABD#x1ABF-#x1ACE#x1B00-#x1B03#x1B34#x1B36-#x1B3A#x1B3C#x1B42#x1B6B-#x1B73#x1B80-#x1B81#x1BA2-#x1BA5#x1BA8-#x1BA9#x1BAB-#x1BAD#x1BE6#x1BE8-#x1BE9#x1BED#x1BEF-#x1BF1#x1C2C-#x1C33#x1C36-#x1C37#x1CD0-#x1CD2#x1CD4-#x1CE0#x1CE2-#x1CE8#x1CED#x1CF4#x1CF8-#x1CF9#x1DC0-#x1DFF#x20D0-#x20DC#x20E1#x20E5-#x20F0#x2CEF-#x2CF1#x2D7F#x2DE0-#x2DFF#x302A-#x302D#x3099-#x309A#xA66F#xA674-#xA67D#xA69E-#xA69F#xA6F0-#xA6F1#xA802#xA806#xA80B#xA825-#xA826#xA82C#xA8C4-#xA8C5#xA8E0-#xA8F1#xA8FF#xA926-#xA92D#xA947-#xA951#xA980-#xA982#xA9B3#xA9B6-#xA9B9#xA9BC-#xA9BD#xA9E5#xAA29-#xAA2E#xAA31-#xAA32#xAA35-#xAA36#xAA43#xAA4C#xAA7C#xAAB0#xAAB2-#xAAB4#xAAB7-#xAAB8#xAABE-#xAABF#xAAC1#xAAEC-#xAAED#xAAF6#xABE5#xABE8#xABED#xFB1E#xFE00-#xFE0F#xFE20-#xFE2F]
    Referenced by:

    Nd

    [0-9] [#x660-#x669] [#x6F0-#x6F9] [#x7C0-#x7C9] [#x966-#x96F] [#x9E6-#x9EF] [#xA66-#xA6F] [#xAE6-#xAEF] [#xB66-#xB6F] [#xBE6-#xBEF] [#xC66-#xC6F] [#xCE6-#xCEF] [#xD66-#xD6F] [#xDE6-#xDEF] [#xE50-#xE59] [#xED0-#xED9] [#xF20-#xF29] [#x1040-#x1049] [#x1090-#x1099] [#x17E0-#x17E9] [#x1810-#x1819] [#x1946-#x194F] [#x19D0-#x19D9] [#x1A80-#x1A89] [#x1A90-#x1A99] [#x1B50-#x1B59] [#x1BB0-#x1BB9] [#x1C40-#x1C49] [#x1C50-#x1C59] [#xA620-#xA629] [#xA8D0-#xA8D9] [#xA900-#xA909] [#xA9D0-#xA9D9] [#xA9F0-#xA9F9] [#xAA50-#xAA59] [#xABF0-#xABF9] [#xFF10-#xFF19]
    Nd       ::= [0-9#x660-#x669#x6F0-#x6F9#x7C0-#x7C9#x966-#x96F#x9E6-#x9EF#xA66-#xA6F#xAE6-#xAEF#xB66-#xB6F#xBE6-#xBEF#xC66-#xC6F#xCE6-#xCEF#xD66-#xD6F#xDE6-#xDEF#xE50-#xE59#xED0-#xED9#xF20-#xF29#x1040-#x1049#x1090-#x1099#x17E0-#x17E9#x1810-#x1819#x1946-#x194F#x19D0-#x19D9#x1A80-#x1A89#x1A90-#x1A99#x1B50-#x1B59#x1BB0-#x1BB9#x1C40-#x1C49#x1C50-#x1C59#xA620-#xA629#xA8D0-#xA8D9#xA900-#xA909#xA9D0-#xA9D9#xA9F0-#xA9F9#xAA50-#xAA59#xABF0-#xABF9#xFF10-#xFF19]

    Pc

    [#x203F-#x2040] [#x2054] [#xFE33-#xFE34] [#xFE4D-#xFE4F] [#xFF3F]
    Pc       ::= [#x203F-#x2040#x2054#xFE33-#xFE34#xFE4D-#xFE4F#xFF3F]
    Referenced by:

    CJK

    [#xAC00-#xD7A3] [#x4E00-#x9FFF]
    CJK      ::= [#xAC00-#xD7A3#x4E00-#x9FFF]

    ESC

    \ n t b r f \ "
    ESC      ::= '\' [ntbrf\"]
    Referenced by:

    S_CHAR_LITERAL

    U E N R B RB _utf8 q'{ . }' ' ESC \' [^'\] '' [^'] ' q'( . )' q'[ . ]' q'' . ''
             ::= ( [UENRB] | 'RB' | '_utf8' )? ( "'" ( ( ESC | "\'" | [^'\] )* | ( "''" | [^'] )+ ) "'" | "q'{" .* "}'" | "q'(" .* ")'" | "q'[" .* "]'" | "q''" .* "''" )

    S_QUOTED_IDENTIFIER

    " "" [^"#xA#xD] " $$ [^$] $$ ` [^`#xA#xD] ` [ [^#x5D#xA#xD] ]
             ::= '"' ( '""' | [^"#xA#xD] )* '"'
               | '$$' [^$]* '$$'
               | '`' [^`#xA#xD]+ '`'
               | '[' [^#x5D#xA#xD]* ']'

    EOF

    $
    EOF      ::= $
    Referenced by: