SQL Syntax 4.7-SNAPSHOT#

    The EBNF and Railroad Diagrams for JSQLParser-4.6.

    Statement#

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

    SingleStatement#

    WithList SelectWithWithItems Insert Update Delete Merge Select Upsert Alter RenameTableStatement Create Drop Analyze Truncate Execute Set Reset Show Use SavepointStatement RollbackStatement COMMIT Comment Describe Explain Declare Grant PurgeStatement
             ::= WithList? ( SelectWithWithItems | Insert | Update | Delete | Merge )
               | Select
               | Upsert
               | Alter
               | RenameTableStatement
               | Create
               | Drop
               | Analyze
               | Truncate
               | Execute
               | Set
               | Reset
               | Show
               | 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 SingleStatement Block ST_SEMICOLON UnsupportedStatement ST_SEMICOLON IF Condition SingleStatement Block ST_SEMICOLON ELSE SingleStatement Block 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 Table
    Describe ::= 'DESCRIBE' Table
    Referenced by:

    Explain#

    EXPLAIN ExplainStatementOptions Select
    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 ExplainFormatOption
             ::= ( ( 'ANALYZE' | 'BUFFERS' | 'COSTS' | 'VERBOSE' ) ExplainOptionBoolean | 'FORMAT' 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:

    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
    Referenced by:

    ReturningClause#

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

    Update#

    UPDATE LOW_PRIORITY IGNORE TableWithAlias JoinsList SET UpdateSets OutputClause FROM FromItem JoinsList WhereClause OrderByElements PlainLimit ReturningClause
    Referenced by:

    UpdateSets#

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

    Insert#

    INSERT LOW_PRIORITY DELAYED HIGH_PRIORITY IGNORE INTO Table AS RelObjectNameWithoutValue ( ColumnList ) OutputClause SET UpdateSets Select ON DUPLICATE KEY UPDATE UpdateSets ON CONFLICT InsertConflictTarget InsertConflictAction ReturningClause
    Insert   ::= 'INSERT' ( 'LOW_PRIORITY' | 'DELAYED' | 'HIGH_PRIORITY' )? 'IGNORE'? 'INTO'? Table ( 'AS'? RelObjectNameWithoutValue )? ( '(' ColumnList ')' )? OutputClause? ( 'SET' UpdateSets | Select ) ( 'ON' 'DUPLICATE' 'KEY' 'UPDATE' UpdateSets )? ( 'ON' 'CONFLICT' InsertConflictTarget? InsertConflictAction )? ReturningClause?
    Referenced by:

    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:

    Delete#

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

    Merge#

    MERGE INTO TableWithAlias USING FromItem ON ( Expression ) MergeUpdateClause MergeInsertClause MergeInsertClause MergeUpdateClause
    Referenced by:

    MergeUpdateClause#

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

    MergeInsertClause#

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

    RelObjectNameList#

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

    Column#

    RelObjectNameList . K_NEXTVAL ArrayConstructor

    RelObjectNameWithoutValue#

    S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATE_LITERAL K_DATETIMELITERAL K_STRING_FUNCTION_NAME K_ISOLATION K_TIME_KEY_EXPR ACTION ACTIVE ADD ADVANCE ADVISE AGAINST ALGORITHM ALTER ANALYZE APPLY ARCHIVE ARRAY ASC AT AUTHORIZATION AUTO BEGIN BINARY BIT BROWSE BUFFERS BY BYTE BYTES CACHE CALL CASCADE CASE CAST CHANGE CHANGES CHAR CHARACTER CHECKPOINT CLOSE COLLATE COLUMN COLUMNS COMMENT COMMIT CONFLICT CONVERT COSTS CS CYCLE DATABASE DDL DECLARE DEFAULT DEFERRABLE DELAYED DELETE DESC DESCRIBE DISABLE DISCONNECT DIV DML DO DOMAIN DROP DUMP DUPLICATE ELEMENTS EMIT ENABLE END ESCAPE EXCLUDE EXEC EXECUTE EXPLAIN EXPLICIT EXTENDED EXTRACT FALSE FILTER FIRST FLUSH FN FOLLOWING FORMAT FULLTEXT FUNCTION GLOBAL GRANT GUARD HISTORY HOPPING INCLUDE INCREMENT INDEX INSERT INTERLEAVE ISNULL JSON KEEP KEY KEYS LAST LEADING LINK LOCAL LOCKED LOG MATCH MATCHED MATERIALIZED MAXVALUE MEMBER MERGE MINVALUE MODIFY MOVEMENT NEXT NO NOCACHE NOKEEP NOLOCK NOMAXVALUE NOMINVALUE NOORDER NOTHING NOTNULL NOVALIDATE NOWAIT NULLS OF OFF OPEN OVER OVERLAPS PARALLEL PARENT PARTITION PATH PERCENT PLACING PRECEDING PRECISION PRIMARY PRIOR PURGE QUERY QUICK QUIESCE RANGE RAW READ RECYCLEBIN REFERENCES REFRESH REGISTER RENAME REPLACE RESET RESTART RESTRICT RESTRICTED RESUMABLE RESUME RLIKE ROLLBACK ROOT ROW ROWS RR RS SAVEPOINT SCHEMA SEPARATOR SEQUENCE SESSION SETS SHOW SHUTDOWN SIBLINGS SIGNED SIMILAR SIZE SKIP STORED STRING SUSPEND SWITCH SYNONYM SYSTEM TABLE TABLESPACE TEMP TEMPORARY THEN TIMEOUT TIMESTAMPTZ TO TRIGGER TRUE TRUNCATE TUMBLING TYPE UNLOGGED UNQIESCE UNSIGNED UPDATE UPSERT UR USER VALIDATE VERBOSE VIEW WAIT WITHIN WITHOUT WORK XML XMLAGG XMLDATA XMLSCHEMA XMLTEXT XSINIL YAML YES ZONE
             ::= S_IDENTIFIER
               | S_QUOTED_IDENTIFIER
               | K_DATE_LITERAL
               | K_DATETIMELITERAL
               | K_STRING_FUNCTION_NAME
               | K_ISOLATION
               | K_TIME_KEY_EXPR
               | 'ACTION'
               | 'ACTIVE'
               | 'ADD'
               | 'ADVANCE'
               | 'ADVISE'
               | 'AGAINST'
               | 'ALGORITHM'
               | 'ALTER'
               | 'ANALYZE'
               | 'APPLY'
               | 'ARCHIVE'
               | 'ARRAY'
               | 'ASC'
               | 'AT'
               | 'AUTHORIZATION'
               | 'AUTO'
               | 'BEGIN'
               | 'BINARY'
               | 'BIT'
               | 'BROWSE'
               | 'BUFFERS'
               | 'BY'
               | 'BYTE'
               | 'BYTES'
               | 'CACHE'
               | 'CALL'
               | 'CASCADE'
               | 'CASE'
               | 'CAST'
               | 'CHANGE'
               | 'CHANGES'
               | 'CHAR'
               | 'CHARACTER'
               | 'CHECKPOINT'
               | 'CLOSE'
               | 'COLLATE'
               | 'COLUMN'
               | 'COLUMNS'
               | 'COMMENT'
               | 'COMMIT'
               | 'CONFLICT'
               | 'CONVERT'
               | 'COSTS'
               | 'CS'
               | 'CYCLE'
               | 'DATABASE'
               | 'DDL'
               | 'DECLARE'
               | 'DEFAULT'
               | 'DEFERRABLE'
               | 'DELAYED'
               | 'DELETE'
               | 'DESC'
               | 'DESCRIBE'
               | 'DISABLE'
               | 'DISCONNECT'
               | 'DIV'
               | 'DML'
               | 'DO'
               | 'DOMAIN'
               | 'DROP'
               | 'DUMP'
               | 'DUPLICATE'
               | 'ELEMENTS'
               | 'EMIT'
               | 'ENABLE'
               | 'END'
               | 'ESCAPE'
               | 'EXCLUDE'
               | 'EXEC'
               | 'EXECUTE'
               | 'EXPLAIN'
               | 'EXPLICIT'
               | 'EXTENDED'
               | 'EXTRACT'
               | 'FALSE'
               | 'FILTER'
               | 'FIRST'
               | 'FLUSH'
               | 'FN'
               | 'FOLLOWING'
               | 'FORMAT'
               | 'FULLTEXT'
               | 'FUNCTION'
               | 'GLOBAL'
               | 'GRANT'
               | 'GUARD'
               | 'HISTORY'
               | 'HOPPING'
               | 'INCLUDE'
               | 'INCREMENT'
               | 'INDEX'
               | 'INSERT'
               | 'INTERLEAVE'
               | 'ISNULL'
               | 'JSON'
               | 'KEEP'
               | 'KEY'
               | 'KEYS'
               | 'LAST'
               | 'LEADING'
               | 'LINK'
               | 'LOCAL'
               | 'LOCKED'
               | 'LOG'
               | 'MATCH'
               | 'MATCHED'
               | 'MATERIALIZED'
               | 'MAXVALUE'
               | 'MEMBER'
               | 'MERGE'
               | 'MINVALUE'
               | 'MODIFY'
               | 'MOVEMENT'
               | 'NEXT'
               | 'NO'
               | 'NOCACHE'
               | 'NOKEEP'
               | 'NOLOCK'
               | 'NOMAXVALUE'
               | 'NOMINVALUE'
               | 'NOORDER'
               | 'NOTHING'
               | 'NOTNULL'
               | 'NOVALIDATE'
               | 'NOWAIT'
               | 'NULLS'
               | 'OF'
               | 'OFF'
               | 'OPEN'
               | 'OVER'
               | 'OVERLAPS'
               | 'PARALLEL'
               | 'PARENT'
               | 'PARTITION'
               | 'PATH'
               | 'PERCENT'
               | 'PLACING'
               | 'PRECEDING'
               | 'PRECISION'
               | 'PRIMARY'
               | 'PRIOR'
               | 'PURGE'
               | 'QUERY'
               | 'QUICK'
               | 'QUIESCE'
               | 'RANGE'
               | 'RAW'
               | 'READ'
               | 'RECYCLEBIN'
               | 'REFERENCES'
               | 'REFRESH'
               | 'REGISTER'
               | 'RENAME'
               | 'REPLACE'
               | 'RESET'
               | 'RESTART'
               | 'RESTRICT'
               | 'RESTRICTED'
               | 'RESUMABLE'
               | 'RESUME'
               | 'RLIKE'
               | 'ROLLBACK'
               | 'ROOT'
               | 'ROW'
               | 'ROWS'
               | 'RR'
               | 'RS'
               | 'SAVEPOINT'
               | 'SCHEMA'
               | 'SEPARATOR'
               | 'SEQUENCE'
               | 'SESSION'
               | 'SETS'
               | 'SHOW'
               | 'SHUTDOWN'
               | 'SIBLINGS'
               | 'SIGNED'
               | 'SIMILAR'
               | 'SIZE'
               | 'SKIP'
               | 'STORED'
               | 'STRING'
               | 'SUSPEND'
               | 'SWITCH'
               | 'SYNONYM'
               | 'SYSTEM'
               | 'TABLE'
               | 'TABLESPACE'
               | 'TEMP'
               | 'TEMPORARY'
               | 'THEN'
               | 'TIMEOUT'
               | 'TIMESTAMPTZ'
               | 'TO'
               | 'TRIGGER'
               | 'TRUE'
               | 'TRUNCATE'
               | 'TUMBLING'
               | 'TYPE'
               | 'UNLOGGED'
               | 'UNQIESCE'
               | 'UNSIGNED'
               | 'UPDATE'
               | 'UPSERT'
               | 'UR'
               | 'USER'
               | 'VALIDATE'
               | 'VERBOSE'
               | 'VIEW'
               | 'WAIT'
               | 'WITHIN'
               | 'WITHOUT'
               | 'WORK'
               | 'XML'
               | 'XMLAGG'
               | 'XMLDATA'
               | 'XMLSCHEMA'
               | 'XMLTEXT'
               | 'XSINIL'
               | 'YAML'
               | 'YES'
               | 'ZONE'

    RelObjectName#

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

    RelObjectNameWithoutStart#

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

    RelObjectNameExt#

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

    RelObjectNameExt2#

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

    Table#

    RelObjectNameList

    TableWithAlias#

    Table Alias
             ::= Table Alias?
    Referenced by:

    SelectWithWithItems#

    Select
             ::= Select
    Referenced by:

    Select#

    WithList PlainSelect Values ParenthesedSelect SetOperationList OrderByElements LimitWithOffset Offset Fetch WithIsolation

    ParenthesedSelect#

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

    LateralView#

    LATERAL VIEW OUTER Function RelObjectNameWithoutStart AS RelObjectNameWithoutStart
             ::= 'LATERAL' 'VIEW' 'OUTER'? Function RelObjectNameWithoutStart? 'AS' 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 ALL DISTINCT ON ( SelectItemsList ) UNIQUE SQL_CALC_FOUND_ROWS SQL_NO_CACHE SQL_CACHE Top SelectItemsList IntoClause FROM FromItem LateralViews JoinsList FINAL KSQLWindowClause WhereClause OracleHierarchicalQueryClause Having GroupByColumnReferences Having Qualify ForClause OrderByElements WINDOW RelObjectName AS windowDefinition , OrderByElements EMIT CHANGES LimitBy LimitWithOffset Offset LimitWithOffset Fetch WithIsolation FOR UPDATE OF Table Wait NOWAIT SKIP LOCKED OptimizeFor
             ::= K_SELECT 'STRAIGHT_JOIN'? Skip? First? ( 'ALL' | 'DISTINCT' ( 'ON' '(' SelectItemsList ')' )? | 'UNIQUE' | 'SQL_CALC_FOUND_ROWS' | 'SQL_NO_CACHE' | 'SQL_CACHE' )? Top? SelectItemsList IntoClause? ( 'FROM' FromItem LateralViews? JoinsList? )? 'FINAL'? KSQLWindowClause? WhereClause? OracleHierarchicalQueryClause? Having? GroupByColumnReferences? Having? Qualify? ForClause? OrderByElements? ( 'WINDOW' RelObjectName 'AS' windowDefinition ( ',' RelObjectName 'AS' windowDefinition )* )? OrderByElements? ( 'EMIT' 'CHANGES' )? LimitBy? LimitWithOffset? Offset? LimitWithOffset? Fetch? WithIsolation? ( 'FOR' 'UPDATE' ( 'OF' Table )? Wait? ( 'NOWAIT' | 'SKIP' 'LOCKED' )? )? OptimizeFor?
    Referenced by:

    SetOperationList#

    UNION ALL DISTINCT INTERSECT MINUS EXCEPT PlainSelect Values ParenthesedSelect OrderByElements LimitWithOffset Offset LimitWithOffset Fetch WithIsolation
             ::= ( ( 'UNION' ( 'ALL' | 'DISTINCT' )? | 'INTERSECT' | 'MINUS' | 'EXCEPT' ) ( 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 ParenthesedSelect
    WithItem ::= 'RECURSIVE'? RelObjectName ( '(' SelectItemsList ')' )? 'AS' ParenthesedSelect
    Referenced by:

    SelectItemsList#

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

    SelectItem#

    * AllTableColumns Condition ConcatExpression Expression Alias
             ::= ( '*' | AllTableColumns | Condition | ConcatExpression | Expression ) Alias?
    Referenced by:

    AllTableColumns#

    Table . *
             ::= Table '.' '*'

    Alias#

    AS RelObjectNameWithoutStart S_CHAR_LITERAL ( 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 )* ')'
    Referenced by:

    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#

    TableFunction Table ParenthesedFromItem ParenthesedSelect Pivot UnPivot LateralSubSelect Alias UnPivot PivotXml Pivot MySQLIndexHint SQLServerHints

    JoinsList#

    JoinerExpression
             ::= JoinerExpression+

    JoinerExpression#

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

    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:

    GroupByColumnReferences#

    GROUP BY GROUPING SETS ( GroupingSet , ) ExpressionList GROUPING SETS ( GroupingSet , )
             ::= 'GROUP' 'BY' ( 'GROUPING' 'SETS' '(' GroupingSet ( ',' GroupingSet )* ')' | ExpressionList ( 'GROUPING' 'SETS' '(' GroupingSet ( ',' GroupingSet )* ')' )? )
    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
             ::= Expression ( 'ASC' | 'DESC' )? ( 'NULLS' ( 'FIRST' | 'LAST' )? )?
    Referenced by:

    SimpleJdbcParameter#

    ? S_LONG
             ::= '?' S_LONG?

    SimpleJdbcNamedParameter#

    : RelObjectNameExt
             ::= ':' RelObjectNameExt
    Referenced by:

    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 ROWS ROW ONLY
    Fetch    ::= 'FETCH' ( 'FIRST' | 'NEXT' ) Expression ( 'ROWS' | 'ROW' ) 'ONLY'

    WithIsolation#

    WITH K_ISOLATION
             ::= 'WITH' K_ISOLATION

    OptimizeFor#

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

    Top#

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

    Skip#

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

    First#

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

    Expression#

    XorExpression
             ::= XorExpression

    XorExpression#

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

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

    SQLCondition#

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

    InExpression#

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

    Between#

    NOT BETWEEN SimpleExpression AND SimpleExpression
    Between  ::= 'NOT'? 'BETWEEN' SimpleExpression 'AND' SimpleExpression
    Referenced by:

    LikeExpression#

    NOT LIKE ILIKE RLIKE REGEXP BINARY SimpleExpression ESCAPE S_CHAR_LITERAL Expression
             ::= 'NOT'? ( 'LIKE' | 'ILIKE' | 'RLIKE' | '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:

    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 ,
             ::= SimpleExpression ( ',' SimpleExpression )*

    ColumnList#

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

    ParenthesedColumnList#

    ( ColumnList )
             ::= '(' ColumnList ')'
    Referenced by:

    ComplexExpressionList#

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

    ConnectByRootOperator#

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

    NextValExpression#

    K_NEXTVAL RelObjectNameList
             ::= K_NEXTVAL RelObjectNameList
    Referenced by:

    JdbcNamedParameter#

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

    OracleNamedFunctionParameter#

    RelObjectNameExt2 => Expression
             ::= RelObjectNameExt2 '=>' Expression
    Referenced by:

    UserVariable#

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

    NumericBind#

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

    DateTimeLiteralExpression#

    K_DATETIMELITERAL S_CHAR_LITERAL
             ::= K_DATETIMELITERAL S_CHAR_LITERAL
    Referenced by:

    RangeExpression#

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

    ArrayConstructor#

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

    ParenthesedExpression#

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

    JsonExpression#

    CaseWhenExpression SimpleJdbcParameter JdbcNamedParameter UserVariable JsonFunction JsonAggregateFunction FullTextSearch Function Column S_CHAR_LITERAL ParenthesedExpression ParenthesedSelect :: ColDataType -> ->> S_CHAR_LITERAL S_LONG #> #>> S_CHAR_LITERAL :: ColDataType -> ->> S_CHAR_LITERAL S_LONG #> #>> S_CHAR_LITERAL
             ::= ( CaseWhenExpression | SimpleJdbcParameter | JdbcNamedParameter | UserVariable | JsonFunction | JsonAggregateFunction | FullTextSearch | Function | Column | S_CHAR_LITERAL | ParenthesedExpression | ParenthesedSelect ) ( '::' ColDataType )* ( ( '->' | '->>' ) ( S_CHAR_LITERAL | S_LONG ) | ( '#>' | '#>>' ) S_CHAR_LITERAL )+ ( ( '::' ColDataType )+ ( ( '->' | '->>' ) ( S_CHAR_LITERAL | S_LONG ) | ( '#>' | '#>>' ) S_CHAR_LITERAL )* )*
    Referenced by:

    JsonFunction#

    JSON_OBJECT ( KEY S_CHAR_LITERAL : , VALUE Expression FORMAT JSON , KEY S_CHAR_LITERAL : , 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 ( ( ':' | ',' | 'VALUE' ) Expression ( 'FORMAT' 'JSON' )? )? ( ',' 'KEY'? S_CHAR_LITERAL ( ':' | ',' | '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' )? ) ')'

    JsonAggregateFunction#

    JSON_OBJECTAGG ( KEY DT_ZONE S_DOUBLE S_LONG S_HEX S_CHAR_LITERAL S_IDENTIFIER S_QUOTED_IDENTIFIER : VALUE S_IDENTIFIER S_QUOTED_IDENTIFIER 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 | S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( ':' | 'VALUE' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ( '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? ')' )?

    IntervalExpression#

    INTERVAL - S_LONG S_DOUBLE S_CHAR_LITERAL SimpleJdbcParameter JdbcNamedParameter Function Column 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#

    IGNORE NULLS OVER WITHIN GROUP RelObjectName windowDefinition OVER ( PARTITION BY ComplexExpressionList ( ComplexExpressionList ) )
             ::= ( ( 'IGNORE' 'NULLS' )? '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:

    CastExpression#

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

    CaseWhenExpression#

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

    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 RelObjectNameList ExpressionList
    Execute  ::= ( 'EXEC' | 'EXECUTE' | 'CALL' ) RelObjectNameList ExpressionList?
    Referenced by:

    FullTextSearch#

    MATCH ( ColumnList ) AGAINST ( S_CHAR_LITERAL SimpleJdbcParameter SimpleJdbcNamedParameter IN NATURAL LANGUAGE MODE IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION IN BOOLEAN MODE WITH QUERY EXPANSION )
             ::= 'MATCH' '(' ColumnList ')' 'AGAINST' '(' ( S_CHAR_LITERAL | SimpleJdbcParameter | SimpleJdbcNamedParameter ) ( 'IN NATURAL LANGUAGE MODE' | 'IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION' | 'IN BOOLEAN MODE' | 'WITH QUERY EXPANSION' )? ')'

    Function#

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

    SpecialStringFunctionWithNamedParameters#

    K_STRING_FUNCTION_NAME ( NamedExpressionListExprFirst ExpressionList )
    Referenced by:

    InternalFunction#

    RelObjectNameList ( DISTINCT ALL UNIQUE * AllTableColumns ExpressionList OrderByElements Select IGNORE NULLS ) . Function Column KeepExpression
             ::= RelObjectNameList '(' ( ( 'DISTINCT' | 'ALL' | 'UNIQUE' )? ( '*' | AllTableColumns | ExpressionList OrderByElements? | Select ) )? ( 'IGNORE' 'NULLS' )? ')' ( '.' ( Function | Column ) )? 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#

    Function Alias
             ::= Function Alias?
    Referenced by:

    ColumnNamesWithParamsList#

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

    Index#

    RelObjectNameList

    CreateIndex#

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

    ColumnDefinition#

    RelObjectName ColDataType CreateParameter

    CreateSchema#

    SCHEMA S_IDENTIFIER S_QUOTED_IDENTIFIER AUTHORIZATION S_IDENTIFIER S_QUOTED_IDENTIFIER PathSpecification CREATE CreateTable CreateView
             ::= 'SCHEMA' ( 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:

    ColDataType#

    ARRAY < ColDataType > BYTES STRING JSON ( S_LONG S_IDENTIFIER ) CHARACTER BIT VARYING DOUBLE PRECISION S_IDENTIFIER S_QUOTED_IDENTIFIER K_DATETIMELITERAL K_DATE_LITERAL XML INTERVAL DT_ZONE CHAR SET BINARY JSON STRING . S_IDENTIFIER S_QUOTED_IDENTIFIER UNSIGNED SIGNED S_IDENTIFIER ( S_LONG BYTE CHAR S_CHAR_LITERAL S_IDENTIFIER CHAR , ) [ S_LONG ] CHARACTER SET S_IDENTIFIER BINARY
             ::= ( 'ARRAY' '<' ColDataType '>' | ( 'BYTES' | 'STRING' | 'JSON' ) '(' ( S_LONG | S_IDENTIFIER ) ')' | ( 'CHARACTER' | 'BIT' ) 'VARYING'? | 'DOUBLE' 'PRECISION'? | ( S_IDENTIFIER | S_QUOTED_IDENTIFIER | K_DATETIMELITERAL | K_DATE_LITERAL | 'XML' | 'INTERVAL' | DT_ZONE | 'CHAR' | 'SET' | 'BINARY' | 'JSON' | 'STRING' ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? | ( 'UNSIGNED' | 'SIGNED' ) S_IDENTIFIER? ) ( '(' ( ( S_LONG ( 'BYTE' | 'CHAR' )? | S_CHAR_LITERAL | S_IDENTIFIER | 'CHAR' ) ','? )* ')' )? ( '[' S_LONG? ']' )* ( 'CHARACTER' 'SET' ( S_IDENTIFIER | 'BINARY' ) )?

    Analyze#

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

    CreateView#

    NO FORCE TEMP TEMPORARY MATERIALIZED VIEW Table AUTO REFRESH YES NO IF NOT EXISTS ColumnsNamesList AS Select WITH READ ONLY
             ::= ( 'NO'? 'FORCE' )? ( 'TEMP' | 'TEMPORARY' )? 'MATERIALIZED'? 'VIEW' Table ( 'AUTO' 'REFRESH' ( 'YES' | 'NO' ) )? ( 'IF' 'NOT' 'EXISTS' )? ColumnsNamesList? 'AS' Select ( 'WITH' 'READ' 'ONLY' )?
    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 . S_IDENTIFIER S_QUOTED_IDENTIFIER USING INDEX TABLESPACE RelObjectName S_CHAR_LITERAL NULL NOT PRIMARY FOREIGN REFERENCES KEY STORED ON COMMIT DROP ROWS UNIQUE CASCADE DELETE UPDATE CONSTRAINT WITH EXCLUDE WHERE UNSIGNED TEMP TEMPORARY PARTITION BY IN TYPE COMMENT USING COLLATE ASC DESC TRUE FALSE PARALLEL BINARY START K_TIME_KEY_EXPR = 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 ) ( '.' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )?
               | ( 'USING' 'INDEX' )? 'TABLESPACE' RelObjectName
               | S_CHAR_LITERAL
               | 'NULL'
               | 'NOT'
               | 'PRIMARY'
               | 'FOREIGN'
               | 'REFERENCES'
               | 'KEY'
               | 'STORED'
               | 'ON'
               | 'COMMIT'
               | 'DROP'
               | 'ROWS'
               | 'UNIQUE'
               | 'CASCADE'
               | 'DELETE'
               | 'UPDATE'
               | 'CONSTRAINT'
               | 'WITH'
               | 'EXCLUDE'
               | 'WHERE'
               | 'UNSIGNED'
               | 'TEMP'
               | 'TEMPORARY'
               | 'PARTITION'
               | 'BY'
               | 'IN'
               | 'TYPE'
               | 'COMMENT'
               | 'USING'
               | 'COLLATE'
               | 'ASC'
               | 'DESC'
               | 'TRUE'
               | 'FALSE'
               | 'PARALLEL'
               | 'BINARY'
               | 'START'
               | K_TIME_KEY_EXPR
               | '='
               | ( '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 RelObjectNameWithoutValue , = )
    AList    ::= '(' ( ( S_LONG | S_DOUBLE | S_CHAR_LITERAL | 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 '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:

    AlterExpression#

    ADD ALTER MODIFY PRIMARY KEY KEY INDEX RelObjectName ColumnsNamesList AlterExpressionConstraintState UNIQUE KEY INDEX S_IDENTIFIER S_QUOTED_IDENTIFIER ColumnsNamesList USING RelObjectName COLUMN ( 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 CHECK ( Expression ) RelObjectName COMMENT S_CHAR_LITERAL CHANGE COLUMN S_IDENTIFIER S_QUOTED_IDENTIFIER AlterExpressionColumnDataType DROP ColumnsNamesList COLUMN IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER INVALIDATE CASCADE CONSTRAINTS INDEX S_IDENTIFIER S_QUOTED_IDENTIFIER UNIQUE FOREIGN KEY ColumnsNamesList PRIMARY KEY CONSTRAINT IF EXISTS S_IDENTIFIER S_QUOTED_IDENTIFIER CASCADE RESTRICT ALGORITHM = RelObjectName RENAME COLUMN S_IDENTIFIER S_QUOTED_IDENTIFIER TO S_IDENTIFIER S_QUOTED_IDENTIFIER COMMENT S_CHAR_LITERAL captureRest
             ::= ( 'ADD' | 'ALTER' | 'MODIFY' ) ( ( ( 'PRIMARY' 'KEY' | ( 'KEY' | 'INDEX' ) RelObjectName ) ColumnsNamesList AlterExpressionConstraintState | 'UNIQUE' ( ( 'KEY' | 'INDEX' ) ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? ColumnsNamesList ) ( 'USING' RelObjectName )? | 'COLUMN'? ( '(' 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 )? | 'CHECK' ( '(' Expression ')' )* ) | RelObjectName 'COMMENT' S_CHAR_LITERAL )
               | 'CHANGE' 'COLUMN'? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) AlterExpressionColumnDataType
               | 'DROP' ( ( ColumnsNamesList | 'COLUMN'? ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) 'INVALIDATE'? ( 'CASCADE' 'CONSTRAINTS'? )? | 'INDEX' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) | ( ( 'UNIQUE' | 'FOREIGN' 'KEY' ) ColumnsNamesList | 'PRIMARY' 'KEY' | 'CONSTRAINT' ( 'IF' 'EXISTS' )? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) ) ( 'CASCADE' | 'RESTRICT' )? )
               | 'ALGORITHM' '='? RelObjectName
               | 'RENAME' ( 'COLUMN'? ( S_IDENTIFIER | S_QUOTED_IDENTIFIER ) )? 'TO' ( S_IDENTIFIER | S_QUOTED_IDENTIFIER )
               | 'COMMENT' S_CHAR_LITERAL
               | 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 UNQUIESCE 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' | 'UNQUIESCE' | '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 RelObjectNameList S_IDENTIFIER TO UsersList
    Grant    ::= 'GRANT' ( ( readGrantTypes ( ',' readGrantTypes )* )? 'ON' RelObjectNameList | 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#

    RelObjectNameList

    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 RelObjectNameList
             ::= 'PUBLIC'? 'SYNONYM' Synonym 'FOR' RelObjectNameList
    Referenced by:

    Synonym#

    RelObjectNameList
    Referenced by:

    UnsupportedStatement#

    captureUnsupportedStatementDeclaration
    Referenced by:

    IdentifierChain#

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

    CharacterPrimary#

    TranscodingFunction TrimFunction
             ::= TranscodingFunction
               | TrimFunction
    Referenced by:

    TranscodingFunction#

    CONVERT ( Expression USING IdentifierChain )
             ::= 'CONVERT' '(' 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 TIME TIMESTAMP TIMESTAMPTZ
             ::= 'DATE'
               | '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_TIME_KEY_EXPR#

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

    K_STRING_FUNCTION_NAME#

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

    ST_SEMICOLON#

    ; [#xA] / [#xA] [#xA] go
             ::= ';'
               | #xA ( [/#xA] #xA | 'go' )
    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_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'

    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_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: