1369 lines
36 KiB
ANTLR
1369 lines
36 KiB
ANTLR
/*
|
|
Python grammar
|
|
The MIT License (MIT)
|
|
Copyright (c) 2021 Robert Einhorn
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
*/
|
|
|
|
/*
|
|
* Project : an ANTLR4 lexer grammar for Python 3
|
|
* https://github.com/RobEin/ANTLR4-parser-for-Python-3.12
|
|
* Developed by : Robert Einhorn, robert.einhorn.hu@gmail.com
|
|
*/
|
|
|
|
lexer grammar PythonLexer;
|
|
|
|
options { superClass=PythonLexerBase; }
|
|
|
|
tokens {
|
|
INDENT, DEDENT // https://docs.python.org/3.12/reference/lexical_analysis.html#indentation
|
|
, FSTRING_START, FSTRING_MIDDLE, FSTRING_END // https://peps.python.org/pep-0701/#specification
|
|
}
|
|
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html
|
|
|
|
/*
|
|
* default lexer mode
|
|
*/
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#keywords
|
|
FALSE : 'False';
|
|
AWAIT : 'await';
|
|
ELSE : 'else';
|
|
IMPORT : 'import';
|
|
PASS : 'pass';
|
|
NONE : 'None';
|
|
BREAK : 'break';
|
|
EXCEPT : 'except';
|
|
IN : 'in';
|
|
RAISE : 'raise';
|
|
TRUE : 'True';
|
|
CLASS : 'class';
|
|
FINALLY : 'finally';
|
|
IS : 'is';
|
|
RETURN : 'return';
|
|
AND : 'and';
|
|
CONTINUE : 'continue';
|
|
FOR : 'for';
|
|
LAMBDA : 'lambda';
|
|
TRY : 'try';
|
|
AS : 'as';
|
|
DEF : 'def';
|
|
FROM : 'from';
|
|
NONLOCAL : 'nonlocal';
|
|
WHILE : 'while';
|
|
ASSERT : 'assert';
|
|
DEL : 'del';
|
|
GLOBAL : 'global';
|
|
NOT : 'not';
|
|
WITH : 'with';
|
|
ASYNC : 'async';
|
|
ELIF : 'elif';
|
|
IF : 'if';
|
|
OR : 'or';
|
|
YIELD : 'yield';
|
|
|
|
// https://docs.python.org/3.12/library/token.html#module-token
|
|
LPAR : '('; // OPEN_PAREN
|
|
LSQB : '['; // OPEN_BRACK
|
|
LBRACE : '{'; // OPEN_BRACE
|
|
RPAR : ')'; // CLOSE_PAREN
|
|
RSQB : ']'; // CLOSE_BRACK
|
|
RBRACE : '}'; // CLOSE_BRACE
|
|
DOT : '.';
|
|
COLON : ':';
|
|
COMMA : ',';
|
|
SEMI : ';';
|
|
PLUS : '+';
|
|
MINUS : '-';
|
|
STAR : '*';
|
|
SLASH : '/';
|
|
VBAR : '|';
|
|
AMPER : '&';
|
|
LESS : '<';
|
|
GREATER : '>';
|
|
EQUAL : '=';
|
|
PERCENT : '%';
|
|
EQEQUAL : '==';
|
|
NOTEQUAL : '!=';
|
|
LESSEQUAL : '<=';
|
|
GREATEREQUAL : '>=';
|
|
TILDE : '~';
|
|
CIRCUMFLEX : '^';
|
|
LEFTSHIFT : '<<';
|
|
RIGHTSHIFT : '>>';
|
|
DOUBLESTAR : '**';
|
|
PLUSEQUAL : '+=';
|
|
MINEQUAL : '-=';
|
|
STAREQUAL : '*=';
|
|
SLASHEQUAL : '/=';
|
|
PERCENTEQUAL : '%=';
|
|
AMPEREQUAL : '&=';
|
|
VBAREQUAL : '|=';
|
|
CIRCUMFLEXEQUAL : '^=';
|
|
LEFTSHIFTEQUAL : '<<=';
|
|
RIGHTSHIFTEQUAL : '>>=';
|
|
DOUBLESTAREQUAL : '**=';
|
|
DOUBLESLASH : '//';
|
|
DOUBLESLASHEQUAL : '//=';
|
|
AT : '@';
|
|
ATEQUAL : '@=';
|
|
RARROW : '->';
|
|
ELLIPSIS : '...';
|
|
COLONEQUAL : ':=';
|
|
EXCLAMATION : '!';
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#identifiers
|
|
NAME
|
|
: ID_START ID_CONTINUE*
|
|
;
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#numeric-literals
|
|
NUMBER
|
|
: INTEGER
|
|
| FLOAT_NUMBER
|
|
| IMAG_NUMBER
|
|
;
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#string-and-bytes-literals
|
|
STRING
|
|
: STRING_LITERAL
|
|
| BYTES_LITERAL
|
|
;
|
|
|
|
// https://peps.python.org/pep-0484/#type-comments
|
|
TYPE_COMMENT
|
|
: '#' WS? 'type:' ~[\r\n]*
|
|
;
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#physical-lines
|
|
NEWLINE
|
|
: OS_INDEPENDENT_NL
|
|
;
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#comments
|
|
COMMENT : '#' ~[\r\n]* -> channel(HIDDEN);
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#whitespace-between-tokens
|
|
WS : [ \t\f]+ -> channel(HIDDEN);
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#explicit-line-joining
|
|
EXPLICIT_LINE_JOINING : '\\' NEWLINE -> channel(HIDDEN);
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#formatted-string-literals
|
|
SINGLE_QUOTE_FSTRING_START : F_STRING_PREFIX ['] -> type(FSTRING_START), pushMode(SINGLE_QUOTE_FSTRING_MODE);
|
|
DOUBLE_QUOTE_FSTRING_START : F_STRING_PREFIX ["] -> type(FSTRING_START), pushMode(DOUBLE_QUOTE_FSTRING_MODE);
|
|
LONG_SINGLE_QUOTE_FSTRING_START : F_STRING_PREFIX ['][']['] -> type(FSTRING_START), pushMode(LONG_SINGLE_QUOTE_FSTRING_MODE);
|
|
LONG_DOUBLE_QUOTE_FSTRING_START : F_STRING_PREFIX ["]["]["] -> type(FSTRING_START), pushMode(LONG_DOUBLE_QUOTE_FSTRING_MODE);
|
|
|
|
ERROR_TOKEN : . ; // catch the unrecognized characters and redirect these errors to the parser
|
|
|
|
|
|
/*
|
|
* other lexer modes
|
|
*/
|
|
|
|
mode SINGLE_QUOTE_FSTRING_MODE;
|
|
SINGLE_QUOTE_FSTRING_END : ['] -> type(FSTRING_END), popMode;
|
|
SINGLE_QUOTE_FSTRING_MIDDLE : SINGLE_QUOTE_FSTRING_LITERAL -> type(FSTRING_MIDDLE);
|
|
SINGLE_QUOTE_FSTRING_LBRACE : '{' -> type(LBRACE); // will be closed in DEFAULT_MODE or SINGLE_QUOTE_FORMAT_SPECIFICATION_RBRACE
|
|
|
|
mode DOUBLE_QUOTE_FSTRING_MODE;
|
|
DOUBLE_QUOTE_FSTRING_END : ["] -> type(FSTRING_END), popMode;
|
|
DOUBLE_QUOTE_FSTRING_MIDDLE : DOUBLE_QUOTE_FSTRING_LITERAL -> type(FSTRING_MIDDLE);
|
|
DOUBLE_QUOTE_FSTRING_LBRACE : '{' -> type(LBRACE); // will be closed in DEFAULT_MODE or DOUBLE_QUOTE_FORMAT_SPECIFICATION_RBRACE
|
|
|
|
mode LONG_SINGLE_QUOTE_FSTRING_MODE;
|
|
LONG_SINGLE_QUOTE_FSTRING_END : ['][']['] -> type(FSTRING_END), popMode;
|
|
LONG_SINGLE_QUOTE_FSTRING_MIDDLE : SINGLE_QUOTE_FSTRING_LITERAL -> type(FSTRING_MIDDLE);
|
|
LONG_SINGLE_QUOTE_FSTRING_LBRACE : '{' -> type(LBRACE); // will be closed in DEFAULT_MODE or SINGLE_QUOTE_FORMAT_SPECIFICATION_RBRACE
|
|
|
|
mode LONG_DOUBLE_QUOTE_FSTRING_MODE;
|
|
LONG_DOUBLE_QUOTE_FSTRING_END : ["]["]["] -> type(FSTRING_END), popMode;
|
|
LONG_DOUBLE_QUOTE_FSTRING_MIDDLE : DOUBLE_QUOTE_FSTRING_LITERAL -> type(FSTRING_MIDDLE);
|
|
LONG_DOUBLE_QUOTE_FSTRING_LBRACE : '{' -> type(LBRACE); // will be closed in DEFAULT_MODE or DOUBLE_QUOTE_FORMAT_SPECIFICATION_RBRACE
|
|
|
|
mode SINGLE_QUOTE_FORMAT_SPECIFICATION_MODE; // only used after a format specifier colon
|
|
SINGLE_QUOTE_FORMAT_SPECIFICATION_FSTRING_MIDDLE : FORMAT_SPEC_CHAR_NO_SINGLE_QUOTE+ -> type(FSTRING_MIDDLE);
|
|
SINGLE_QUOTE_FORMAT_SPECIFICATION_LBRACE : '{' -> type(LBRACE); // will be closed in DEFAULT_MODE by PythonLexerBase class
|
|
SINGLE_QUOTE_FORMAT_SPECIFICATION_RBRACE : '}' -> type(RBRACE); // popMode to ..._QUOTE_FSTRING_MODE by PythonLexerBase class
|
|
|
|
mode DOUBLE_QUOTE_FORMAT_SPECIFICATION_MODE; // only used after a format specifier colon
|
|
DOUBLE_QUOTE_FORMAT_SPECIFICATION_FSTRING_MIDDLE : FORMAT_SPEC_CHAR_NO_DOUBLE_QUOTE+ -> type(FSTRING_MIDDLE);
|
|
DOUBLE_QUOTE_FORMAT_SPECIFICATION_LBRACE : '{' -> type(LBRACE); // will be closed in DEFAULT_MODE by PythonLexerBase class
|
|
DOUBLE_QUOTE_FORMAT_SPECIFICATION_RBRACE : '}' -> type(RBRACE); // popMode to ..._QUOTE_FSTRING_MODE by PythonLexerBase class
|
|
|
|
|
|
/*
|
|
* fragments
|
|
*/
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#literals
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#string-and-bytes-literals
|
|
fragment STRING_LITERAL : STRING_PREFIX? (SHORT_STRING | LONG_STRING);
|
|
fragment STRING_PREFIX : 'r' | 'u' | 'R' | 'U';
|
|
|
|
fragment SHORT_STRING
|
|
: '\'' SHORT_STRING_ITEM_FOR_SINGLE_QUOTE* '\''
|
|
| '"' SHORT_STRING_ITEM_FOR_DOUBLE_QUOTE* '"'
|
|
;
|
|
|
|
fragment LONG_STRING
|
|
: '\'\'\'' LONG_STRING_ITEM*? '\'\'\''
|
|
| '"""' LONG_STRING_ITEM*? '"""'
|
|
;
|
|
|
|
fragment SHORT_STRING_ITEM_FOR_SINGLE_QUOTE : SHORT_STRING_CHAR_NO_SINGLE_QUOTE | STRING_ESCAPE_SEQ;
|
|
fragment SHORT_STRING_ITEM_FOR_DOUBLE_QUOTE : SHORT_STRING_CHAR_NO_DOUBLE_QUOTE | STRING_ESCAPE_SEQ;
|
|
|
|
fragment LONG_STRING_ITEM : LONG_STRING_CHAR | STRING_ESCAPE_SEQ;
|
|
|
|
fragment SHORT_STRING_CHAR_NO_SINGLE_QUOTE : ~[\\\r\n']; // <any source character except "\" or newline or single quote>
|
|
fragment SHORT_STRING_CHAR_NO_DOUBLE_QUOTE : ~[\\\r\n"]; // <any source character except "\" or newline or double quote>
|
|
|
|
fragment LONG_STRING_CHAR : ~'\\'; // <any source character except "\">
|
|
|
|
fragment STRING_ESCAPE_SEQ
|
|
: '\\' OS_INDEPENDENT_NL // \<newline> escape sequence
|
|
| '\\' . // "\" <any source character>
|
|
; // the \<newline> (not \n) escape sequences will be removed from the string literals by the PythonLexerBase class
|
|
|
|
fragment BYTES_LITERAL : BYTES_PREFIX (SHORT_BYTES | LONG_BYTES);
|
|
fragment BYTES_PREFIX : 'b' | 'B' | 'br' | 'Br' | 'bR' | 'BR' | 'rb' | 'rB' | 'Rb' | 'RB';
|
|
|
|
fragment SHORT_BYTES
|
|
: '\'' SHORT_BYTES_ITEM_FOR_SINGLE_QUOTE* '\''
|
|
| '"' SHORT_BYTES_ITEM_FOR_DOUBLE_QUOTE* '"'
|
|
;
|
|
|
|
fragment LONG_BYTES
|
|
: '\'\'\'' LONG_BYTES_ITEM*? '\'\'\''
|
|
| '"""' LONG_BYTES_ITEM*? '"""'
|
|
;
|
|
|
|
fragment SHORT_BYTES_ITEM_FOR_SINGLE_QUOTE : SHORT_BYTES_CHAR_NO_SINGLE_QUOTE | BYTES_ESCAPE_SEQ;
|
|
fragment SHORT_BYTES_ITEM_FOR_DOUBLE_QUOTE : SHORT_BYTES_CHAR_NO_DOUBLE_QUOTE | BYTES_ESCAPE_SEQ;
|
|
|
|
fragment LONG_BYTES_ITEM : LONG_BYTES_CHAR | BYTES_ESCAPE_SEQ;
|
|
|
|
fragment SHORT_BYTES_CHAR_NO_SINGLE_QUOTE // <any ASCII character except "\" or newline or single quote>
|
|
: [\u0000-\u0009]
|
|
| [\u000B-\u000C]
|
|
| [\u000E-\u0026]
|
|
| [\u0028-\u005B]
|
|
| [\u005D-\u007F]
|
|
;
|
|
|
|
fragment SHORT_BYTES_CHAR_NO_DOUBLE_QUOTE // <any ASCII character except "\" or newline or double quote>
|
|
: [\u0000-\u0009]
|
|
| [\u000B-\u000C]
|
|
| [\u000E-\u0021]
|
|
| [\u0023-\u005B]
|
|
| [\u005D-\u007F]
|
|
;
|
|
|
|
fragment LONG_BYTES_CHAR : [\u0000-\u005B] | [\u005D-\u007F]; // <any ASCII character except "\">
|
|
fragment BYTES_ESCAPE_SEQ : '\\' [\u0000-\u007F]; // "\" <any ASCII character>
|
|
|
|
// https://docs.python.org/3.12/library/string.html#format-specification-mini-language
|
|
fragment SINGLE_QUOTE_FSTRING_LITERAL : (FORMAT_SPEC_CHAR_NO_SINGLE_QUOTE | DOUBLE_BRACES)+;
|
|
fragment DOUBLE_QUOTE_FSTRING_LITERAL : (FORMAT_SPEC_CHAR_NO_DOUBLE_QUOTE | DOUBLE_BRACES)+;
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#formatted-string-literals
|
|
fragment F_STRING_PREFIX : 'f' | 'F' | 'fr' | 'Fr' | 'fR' | 'FR' | 'rf' | 'rF' | 'Rf' | 'RF';
|
|
fragment FORMAT_SPEC_CHAR_NO_SINGLE_QUOTE : ~[{}'];
|
|
fragment FORMAT_SPEC_CHAR_NO_DOUBLE_QUOTE : ~[{}"];
|
|
fragment DOUBLE_BRACES : '{' | '}';
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#integer-literals
|
|
fragment INTEGER : DEC_INTEGER | BIN_INTEGER | OCT_INTEGER | HEX_INTEGER;
|
|
fragment DEC_INTEGER : NON_ZERO_DIGIT ('_'? DIGIT)* | '0'+ ('_'? '0')*;
|
|
fragment BIN_INTEGER : '0' ('b' | 'B') ('_'? BIN_DIGIT)+;
|
|
fragment OCT_INTEGER : '0' ('o' | 'O') ('_'? OCT_DIGIT)+;
|
|
fragment HEX_INTEGER : '0' ('x' | 'X') ('_'? HEX_DIGIT)+;
|
|
fragment NON_ZERO_DIGIT : [1-9];
|
|
fragment DIGIT : [0-9];
|
|
fragment BIN_DIGIT : '0' | '1';
|
|
fragment OCT_DIGIT : [0-7];
|
|
fragment HEX_DIGIT : DIGIT | [a-f] | [A-F];
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#floating-point-literals
|
|
fragment FLOAT_NUMBER : POINT_FLOAT | EXPONENT_FLOAT;
|
|
fragment POINT_FLOAT : DIGIT_PART? FRACTION | DIGIT_PART '.';
|
|
fragment EXPONENT_FLOAT : (DIGIT_PART | POINT_FLOAT) EXPONENT;
|
|
fragment DIGIT_PART : DIGIT ('_'? DIGIT)*;
|
|
fragment FRACTION : '.' DIGIT_PART;
|
|
fragment EXPONENT : ('e' | 'E') ('+' | '-')? DIGIT_PART;
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#imaginary-literals
|
|
fragment IMAG_NUMBER : (FLOAT_NUMBER | DIGIT_PART) ('j' | 'J');
|
|
|
|
// https://docs.python.org/3.12/reference/lexical_analysis.html#physical-lines
|
|
fragment OS_INDEPENDENT_NL : '\r'? '\n'; // Unix, Windows
|
|
|
|
// https://github.com/RobEin/ANTLR4-parser-for-Python-3.12/tree/main/valid_chars_in_py_identifiers
|
|
fragment ID_CONTINUE:
|
|
ID_START
|
|
| [\u0030-\u0039]
|
|
| [\u00B7]
|
|
| [\u0300-\u036F]
|
|
| [\u0387]
|
|
| [\u0483-\u0487]
|
|
| [\u0591-\u05BD]
|
|
| [\u05BF]
|
|
| [\u05C1-\u05C2]
|
|
| [\u05C4-\u05C5]
|
|
| [\u05C7]
|
|
| [\u0610-\u061A]
|
|
| [\u064B-\u0669]
|
|
| [\u0670]
|
|
| [\u06D6-\u06DC]
|
|
| [\u06DF-\u06E4]
|
|
| [\u06E7-\u06E8]
|
|
| [\u06EA-\u06ED]
|
|
| [\u06F0-\u06F9]
|
|
| [\u0711]
|
|
| [\u0730-\u074A]
|
|
| [\u07A6-\u07B0]
|
|
| [\u07C0-\u07C9]
|
|
| [\u07EB-\u07F3]
|
|
| [\u07FD]
|
|
| [\u0816-\u0819]
|
|
| [\u081B-\u0823]
|
|
| [\u0825-\u0827]
|
|
| [\u0829-\u082D]
|
|
| [\u0859-\u085B]
|
|
| [\u0898-\u089F]
|
|
| [\u08CA-\u08E1]
|
|
| [\u08E3-\u0903]
|
|
| [\u093A-\u093C]
|
|
| [\u093E-\u094F]
|
|
| [\u0951-\u0957]
|
|
| [\u0962-\u0963]
|
|
| [\u0966-\u096F]
|
|
| [\u0981-\u0983]
|
|
| [\u09BC]
|
|
| [\u09BE-\u09C4]
|
|
| [\u09C7-\u09C8]
|
|
| [\u09CB-\u09CD]
|
|
| [\u09D7]
|
|
| [\u09E2-\u09E3]
|
|
| [\u09E6-\u09EF]
|
|
| [\u09FE]
|
|
| [\u0A01-\u0A03]
|
|
| [\u0A3C]
|
|
| [\u0A3E-\u0A42]
|
|
| [\u0A47-\u0A48]
|
|
| [\u0A4B-\u0A4D]
|
|
| [\u0A51]
|
|
| [\u0A66-\u0A71]
|
|
| [\u0A75]
|
|
| [\u0A81-\u0A83]
|
|
| [\u0ABC]
|
|
| [\u0ABE-\u0AC5]
|
|
| [\u0AC7-\u0AC9]
|
|
| [\u0ACB-\u0ACD]
|
|
| [\u0AE2-\u0AE3]
|
|
| [\u0AE6-\u0AEF]
|
|
| [\u0AFA-\u0AFF]
|
|
| [\u0B01-\u0B03]
|
|
| [\u0B3C]
|
|
| [\u0B3E-\u0B44]
|
|
| [\u0B47-\u0B48]
|
|
| [\u0B4B-\u0B4D]
|
|
| [\u0B55-\u0B57]
|
|
| [\u0B62-\u0B63]
|
|
| [\u0B66-\u0B6F]
|
|
| [\u0B82]
|
|
| [\u0BBE-\u0BC2]
|
|
| [\u0BC6-\u0BC8]
|
|
| [\u0BCA-\u0BCD]
|
|
| [\u0BD7]
|
|
| [\u0BE6-\u0BEF]
|
|
| [\u0C00-\u0C04]
|
|
| [\u0C3C]
|
|
| [\u0C3E-\u0C44]
|
|
| [\u0C46-\u0C48]
|
|
| [\u0C4A-\u0C4D]
|
|
| [\u0C55-\u0C56]
|
|
| [\u0C62-\u0C63]
|
|
| [\u0C66-\u0C6F]
|
|
| [\u0C81-\u0C83]
|
|
| [\u0CBC]
|
|
| [\u0CBE-\u0CC4]
|
|
| [\u0CC6-\u0CC8]
|
|
| [\u0CCA-\u0CCD]
|
|
| [\u0CD5-\u0CD6]
|
|
| [\u0CE2-\u0CE3]
|
|
| [\u0CE6-\u0CEF]
|
|
| [\u0CF3]
|
|
| [\u0D00-\u0D03]
|
|
| [\u0D3B-\u0D3C]
|
|
| [\u0D3E-\u0D44]
|
|
| [\u0D46-\u0D48]
|
|
| [\u0D4A-\u0D4D]
|
|
| [\u0D57]
|
|
| [\u0D62-\u0D63]
|
|
| [\u0D66-\u0D6F]
|
|
| [\u0D81-\u0D83]
|
|
| [\u0DCA]
|
|
| [\u0DCF-\u0DD4]
|
|
| [\u0DD6]
|
|
| [\u0DD8-\u0DDF]
|
|
| [\u0DE6-\u0DEF]
|
|
| [\u0DF2-\u0DF3]
|
|
| [\u0E31]
|
|
| [\u0E33-\u0E3A]
|
|
| [\u0E47-\u0E4E]
|
|
| [\u0E50-\u0E59]
|
|
| [\u0EB1]
|
|
| [\u0EB3-\u0EBC]
|
|
| [\u0EC8-\u0ECE]
|
|
| [\u0ED0-\u0ED9]
|
|
| [\u0F18-\u0F19]
|
|
| [\u0F20-\u0F29]
|
|
| [\u0F35]
|
|
| [\u0F37]
|
|
| [\u0F39]
|
|
| [\u0F3E-\u0F3F]
|
|
| [\u0F71-\u0F84]
|
|
| [\u0F86-\u0F87]
|
|
| [\u0F8D-\u0F97]
|
|
| [\u0F99-\u0FBC]
|
|
| [\u0FC6]
|
|
| [\u102B-\u103E]
|
|
| [\u1040-\u1049]
|
|
| [\u1056-\u1059]
|
|
| [\u105E-\u1060]
|
|
| [\u1062-\u1064]
|
|
| [\u1067-\u106D]
|
|
| [\u1071-\u1074]
|
|
| [\u1082-\u108D]
|
|
| [\u108F-\u109D]
|
|
| [\u135D-\u135F]
|
|
| [\u1369-\u1371]
|
|
| [\u1712-\u1715]
|
|
| [\u1732-\u1734]
|
|
| [\u1752-\u1753]
|
|
| [\u1772-\u1773]
|
|
| [\u17B4-\u17D3]
|
|
| [\u17DD]
|
|
| [\u17E0-\u17E9]
|
|
| [\u180B-\u180D]
|
|
| [\u180F-\u1819]
|
|
| [\u18A9]
|
|
| [\u1920-\u192B]
|
|
| [\u1930-\u193B]
|
|
| [\u1946-\u194F]
|
|
| [\u19D0-\u19DA]
|
|
| [\u1A17-\u1A1B]
|
|
| [\u1A55-\u1A5E]
|
|
| [\u1A60-\u1A7C]
|
|
| [\u1A7F-\u1A89]
|
|
| [\u1A90-\u1A99]
|
|
| [\u1AB0-\u1ABD]
|
|
| [\u1ABF-\u1ACE]
|
|
| [\u1B00-\u1B04]
|
|
| [\u1B34-\u1B44]
|
|
| [\u1B50-\u1B59]
|
|
| [\u1B6B-\u1B73]
|
|
| [\u1B80-\u1B82]
|
|
| [\u1BA1-\u1BAD]
|
|
| [\u1BB0-\u1BB9]
|
|
| [\u1BE6-\u1BF3]
|
|
| [\u1C24-\u1C37]
|
|
| [\u1C40-\u1C49]
|
|
| [\u1C50-\u1C59]
|
|
| [\u1CD0-\u1CD2]
|
|
| [\u1CD4-\u1CE8]
|
|
| [\u1CED]
|
|
| [\u1CF4]
|
|
| [\u1CF7-\u1CF9]
|
|
| [\u1DC0-\u1DFF]
|
|
| [\u203F-\u2040]
|
|
| [\u2054]
|
|
| [\u20D0-\u20DC]
|
|
| [\u20E1]
|
|
| [\u20E5-\u20F0]
|
|
| [\u2CEF-\u2CF1]
|
|
| [\u2D7F]
|
|
| [\u2DE0-\u2DFF]
|
|
| [\u302A-\u302F]
|
|
| [\u3099-\u309A]
|
|
| [\uA620-\uA629]
|
|
| [\uA66F]
|
|
| [\uA674-\uA67D]
|
|
| [\uA69E-\uA69F]
|
|
| [\uA6F0-\uA6F1]
|
|
| [\uA802]
|
|
| [\uA806]
|
|
| [\uA80B]
|
|
| [\uA823-\uA827]
|
|
| [\uA82C]
|
|
| [\uA880-\uA881]
|
|
| [\uA8B4-\uA8C5]
|
|
| [\uA8D0-\uA8D9]
|
|
| [\uA8E0-\uA8F1]
|
|
| [\uA8FF-\uA909]
|
|
| [\uA926-\uA92D]
|
|
| [\uA947-\uA953]
|
|
| [\uA980-\uA983]
|
|
| [\uA9B3-\uA9C0]
|
|
| [\uA9D0-\uA9D9]
|
|
| [\uA9E5]
|
|
| [\uA9F0-\uA9F9]
|
|
| [\uAA29-\uAA36]
|
|
| [\uAA43]
|
|
| [\uAA4C-\uAA4D]
|
|
| [\uAA50-\uAA59]
|
|
| [\uAA7B-\uAA7D]
|
|
| [\uAAB0]
|
|
| [\uAAB2-\uAAB4]
|
|
| [\uAAB7-\uAAB8]
|
|
| [\uAABE-\uAABF]
|
|
| [\uAAC1]
|
|
| [\uAAEB-\uAAEF]
|
|
| [\uAAF5-\uAAF6]
|
|
| [\uABE3-\uABEA]
|
|
| [\uABEC-\uABED]
|
|
| [\uABF0-\uABF9]
|
|
| [\uFB1E]
|
|
| [\uFE00-\uFE0F]
|
|
| [\uFE20-\uFE2F]
|
|
| [\uFE33-\uFE34]
|
|
| [\uFE4D-\uFE4F]
|
|
| [\uFF10-\uFF19]
|
|
| [\uFF3F]
|
|
| [\uFF9E-\uFF9F]
|
|
| [\u101FD]
|
|
| [\u102E0]
|
|
| [\u10376-\u1037A]
|
|
| [\u104A0-\u104A9]
|
|
| [\u10A01-\u10A03]
|
|
| [\u10A05-\u10A06]
|
|
| [\u10A0C-\u10A0F]
|
|
| [\u10A38-\u10A3A]
|
|
| [\u10A3F]
|
|
| [\u10AE5-\u10AE6]
|
|
| [\u10D24-\u10D27]
|
|
| [\u10D30-\u10D39]
|
|
| [\u10EAB-\u10EAC]
|
|
| [\u10EFD-\u10EFF]
|
|
| [\u10F46-\u10F50]
|
|
| [\u10F82-\u10F85]
|
|
| [\u11000-\u11002]
|
|
| [\u11038-\u11046]
|
|
| [\u11066-\u11070]
|
|
| [\u11073-\u11074]
|
|
| [\u1107F-\u11082]
|
|
| [\u110B0-\u110BA]
|
|
| [\u110C2]
|
|
| [\u110F0-\u110F9]
|
|
| [\u11100-\u11102]
|
|
| [\u11127-\u11134]
|
|
| [\u11136-\u1113F]
|
|
| [\u11145-\u11146]
|
|
| [\u11173]
|
|
| [\u11180-\u11182]
|
|
| [\u111B3-\u111C0]
|
|
| [\u111C9-\u111CC]
|
|
| [\u111CE-\u111D9]
|
|
| [\u1122C-\u11237]
|
|
| [\u1123E]
|
|
| [\u11241]
|
|
| [\u112DF-\u112EA]
|
|
| [\u112F0-\u112F9]
|
|
| [\u11300-\u11303]
|
|
| [\u1133B-\u1133C]
|
|
| [\u1133E-\u11344]
|
|
| [\u11347-\u11348]
|
|
| [\u1134B-\u1134D]
|
|
| [\u11357]
|
|
| [\u11362-\u11363]
|
|
| [\u11366-\u1136C]
|
|
| [\u11370-\u11374]
|
|
| [\u11435-\u11446]
|
|
| [\u11450-\u11459]
|
|
| [\u1145E]
|
|
| [\u114B0-\u114C3]
|
|
| [\u114D0-\u114D9]
|
|
| [\u115AF-\u115B5]
|
|
| [\u115B8-\u115C0]
|
|
| [\u115DC-\u115DD]
|
|
| [\u11630-\u11640]
|
|
| [\u11650-\u11659]
|
|
| [\u116AB-\u116B7]
|
|
| [\u116C0-\u116C9]
|
|
| [\u1171D-\u1172B]
|
|
| [\u11730-\u11739]
|
|
| [\u1182C-\u1183A]
|
|
| [\u118E0-\u118E9]
|
|
| [\u11930-\u11935]
|
|
| [\u11937-\u11938]
|
|
| [\u1193B-\u1193E]
|
|
| [\u11940]
|
|
| [\u11942-\u11943]
|
|
| [\u11950-\u11959]
|
|
| [\u119D1-\u119D7]
|
|
| [\u119DA-\u119E0]
|
|
| [\u119E4]
|
|
| [\u11A01-\u11A0A]
|
|
| [\u11A33-\u11A39]
|
|
| [\u11A3B-\u11A3E]
|
|
| [\u11A47]
|
|
| [\u11A51-\u11A5B]
|
|
| [\u11A8A-\u11A99]
|
|
| [\u11C2F-\u11C36]
|
|
| [\u11C38-\u11C3F]
|
|
| [\u11C50-\u11C59]
|
|
| [\u11C92-\u11CA7]
|
|
| [\u11CA9-\u11CB6]
|
|
| [\u11D31-\u11D36]
|
|
| [\u11D3A]
|
|
| [\u11D3C-\u11D3D]
|
|
| [\u11D3F-\u11D45]
|
|
| [\u11D47]
|
|
| [\u11D50-\u11D59]
|
|
| [\u11D8A-\u11D8E]
|
|
| [\u11D90-\u11D91]
|
|
| [\u11D93-\u11D97]
|
|
| [\u11DA0-\u11DA9]
|
|
| [\u11EF3-\u11EF6]
|
|
| [\u11F00-\u11F01]
|
|
| [\u11F03]
|
|
| [\u11F34-\u11F3A]
|
|
| [\u11F3E-\u11F42]
|
|
| [\u11F50-\u11F59]
|
|
| [\u13440]
|
|
| [\u13447-\u13455]
|
|
| [\u16A60-\u16A69]
|
|
| [\u16AC0-\u16AC9]
|
|
| [\u16AF0-\u16AF4]
|
|
| [\u16B30-\u16B36]
|
|
| [\u16B50-\u16B59]
|
|
| [\u16F4F]
|
|
| [\u16F51-\u16F87]
|
|
| [\u16F8F-\u16F92]
|
|
| [\u16FE4]
|
|
| [\u16FF0-\u16FF1]
|
|
| [\u1BC9D-\u1BC9E]
|
|
| [\u1CF00-\u1CF2D]
|
|
| [\u1CF30-\u1CF46]
|
|
| [\u1D165-\u1D169]
|
|
| [\u1D16D-\u1D172]
|
|
| [\u1D17B-\u1D182]
|
|
| [\u1D185-\u1D18B]
|
|
| [\u1D1AA-\u1D1AD]
|
|
| [\u1D242-\u1D244]
|
|
| [\u1D7CE-\u1D7FF]
|
|
| [\u1DA00-\u1DA36]
|
|
| [\u1DA3B-\u1DA6C]
|
|
| [\u1DA75]
|
|
| [\u1DA84]
|
|
| [\u1DA9B-\u1DA9F]
|
|
| [\u1DAA1-\u1DAAF]
|
|
| [\u1E000-\u1E006]
|
|
| [\u1E008-\u1E018]
|
|
| [\u1E01B-\u1E021]
|
|
| [\u1E023-\u1E024]
|
|
| [\u1E026-\u1E02A]
|
|
| [\u1E08F]
|
|
| [\u1E130-\u1E136]
|
|
| [\u1E140-\u1E149]
|
|
| [\u1E2AE]
|
|
| [\u1E2EC-\u1E2F9]
|
|
| [\u1E4EC-\u1E4F9]
|
|
| [\u1E8D0-\u1E8D6]
|
|
| [\u1E944-\u1E94A]
|
|
| [\u1E950-\u1E959]
|
|
| [\u1FBF0-\u1FBF9]
|
|
| [\uE0100-\uE01EF]
|
|
;
|
|
|
|
// https://github.com/RobEin/ANTLR4-parser-for-Python-3.12/tree/main/valid_chars_in_py_identifiers
|
|
fragment ID_START:
|
|
[\u0041-\u005A]
|
|
| [\u005F]
|
|
| [\u0061-\u007A]
|
|
| [\u00AA]
|
|
| [\u00B5]
|
|
| [\u00BA]
|
|
| [\u00C0-\u00D6]
|
|
| [\u00D8-\u00F6]
|
|
| [\u00F8-\u02C1]
|
|
| [\u02C6-\u02D1]
|
|
| [\u02E0-\u02E4]
|
|
| [\u02EC]
|
|
| [\u02EE]
|
|
| [\u0370-\u0374]
|
|
| [\u0376-\u0377]
|
|
| [\u037B-\u037D]
|
|
| [\u037F]
|
|
| [\u0386]
|
|
| [\u0388-\u038A]
|
|
| [\u038C]
|
|
| [\u038E-\u03A1]
|
|
| [\u03A3-\u03F5]
|
|
| [\u03F7-\u0481]
|
|
| [\u048A-\u052F]
|
|
| [\u0531-\u0556]
|
|
| [\u0559]
|
|
| [\u0560-\u0588]
|
|
| [\u05D0-\u05EA]
|
|
| [\u05EF-\u05F2]
|
|
| [\u0620-\u064A]
|
|
| [\u066E-\u066F]
|
|
| [\u0671-\u06D3]
|
|
| [\u06D5]
|
|
| [\u06E5-\u06E6]
|
|
| [\u06EE-\u06EF]
|
|
| [\u06FA-\u06FC]
|
|
| [\u06FF]
|
|
| [\u0710]
|
|
| [\u0712-\u072F]
|
|
| [\u074D-\u07A5]
|
|
| [\u07B1]
|
|
| [\u07CA-\u07EA]
|
|
| [\u07F4-\u07F5]
|
|
| [\u07FA]
|
|
| [\u0800-\u0815]
|
|
| [\u081A]
|
|
| [\u0824]
|
|
| [\u0828]
|
|
| [\u0840-\u0858]
|
|
| [\u0860-\u086A]
|
|
| [\u0870-\u0887]
|
|
| [\u0889-\u088E]
|
|
| [\u08A0-\u08C9]
|
|
| [\u0904-\u0939]
|
|
| [\u093D]
|
|
| [\u0950]
|
|
| [\u0958-\u0961]
|
|
| [\u0971-\u0980]
|
|
| [\u0985-\u098C]
|
|
| [\u098F-\u0990]
|
|
| [\u0993-\u09A8]
|
|
| [\u09AA-\u09B0]
|
|
| [\u09B2]
|
|
| [\u09B6-\u09B9]
|
|
| [\u09BD]
|
|
| [\u09CE]
|
|
| [\u09DC-\u09DD]
|
|
| [\u09DF-\u09E1]
|
|
| [\u09F0-\u09F1]
|
|
| [\u09FC]
|
|
| [\u0A05-\u0A0A]
|
|
| [\u0A0F-\u0A10]
|
|
| [\u0A13-\u0A28]
|
|
| [\u0A2A-\u0A30]
|
|
| [\u0A32-\u0A33]
|
|
| [\u0A35-\u0A36]
|
|
| [\u0A38-\u0A39]
|
|
| [\u0A59-\u0A5C]
|
|
| [\u0A5E]
|
|
| [\u0A72-\u0A74]
|
|
| [\u0A85-\u0A8D]
|
|
| [\u0A8F-\u0A91]
|
|
| [\u0A93-\u0AA8]
|
|
| [\u0AAA-\u0AB0]
|
|
| [\u0AB2-\u0AB3]
|
|
| [\u0AB5-\u0AB9]
|
|
| [\u0ABD]
|
|
| [\u0AD0]
|
|
| [\u0AE0-\u0AE1]
|
|
| [\u0AF9]
|
|
| [\u0B05-\u0B0C]
|
|
| [\u0B0F-\u0B10]
|
|
| [\u0B13-\u0B28]
|
|
| [\u0B2A-\u0B30]
|
|
| [\u0B32-\u0B33]
|
|
| [\u0B35-\u0B39]
|
|
| [\u0B3D]
|
|
| [\u0B5C-\u0B5D]
|
|
| [\u0B5F-\u0B61]
|
|
| [\u0B71]
|
|
| [\u0B83]
|
|
| [\u0B85-\u0B8A]
|
|
| [\u0B8E-\u0B90]
|
|
| [\u0B92-\u0B95]
|
|
| [\u0B99-\u0B9A]
|
|
| [\u0B9C]
|
|
| [\u0B9E-\u0B9F]
|
|
| [\u0BA3-\u0BA4]
|
|
| [\u0BA8-\u0BAA]
|
|
| [\u0BAE-\u0BB9]
|
|
| [\u0BD0]
|
|
| [\u0C05-\u0C0C]
|
|
| [\u0C0E-\u0C10]
|
|
| [\u0C12-\u0C28]
|
|
| [\u0C2A-\u0C39]
|
|
| [\u0C3D]
|
|
| [\u0C58-\u0C5A]
|
|
| [\u0C5D]
|
|
| [\u0C60-\u0C61]
|
|
| [\u0C80]
|
|
| [\u0C85-\u0C8C]
|
|
| [\u0C8E-\u0C90]
|
|
| [\u0C92-\u0CA8]
|
|
| [\u0CAA-\u0CB3]
|
|
| [\u0CB5-\u0CB9]
|
|
| [\u0CBD]
|
|
| [\u0CDD-\u0CDE]
|
|
| [\u0CE0-\u0CE1]
|
|
| [\u0CF1-\u0CF2]
|
|
| [\u0D04-\u0D0C]
|
|
| [\u0D0E-\u0D10]
|
|
| [\u0D12-\u0D3A]
|
|
| [\u0D3D]
|
|
| [\u0D4E]
|
|
| [\u0D54-\u0D56]
|
|
| [\u0D5F-\u0D61]
|
|
| [\u0D7A-\u0D7F]
|
|
| [\u0D85-\u0D96]
|
|
| [\u0D9A-\u0DB1]
|
|
| [\u0DB3-\u0DBB]
|
|
| [\u0DBD]
|
|
| [\u0DC0-\u0DC6]
|
|
| [\u0E01-\u0E30]
|
|
| [\u0E32]
|
|
| [\u0E40-\u0E46]
|
|
| [\u0E81-\u0E82]
|
|
| [\u0E84]
|
|
| [\u0E86-\u0E8A]
|
|
| [\u0E8C-\u0EA3]
|
|
| [\u0EA5]
|
|
| [\u0EA7-\u0EB0]
|
|
| [\u0EB2]
|
|
| [\u0EBD]
|
|
| [\u0EC0-\u0EC4]
|
|
| [\u0EC6]
|
|
| [\u0EDC-\u0EDF]
|
|
| [\u0F00]
|
|
| [\u0F40-\u0F47]
|
|
| [\u0F49-\u0F6C]
|
|
| [\u0F88-\u0F8C]
|
|
| [\u1000-\u102A]
|
|
| [\u103F]
|
|
| [\u1050-\u1055]
|
|
| [\u105A-\u105D]
|
|
| [\u1061]
|
|
| [\u1065-\u1066]
|
|
| [\u106E-\u1070]
|
|
| [\u1075-\u1081]
|
|
| [\u108E]
|
|
| [\u10A0-\u10C5]
|
|
| [\u10C7]
|
|
| [\u10CD]
|
|
| [\u10D0-\u10FA]
|
|
| [\u10FC-\u1248]
|
|
| [\u124A-\u124D]
|
|
| [\u1250-\u1256]
|
|
| [\u1258]
|
|
| [\u125A-\u125D]
|
|
| [\u1260-\u1288]
|
|
| [\u128A-\u128D]
|
|
| [\u1290-\u12B0]
|
|
| [\u12B2-\u12B5]
|
|
| [\u12B8-\u12BE]
|
|
| [\u12C0]
|
|
| [\u12C2-\u12C5]
|
|
| [\u12C8-\u12D6]
|
|
| [\u12D8-\u1310]
|
|
| [\u1312-\u1315]
|
|
| [\u1318-\u135A]
|
|
| [\u1380-\u138F]
|
|
| [\u13A0-\u13F5]
|
|
| [\u13F8-\u13FD]
|
|
| [\u1401-\u166C]
|
|
| [\u166F-\u167F]
|
|
| [\u1681-\u169A]
|
|
| [\u16A0-\u16EA]
|
|
| [\u16EE-\u16F8]
|
|
| [\u1700-\u1711]
|
|
| [\u171F-\u1731]
|
|
| [\u1740-\u1751]
|
|
| [\u1760-\u176C]
|
|
| [\u176E-\u1770]
|
|
| [\u1780-\u17B3]
|
|
| [\u17D7]
|
|
| [\u17DC]
|
|
| [\u1820-\u1878]
|
|
| [\u1880-\u18A8]
|
|
| [\u18AA]
|
|
| [\u18B0-\u18F5]
|
|
| [\u1900-\u191E]
|
|
| [\u1950-\u196D]
|
|
| [\u1970-\u1974]
|
|
| [\u1980-\u19AB]
|
|
| [\u19B0-\u19C9]
|
|
| [\u1A00-\u1A16]
|
|
| [\u1A20-\u1A54]
|
|
| [\u1AA7]
|
|
| [\u1B05-\u1B33]
|
|
| [\u1B45-\u1B4C]
|
|
| [\u1B83-\u1BA0]
|
|
| [\u1BAE-\u1BAF]
|
|
| [\u1BBA-\u1BE5]
|
|
| [\u1C00-\u1C23]
|
|
| [\u1C4D-\u1C4F]
|
|
| [\u1C5A-\u1C7D]
|
|
| [\u1C80-\u1C88]
|
|
| [\u1C90-\u1CBA]
|
|
| [\u1CBD-\u1CBF]
|
|
| [\u1CE9-\u1CEC]
|
|
| [\u1CEE-\u1CF3]
|
|
| [\u1CF5-\u1CF6]
|
|
| [\u1CFA]
|
|
| [\u1D00-\u1DBF]
|
|
| [\u1E00-\u1F15]
|
|
| [\u1F18-\u1F1D]
|
|
| [\u1F20-\u1F45]
|
|
| [\u1F48-\u1F4D]
|
|
| [\u1F50-\u1F57]
|
|
| [\u1F59]
|
|
| [\u1F5B]
|
|
| [\u1F5D]
|
|
| [\u1F5F-\u1F7D]
|
|
| [\u1F80-\u1FB4]
|
|
| [\u1FB6-\u1FBC]
|
|
| [\u1FBE]
|
|
| [\u1FC2-\u1FC4]
|
|
| [\u1FC6-\u1FCC]
|
|
| [\u1FD0-\u1FD3]
|
|
| [\u1FD6-\u1FDB]
|
|
| [\u1FE0-\u1FEC]
|
|
| [\u1FF2-\u1FF4]
|
|
| [\u1FF6-\u1FFC]
|
|
| [\u2071]
|
|
| [\u207F]
|
|
| [\u2090-\u209C]
|
|
| [\u2102]
|
|
| [\u2107]
|
|
| [\u210A-\u2113]
|
|
| [\u2115]
|
|
| [\u2118-\u211D]
|
|
| [\u2124]
|
|
| [\u2126]
|
|
| [\u2128]
|
|
| [\u212A-\u2139]
|
|
| [\u213C-\u213F]
|
|
| [\u2145-\u2149]
|
|
| [\u214E]
|
|
| [\u2160-\u2188]
|
|
| [\u2C00-\u2CE4]
|
|
| [\u2CEB-\u2CEE]
|
|
| [\u2CF2-\u2CF3]
|
|
| [\u2D00-\u2D25]
|
|
| [\u2D27]
|
|
| [\u2D2D]
|
|
| [\u2D30-\u2D67]
|
|
| [\u2D6F]
|
|
| [\u2D80-\u2D96]
|
|
| [\u2DA0-\u2DA6]
|
|
| [\u2DA8-\u2DAE]
|
|
| [\u2DB0-\u2DB6]
|
|
| [\u2DB8-\u2DBE]
|
|
| [\u2DC0-\u2DC6]
|
|
| [\u2DC8-\u2DCE]
|
|
| [\u2DD0-\u2DD6]
|
|
| [\u2DD8-\u2DDE]
|
|
| [\u3005-\u3007]
|
|
| [\u3021-\u3029]
|
|
| [\u3031-\u3035]
|
|
| [\u3038-\u303C]
|
|
| [\u3041-\u3096]
|
|
| [\u309D-\u309F]
|
|
| [\u30A1-\u30FA]
|
|
| [\u30FC-\u30FF]
|
|
| [\u3105-\u312F]
|
|
| [\u3131-\u318E]
|
|
| [\u31A0-\u31BF]
|
|
| [\u31F0-\u31FF]
|
|
| [\u3400-\u4DBF]
|
|
| [\u4E00-\uA48C]
|
|
| [\uA4D0-\uA4FD]
|
|
| [\uA500-\uA60C]
|
|
| [\uA610-\uA61F]
|
|
| [\uA62A-\uA62B]
|
|
| [\uA640-\uA66E]
|
|
| [\uA67F-\uA69D]
|
|
| [\uA6A0-\uA6EF]
|
|
| [\uA717-\uA71F]
|
|
| [\uA722-\uA788]
|
|
| [\uA78B-\uA7CA]
|
|
| [\uA7D0-\uA7D1]
|
|
| [\uA7D3]
|
|
| [\uA7D5-\uA7D9]
|
|
| [\uA7F2-\uA801]
|
|
| [\uA803-\uA805]
|
|
| [\uA807-\uA80A]
|
|
| [\uA80C-\uA822]
|
|
| [\uA840-\uA873]
|
|
| [\uA882-\uA8B3]
|
|
| [\uA8F2-\uA8F7]
|
|
| [\uA8FB]
|
|
| [\uA8FD-\uA8FE]
|
|
| [\uA90A-\uA925]
|
|
| [\uA930-\uA946]
|
|
| [\uA960-\uA97C]
|
|
| [\uA984-\uA9B2]
|
|
| [\uA9CF]
|
|
| [\uA9E0-\uA9E4]
|
|
| [\uA9E6-\uA9EF]
|
|
| [\uA9FA-\uA9FE]
|
|
| [\uAA00-\uAA28]
|
|
| [\uAA40-\uAA42]
|
|
| [\uAA44-\uAA4B]
|
|
| [\uAA60-\uAA76]
|
|
| [\uAA7A]
|
|
| [\uAA7E-\uAAAF]
|
|
| [\uAAB1]
|
|
| [\uAAB5-\uAAB6]
|
|
| [\uAAB9-\uAABD]
|
|
| [\uAAC0]
|
|
| [\uAAC2]
|
|
| [\uAADB-\uAADD]
|
|
| [\uAAE0-\uAAEA]
|
|
| [\uAAF2-\uAAF4]
|
|
| [\uAB01-\uAB06]
|
|
| [\uAB09-\uAB0E]
|
|
| [\uAB11-\uAB16]
|
|
| [\uAB20-\uAB26]
|
|
| [\uAB28-\uAB2E]
|
|
| [\uAB30-\uAB5A]
|
|
| [\uAB5C-\uAB69]
|
|
| [\uAB70-\uABE2]
|
|
| [\uAC00-\uD7A3]
|
|
| [\uD7B0-\uD7C6]
|
|
| [\uD7CB-\uD7FB]
|
|
| [\uF900-\uFA6D]
|
|
| [\uFA70-\uFAD9]
|
|
| [\uFB00-\uFB06]
|
|
| [\uFB13-\uFB17]
|
|
| [\uFB1D]
|
|
| [\uFB1F-\uFB28]
|
|
| [\uFB2A-\uFB36]
|
|
| [\uFB38-\uFB3C]
|
|
| [\uFB3E]
|
|
| [\uFB40-\uFB41]
|
|
| [\uFB43-\uFB44]
|
|
| [\uFB46-\uFBB1]
|
|
| [\uFBD3-\uFC5D]
|
|
| [\uFC64-\uFD3D]
|
|
| [\uFD50-\uFD8F]
|
|
| [\uFD92-\uFDC7]
|
|
| [\uFDF0-\uFDF9]
|
|
| [\uFE71]
|
|
| [\uFE73]
|
|
| [\uFE77]
|
|
| [\uFE79]
|
|
| [\uFE7B]
|
|
| [\uFE7D]
|
|
| [\uFE7F-\uFEFC]
|
|
| [\uFF21-\uFF3A]
|
|
| [\uFF41-\uFF5A]
|
|
| [\uFF66-\uFF9D]
|
|
| [\uFFA0-\uFFBE]
|
|
| [\uFFC2-\uFFC7]
|
|
| [\uFFCA-\uFFCF]
|
|
| [\uFFD2-\uFFD7]
|
|
| [\uFFDA-\uFFDC]
|
|
| [\u10000-\u1000B]
|
|
| [\u1000D-\u10026]
|
|
| [\u10028-\u1003A]
|
|
| [\u1003C-\u1003D]
|
|
| [\u1003F-\u1004D]
|
|
| [\u10050-\u1005D]
|
|
| [\u10080-\u100FA]
|
|
| [\u10140-\u10174]
|
|
| [\u10280-\u1029C]
|
|
| [\u102A0-\u102D0]
|
|
| [\u10300-\u1031F]
|
|
| [\u1032D-\u1034A]
|
|
| [\u10350-\u10375]
|
|
| [\u10380-\u1039D]
|
|
| [\u103A0-\u103C3]
|
|
| [\u103C8-\u103CF]
|
|
| [\u103D1-\u103D5]
|
|
| [\u10400-\u1049D]
|
|
| [\u104B0-\u104D3]
|
|
| [\u104D8-\u104FB]
|
|
| [\u10500-\u10527]
|
|
| [\u10530-\u10563]
|
|
| [\u10570-\u1057A]
|
|
| [\u1057C-\u1058A]
|
|
| [\u1058C-\u10592]
|
|
| [\u10594-\u10595]
|
|
| [\u10597-\u105A1]
|
|
| [\u105A3-\u105B1]
|
|
| [\u105B3-\u105B9]
|
|
| [\u105BB-\u105BC]
|
|
| [\u10600-\u10736]
|
|
| [\u10740-\u10755]
|
|
| [\u10760-\u10767]
|
|
| [\u10780-\u10785]
|
|
| [\u10787-\u107B0]
|
|
| [\u107B2-\u107BA]
|
|
| [\u10800-\u10805]
|
|
| [\u10808]
|
|
| [\u1080A-\u10835]
|
|
| [\u10837-\u10838]
|
|
| [\u1083C]
|
|
| [\u1083F-\u10855]
|
|
| [\u10860-\u10876]
|
|
| [\u10880-\u1089E]
|
|
| [\u108E0-\u108F2]
|
|
| [\u108F4-\u108F5]
|
|
| [\u10900-\u10915]
|
|
| [\u10920-\u10939]
|
|
| [\u10980-\u109B7]
|
|
| [\u109BE-\u109BF]
|
|
| [\u10A00]
|
|
| [\u10A10-\u10A13]
|
|
| [\u10A15-\u10A17]
|
|
| [\u10A19-\u10A35]
|
|
| [\u10A60-\u10A7C]
|
|
| [\u10A80-\u10A9C]
|
|
| [\u10AC0-\u10AC7]
|
|
| [\u10AC9-\u10AE4]
|
|
| [\u10B00-\u10B35]
|
|
| [\u10B40-\u10B55]
|
|
| [\u10B60-\u10B72]
|
|
| [\u10B80-\u10B91]
|
|
| [\u10C00-\u10C48]
|
|
| [\u10C80-\u10CB2]
|
|
| [\u10CC0-\u10CF2]
|
|
| [\u10D00-\u10D23]
|
|
| [\u10E80-\u10EA9]
|
|
| [\u10EB0-\u10EB1]
|
|
| [\u10F00-\u10F1C]
|
|
| [\u10F27]
|
|
| [\u10F30-\u10F45]
|
|
| [\u10F70-\u10F81]
|
|
| [\u10FB0-\u10FC4]
|
|
| [\u10FE0-\u10FF6]
|
|
| [\u11003-\u11037]
|
|
| [\u11071-\u11072]
|
|
| [\u11075]
|
|
| [\u11083-\u110AF]
|
|
| [\u110D0-\u110E8]
|
|
| [\u11103-\u11126]
|
|
| [\u11144]
|
|
| [\u11147]
|
|
| [\u11150-\u11172]
|
|
| [\u11176]
|
|
| [\u11183-\u111B2]
|
|
| [\u111C1-\u111C4]
|
|
| [\u111DA]
|
|
| [\u111DC]
|
|
| [\u11200-\u11211]
|
|
| [\u11213-\u1122B]
|
|
| [\u1123F-\u11240]
|
|
| [\u11280-\u11286]
|
|
| [\u11288]
|
|
| [\u1128A-\u1128D]
|
|
| [\u1128F-\u1129D]
|
|
| [\u1129F-\u112A8]
|
|
| [\u112B0-\u112DE]
|
|
| [\u11305-\u1130C]
|
|
| [\u1130F-\u11310]
|
|
| [\u11313-\u11328]
|
|
| [\u1132A-\u11330]
|
|
| [\u11332-\u11333]
|
|
| [\u11335-\u11339]
|
|
| [\u1133D]
|
|
| [\u11350]
|
|
| [\u1135D-\u11361]
|
|
| [\u11400-\u11434]
|
|
| [\u11447-\u1144A]
|
|
| [\u1145F-\u11461]
|
|
| [\u11480-\u114AF]
|
|
| [\u114C4-\u114C5]
|
|
| [\u114C7]
|
|
| [\u11580-\u115AE]
|
|
| [\u115D8-\u115DB]
|
|
| [\u11600-\u1162F]
|
|
| [\u11644]
|
|
| [\u11680-\u116AA]
|
|
| [\u116B8]
|
|
| [\u11700-\u1171A]
|
|
| [\u11740-\u11746]
|
|
| [\u11800-\u1182B]
|
|
| [\u118A0-\u118DF]
|
|
| [\u118FF-\u11906]
|
|
| [\u11909]
|
|
| [\u1190C-\u11913]
|
|
| [\u11915-\u11916]
|
|
| [\u11918-\u1192F]
|
|
| [\u1193F]
|
|
| [\u11941]
|
|
| [\u119A0-\u119A7]
|
|
| [\u119AA-\u119D0]
|
|
| [\u119E1]
|
|
| [\u119E3]
|
|
| [\u11A00]
|
|
| [\u11A0B-\u11A32]
|
|
| [\u11A3A]
|
|
| [\u11A50]
|
|
| [\u11A5C-\u11A89]
|
|
| [\u11A9D]
|
|
| [\u11AB0-\u11AF8]
|
|
| [\u11C00-\u11C08]
|
|
| [\u11C0A-\u11C2E]
|
|
| [\u11C40]
|
|
| [\u11C72-\u11C8F]
|
|
| [\u11D00-\u11D06]
|
|
| [\u11D08-\u11D09]
|
|
| [\u11D0B-\u11D30]
|
|
| [\u11D46]
|
|
| [\u11D60-\u11D65]
|
|
| [\u11D67-\u11D68]
|
|
| [\u11D6A-\u11D89]
|
|
| [\u11D98]
|
|
| [\u11EE0-\u11EF2]
|
|
| [\u11F02]
|
|
| [\u11F04-\u11F10]
|
|
| [\u11F12-\u11F33]
|
|
| [\u11FB0]
|
|
| [\u12000-\u12399]
|
|
| [\u12400-\u1246E]
|
|
| [\u12480-\u12543]
|
|
| [\u12F90-\u12FF0]
|
|
| [\u13000-\u1342F]
|
|
| [\u13441-\u13446]
|
|
| [\u14400-\u14646]
|
|
| [\u16800-\u16A38]
|
|
| [\u16A40-\u16A5E]
|
|
| [\u16A70-\u16ABE]
|
|
| [\u16AD0-\u16AED]
|
|
| [\u16B00-\u16B2F]
|
|
| [\u16B40-\u16B43]
|
|
| [\u16B63-\u16B77]
|
|
| [\u16B7D-\u16B8F]
|
|
| [\u16E40-\u16E7F]
|
|
| [\u16F00-\u16F4A]
|
|
| [\u16F50]
|
|
| [\u16F93-\u16F9F]
|
|
| [\u16FE0-\u16FE1]
|
|
| [\u16FE3]
|
|
| [\u17000-\u187F7]
|
|
| [\u18800-\u18CD5]
|
|
| [\u18D00-\u18D08]
|
|
| [\u1AFF0-\u1AFF3]
|
|
| [\u1AFF5-\u1AFFB]
|
|
| [\u1AFFD-\u1AFFE]
|
|
| [\u1B000-\u1B122]
|
|
| [\u1B132]
|
|
| [\u1B150-\u1B152]
|
|
| [\u1B155]
|
|
| [\u1B164-\u1B167]
|
|
| [\u1B170-\u1B2FB]
|
|
| [\u1BC00-\u1BC6A]
|
|
| [\u1BC70-\u1BC7C]
|
|
| [\u1BC80-\u1BC88]
|
|
| [\u1BC90-\u1BC99]
|
|
| [\u1D400-\u1D454]
|
|
| [\u1D456-\u1D49C]
|
|
| [\u1D49E-\u1D49F]
|
|
| [\u1D4A2]
|
|
| [\u1D4A5-\u1D4A6]
|
|
| [\u1D4A9-\u1D4AC]
|
|
| [\u1D4AE-\u1D4B9]
|
|
| [\u1D4BB]
|
|
| [\u1D4BD-\u1D4C3]
|
|
| [\u1D4C5-\u1D505]
|
|
| [\u1D507-\u1D50A]
|
|
| [\u1D50D-\u1D514]
|
|
| [\u1D516-\u1D51C]
|
|
| [\u1D51E-\u1D539]
|
|
| [\u1D53B-\u1D53E]
|
|
| [\u1D540-\u1D544]
|
|
| [\u1D546]
|
|
| [\u1D54A-\u1D550]
|
|
| [\u1D552-\u1D6A5]
|
|
| [\u1D6A8-\u1D6C0]
|
|
| [\u1D6C2-\u1D6DA]
|
|
| [\u1D6DC-\u1D6FA]
|
|
| [\u1D6FC-\u1D714]
|
|
| [\u1D716-\u1D734]
|
|
| [\u1D736-\u1D74E]
|
|
| [\u1D750-\u1D76E]
|
|
| [\u1D770-\u1D788]
|
|
| [\u1D78A-\u1D7A8]
|
|
| [\u1D7AA-\u1D7C2]
|
|
| [\u1D7C4-\u1D7CB]
|
|
| [\u1DF00-\u1DF1E]
|
|
| [\u1DF25-\u1DF2A]
|
|
| [\u1E030-\u1E06D]
|
|
| [\u1E100-\u1E12C]
|
|
| [\u1E137-\u1E13D]
|
|
| [\u1E14E]
|
|
| [\u1E290-\u1E2AD]
|
|
| [\u1E2C0-\u1E2EB]
|
|
| [\u1E4D0-\u1E4EB]
|
|
| [\u1E7E0-\u1E7E6]
|
|
| [\u1E7E8-\u1E7EB]
|
|
| [\u1E7ED-\u1E7EE]
|
|
| [\u1E7F0-\u1E7FE]
|
|
| [\u1E800-\u1E8C4]
|
|
| [\u1E900-\u1E943]
|
|
| [\u1E94B]
|
|
| [\u1EE00-\u1EE03]
|
|
| [\u1EE05-\u1EE1F]
|
|
| [\u1EE21-\u1EE22]
|
|
| [\u1EE24]
|
|
| [\u1EE27]
|
|
| [\u1EE29-\u1EE32]
|
|
| [\u1EE34-\u1EE37]
|
|
| [\u1EE39]
|
|
| [\u1EE3B]
|
|
| [\u1EE42]
|
|
| [\u1EE47]
|
|
| [\u1EE49]
|
|
| [\u1EE4B]
|
|
| [\u1EE4D-\u1EE4F]
|
|
| [\u1EE51-\u1EE52]
|
|
| [\u1EE54]
|
|
| [\u1EE57]
|
|
| [\u1EE59]
|
|
| [\u1EE5B]
|
|
| [\u1EE5D]
|
|
| [\u1EE5F]
|
|
| [\u1EE61-\u1EE62]
|
|
| [\u1EE64]
|
|
| [\u1EE67-\u1EE6A]
|
|
| [\u1EE6C-\u1EE72]
|
|
| [\u1EE74-\u1EE77]
|
|
| [\u1EE79-\u1EE7C]
|
|
| [\u1EE7E]
|
|
| [\u1EE80-\u1EE89]
|
|
| [\u1EE8B-\u1EE9B]
|
|
| [\u1EEA1-\u1EEA3]
|
|
| [\u1EEA5-\u1EEA9]
|
|
| [\u1EEAB-\u1EEBB]
|
|
| [\u20000-\u2A6DF]
|
|
| [\u2A700-\u2B739]
|
|
| [\u2B740-\u2B81D]
|
|
| [\u2B820-\u2CEA1]
|
|
| [\u2CEB0-\u2EBE0]
|
|
| [\u2F800-\u2FA1D]
|
|
| [\u30000-\u3134A]
|
|
| [\u31350-\u323AF]
|
|
; |