6
// Note: Pseudo AND-NOT constructs
7
// ~(~A | B) logically means the same as A & ~B; it is used because ANTLR
8
// doesn't support the & operator. This idiom is used more than once below.
14
// Rules accessed directly by the grammar
34
Abstract : 'abstract' ;
47
Implicit : 'implicit' ;
54
Override : 'override' ;
57
Protected : 'protected' ;
80
// id is redefined as a grammar production
82
: (DecimalNumeral | HexNumeral | OctalNumeral) ('L' | 'l')?
85
: Digit+ Dot Digit* ExponentPart? FloatType?
86
| Dot Digit+ ExponentPart? FloatType?
87
| Digit+ ExponentPart FloatType?
95
: '\'' ( PrintableChar | CharEscapeSeq ) '\''
98
// Multiline can end with more than three "s; all but the last three are
100
: '"""' (options {greedy=false;} : .)* '"""' '"'*
101
| '"' StringElement* '"'
104
: '\'' (VarId | PlainNonVarId)
120
// Plainid is separated into VarId and PlainNonVarId
127
// Fragments to support the rules above
130
fragment PrintableChar : NotUnicodeCatC ; // Defined with other Unicode categories
131
fragment CharEscapeSeq
143
| 'X' Hex6 // my own extension; fits codepoints outside the BMP directly
144
// octal escapes left out somewhat intentionally
147
fragment PrintableCharNoDoubleQuote : ~(~PrintableChar | '"') ;
148
fragment CharNoDoubleQuote : ~'"' ;
150
// Parts of these may be redundant
151
fragment Upper : 'A' .. 'Z' | '$' | '_' | UnicodeCatLu ;
152
fragment Lower : 'a' .. 'z' | UnicodeCatLl ;
153
fragment Letter : Upper | Lower | UnicodeCatLoLtNl ;
154
fragment Digit : '0' .. '9' ;
156
fragment Opchar : ~(~OverdefinedOpchar | InvalidOpchar) ;
157
fragment OverdefinedOpchar : '\u0020' .. '\u007f' | UnicodeCatSmSo ;
158
fragment InvalidOpchar
168
: (Letter | Digit)* (Under Op)?
170
fragment DecimalNumeral : '0' | NonZeroDigit Digit* ;
171
fragment HexNumeral : '0x' HexDigit+ ;
172
fragment OctalNumeral : '0' OctalDigit+ ;
173
fragment NonZeroDigit : ~(~Digit | '0') ;
174
fragment HexDigit : Digit | 'a' .. 'f' | 'A' .. 'F' ;
175
fragment Hex2 : HexDigit HexDigit ;
176
fragment Hex4 : Hex2 Hex2 ;
177
fragment Hex6 : Hex4 Hex2 ;
178
fragment Hex8 : Hex4 Hex4 ;
179
fragment OctalDigit : '0' .. '7' ;
180
fragment OctalEscapeDigits
181
: ('0'..'3') OctalDigit OctalDigit
182
| OctalDigit OctalDigit?
184
fragment ExponentPart
185
: ('E' | 'e') (Plus | Minus)? Digit+
188
: 'F' | 'f' | 'D' | 'd'
190
fragment StringElement
191
: PrintableCharNoDoubleQuote
195
: '/*' (options {greedy=false;} : .)* '*/'
248
/* Context-free syntax */
253
//| // production here for '\'' stringLit '\'' doesn't seem to make any sense
256
: Minus? IntegerLiteral
257
| Minus? FloatingPointLiteral
277
| (id Dot)? Super classQualifier? Dot id
283
: functionArgTypes Arrow type
284
| infixType existentialClause?
288
| LParen ( paramType (Comma paramType )* )? RParen
291
: ForSome LBrace existentialDcl (Semi existentialDcl)* RBrace
298
: compoundType (id Newl? compoundType)*
301
: annotType (With annotType)* refinement?
305
: simpleType annotation*
311
| LParen types RParen
318
: LBrack types RBrack
324
: Newl? LBrace refineStat (Semi refineStat)* RBrace
335
: Colon (infixType | annotation+ | Under Star)
338
: (bindings | (Implicit)? id | Under) Arrow expr
342
: If LParen expr RParen Newl* expr (Semi? Else expr)?
343
| While LParen expr RParen Newl* expr
344
| Try LBrace block RBrace (Catch LBrace caseClauses RBrace)? (Finally expr)?
345
| Do expr Semi? While LParen expr RParen
346
| For (LParen enumerators RParen | LBrace enumerators RBrace) Newl* Yield? expr
349
| (simpleExpr Dot)? id Equals expr
350
| simpleExpr1 argumentExprs Equals expr
352
| postfixExpr ascription
353
| postfixExpr Match LBrace caseClauses RBrace
356
: infixExpr (id Newl?)?
359
: prefixExpr (id Newl? infixExpr)*
362
: (Minus | Plus | Tilde | Bang)? simpleExpr
365
: New (classTemplate | templateBody)
374
| LParen exprs? RParen
376
| simpleExpr typeArgs
384
: LParen exprs? RParen
385
| LParen (exprs Comma)? postfixExpr Colon Under Star RParen
389
: LBrace (caseClauses | block) RBrace
392
: (blockStat Semi)* resultExpr?
396
| annotation* (Implicit | Lazy)? def
397
| annotation* localModifier* tmplDef
403
| (bindings | (Implicit? id | Under) Colon compoundType) Arrow block
406
: generator (Semi enumerator)*
411
| Val pattern1 Equals expr
414
: pattern1 Less expr guard?
420
: Case pattern guard? Arrow block
426
: pattern1 ( Pipe pattern1 )*
429
: VarId Colon typePat
430
| Under Colon typePat
434
: VarId (At pattern3)?
438
: simplePattern ( id Newl? simplePattern )*
445
| stableId LParen patterns RParen
446
| stableId LParen (patterns Comma)? (VarId At)? Under Star RParen
447
| LParen patterns? RParen
451
: pattern (Comma pattern)*
452
// another alternation written as '_' * in the spec. Don't know what they meant.
455
: LBrack variantTypeParam (Comma variantTypeParam)* RBrack
458
: LBrack typeParam (Comma typeParam)* RBrack
461
: annotation* (Plus | Minus)? typeParam
464
: (id | Under) typeParamClause? (SupertypeOf type)? (SubtypeOf type)? (ViewableAs type)* (Colon type)*
467
: paramClause* (Newl? LParen Implicit params RParen)?
470
: Newl? LParen params? RParen
473
: param (Comma param)*
476
: annotation* id (Colon paramType)? (Equals expr)?
484
: classParamClause* (Newl? LParen Implicit classParams RParen)?
487
: Newl? LParen classParams? RParen
490
: classParam+ // Spec requires a space between these
493
: annotation* (modifier* (Val | Var))? id Colon paramType (Equals expr)?
496
: LParen binding (Comma binding)* RParen
499
: (id | Under) (Colon type)?
514
: (Private | Protected) accessQualifier?
517
: LBrack (id | This) RBrack
520
: At simpleType argumentExprs*
523
: At simpleType argumentExprs
526
: Val id Equals prefixExpr
529
: Newl? LBrace selfType? templateStat (Semi templateStat)* RBrace
533
| (annotation Newl?)* modifier* (def | dcl)
538
: id (Colon type)? Arrow
539
| This Colon type Arrow
542
: Import importExpr (Comma importExpr)*
545
: stableId Dot (id | Under | importSelectors)
548
: LBrace (importSelector Comma)* (importSelector | Under) RBrace
551
: id (Arrow id | Arrow Under)?
566
: funSig (Colon type)?
569
: id funTypeParamClause? paramClauses
572
: id typeParamClause? (SupertypeOf type)? (SubtypeOf type)?
585
: pattern2 (Comma pattern2)* (Colon type)? Equals expr
589
| ids Colon type Equals Under
592
: funSig (Colon type)? Equals expr
593
| funSig Newl? LBrace block RBrace
594
| This paramClause paramClauses (Equals constrExpr | Newl? constrBlock)
597
: id typeParamClause? Equals type
607
: id typeParamClause? constrAnnotation* accessModifier? classParamClauses classTemplateOpt
610
: id typeParamClause? traitTemplateOpt
613
: id classTemplateOpt
616
: Extends classTemplate | (Extends? templateBody)?
619
: Extends traitTemplate | (Extends? templateBody)?
622
: earlyDefs? classParents templateBody?
625
: earlyDefs? traitParents templateBody?
628
: constr (With annotType)*
631
: annotType (With annotType)*
634
: annotType argumentExprs*
637
: LBrace (earlyDef (Semi earlyDef)*)? RBrace With
640
: (annotation Newl?)* modifier* patVarDef
647
: LBrace selfInvocation (Semi blockStat)* RBrace
650
: This argumentExprs+
653
: topStat (Semi topStat)*
656
: (annotation Newl?)* modifier* tmplDef
662
: Package qualId Newl? LBrace topStatSeq RBrace
665
: Package Object objectDef
668
: (Package qualId Semi)* topStatSeq
673
// Unicode character classes
676
fragment NotUnicodeCatC : ~UnicodeCatC ;
680
// BEGIN GENERATED CATEGORIES
1000
| '\u4db6'..'\u4dbf'
1001
| '\u9fa6'..'\u9fff'
1002
| '\ua48d'..'\ua48f'
1003
| '\ua4c7'..'\uabff'
1004
| '\ud7a4'..'\uf8ff'
1005
| '\ufa2e'..'\ufa2f'
1006
| '\ufa6b'..'\ufaff'
1007
| '\ufb07'..'\ufb12'
1008
| '\ufb18'..'\ufb1c'
1009
| '\ufb37'..'\ufb37'
1010
| '\ufb3d'..'\ufb3d'
1011
| '\ufb3f'..'\ufb3f'
1012
| '\ufb42'..'\ufb42'
1013
| '\ufb45'..'\ufb45'
1014
| '\ufbb2'..'\ufbd2'
1015
| '\ufd40'..'\ufd4f'
1016
| '\ufd90'..'\ufd91'
1017
| '\ufdc8'..'\ufdef'
1018
| '\ufdfe'..'\ufdff'
1019
| '\ufe10'..'\ufe1f'
1020
| '\ufe24'..'\ufe2f'
1021
| '\ufe53'..'\ufe53'
1022
| '\ufe67'..'\ufe67'
1023
| '\ufe6c'..'\ufe6f'
1024
| '\ufe75'..'\ufe75'
1025
| '\ufefd'..'\uff00'
1026
| '\uffbf'..'\uffc1'
1027
| '\uffc8'..'\uffc9'
1028
| '\uffd0'..'\uffd1'
1029
| '\uffd8'..'\uffd9'
1030
| '\uffdd'..'\uffdf'
1031
| '\uffe7'..'\uffe7'
1032
| '\uffef'..'\ufffb'
1033
| '\ufffe'..'\uffff'
1035
fragment UnicodeCatLu
1036
: '\u0041'..'\u005a'
1037
| '\u00c0'..'\u00d6'
1038
| '\u00d8'..'\u00de'
1039
| '\u0100'..'\u0100'
1040
| '\u0102'..'\u0102'
1041
| '\u0104'..'\u0104'
1042
| '\u0106'..'\u0106'
1043
| '\u0108'..'\u0108'
1044
| '\u010a'..'\u010a'
1045
| '\u010c'..'\u010c'
1046
| '\u010e'..'\u010e'
1047
| '\u0110'..'\u0110'
1048
| '\u0112'..'\u0112'
1049
| '\u0114'..'\u0114'
1050
| '\u0116'..'\u0116'
1051
| '\u0118'..'\u0118'
1052
| '\u011a'..'\u011a'
1053
| '\u011c'..'\u011c'
1054
| '\u011e'..'\u011e'
1055
| '\u0120'..'\u0120'
1056
| '\u0122'..'\u0122'
1057
| '\u0124'..'\u0124'
1058
| '\u0126'..'\u0126'
1059
| '\u0128'..'\u0128'
1060
| '\u012a'..'\u012a'
1061
| '\u012c'..'\u012c'
1062
| '\u012e'..'\u012e'
1063
| '\u0130'..'\u0130'
1064
| '\u0132'..'\u0132'
1065
| '\u0134'..'\u0134'
1066
| '\u0136'..'\u0136'
1067
| '\u0139'..'\u0139'
1068
| '\u013b'..'\u013b'
1069
| '\u013d'..'\u013d'
1070
| '\u013f'..'\u013f'
1071
| '\u0141'..'\u0141'
1072
| '\u0143'..'\u0143'
1073
| '\u0145'..'\u0145'
1074
| '\u0147'..'\u0147'
1075
| '\u014a'..'\u014a'
1076
| '\u014c'..'\u014c'
1077
| '\u014e'..'\u014e'
1078
| '\u0150'..'\u0150'
1079
| '\u0152'..'\u0152'
1080
| '\u0154'..'\u0154'
1081
| '\u0156'..'\u0156'
1082
| '\u0158'..'\u0158'
1083
| '\u015a'..'\u015a'
1084
| '\u015c'..'\u015c'
1085
| '\u015e'..'\u015e'
1086
| '\u0160'..'\u0160'
1087
| '\u0162'..'\u0162'
1088
| '\u0164'..'\u0164'
1089
| '\u0166'..'\u0166'
1090
| '\u0168'..'\u0168'
1091
| '\u016a'..'\u016a'
1092
| '\u016c'..'\u016c'
1093
| '\u016e'..'\u016e'
1094
| '\u0170'..'\u0170'
1095
| '\u0172'..'\u0172'
1096
| '\u0174'..'\u0174'
1097
| '\u0176'..'\u0176'
1098
| '\u0178'..'\u0179'
1099
| '\u017b'..'\u017b'
1100
| '\u017d'..'\u017d'
1101
| '\u0181'..'\u0182'
1102
| '\u0184'..'\u0184'
1103
| '\u0186'..'\u0187'
1104
| '\u0189'..'\u018b'
1105
| '\u018e'..'\u0191'
1106
| '\u0193'..'\u0194'
1107
| '\u0196'..'\u0198'
1108
| '\u019c'..'\u019d'
1109
| '\u019f'..'\u01a0'
1110
| '\u01a2'..'\u01a2'
1111
| '\u01a4'..'\u01a4'
1112
| '\u01a6'..'\u01a7'
1113
| '\u01a9'..'\u01a9'
1114
| '\u01ac'..'\u01ac'
1115
| '\u01ae'..'\u01af'
1116
| '\u01b1'..'\u01b3'
1117
| '\u01b5'..'\u01b5'
1118
| '\u01b7'..'\u01b8'
1119
| '\u01bc'..'\u01bc'
1120
| '\u01c4'..'\u01c4'
1121
| '\u01c7'..'\u01c7'
1122
| '\u01ca'..'\u01ca'
1123
| '\u01cd'..'\u01cd'
1124
| '\u01cf'..'\u01cf'
1125
| '\u01d1'..'\u01d1'
1126
| '\u01d3'..'\u01d3'
1127
| '\u01d5'..'\u01d5'
1128
| '\u01d7'..'\u01d7'
1129
| '\u01d9'..'\u01d9'
1130
| '\u01db'..'\u01db'
1131
| '\u01de'..'\u01de'
1132
| '\u01e0'..'\u01e0'
1133
| '\u01e2'..'\u01e2'
1134
| '\u01e4'..'\u01e4'
1135
| '\u01e6'..'\u01e6'
1136
| '\u01e8'..'\u01e8'
1137
| '\u01ea'..'\u01ea'
1138
| '\u01ec'..'\u01ec'
1139
| '\u01ee'..'\u01ee'
1140
| '\u01f1'..'\u01f1'
1141
| '\u01f4'..'\u01f4'
1142
| '\u01f6'..'\u01f8'
1143
| '\u01fa'..'\u01fa'
1144
| '\u01fc'..'\u01fc'
1145
| '\u01fe'..'\u01fe'
1146
| '\u0200'..'\u0200'
1147
| '\u0202'..'\u0202'
1148
| '\u0204'..'\u0204'
1149
| '\u0206'..'\u0206'
1150
| '\u0208'..'\u0208'
1151
| '\u020a'..'\u020a'
1152
| '\u020c'..'\u020c'
1153
| '\u020e'..'\u020e'
1154
| '\u0210'..'\u0210'
1155
| '\u0212'..'\u0212'
1156
| '\u0214'..'\u0214'
1157
| '\u0216'..'\u0216'
1158
| '\u0218'..'\u0218'
1159
| '\u021a'..'\u021a'
1160
| '\u021c'..'\u021c'
1161
| '\u021e'..'\u021e'
1162
| '\u0220'..'\u0220'
1163
| '\u0222'..'\u0222'
1164
| '\u0224'..'\u0224'
1165
| '\u0226'..'\u0226'
1166
| '\u0228'..'\u0228'
1167
| '\u022a'..'\u022a'
1168
| '\u022c'..'\u022c'
1169
| '\u022e'..'\u022e'
1170
| '\u0230'..'\u0230'
1171
| '\u0232'..'\u0232'
1172
| '\u0386'..'\u0386'
1173
| '\u0388'..'\u038a'
1174
| '\u038c'..'\u038c'
1175
| '\u038e'..'\u038f'
1176
| '\u0391'..'\u03a1'
1177
| '\u03a3'..'\u03ab'
1178
| '\u03d2'..'\u03d4'
1179
| '\u03d8'..'\u03d8'
1180
| '\u03da'..'\u03da'
1181
| '\u03dc'..'\u03dc'
1182
| '\u03de'..'\u03de'
1183
| '\u03e0'..'\u03e0'
1184
| '\u03e2'..'\u03e2'
1185
| '\u03e4'..'\u03e4'
1186
| '\u03e6'..'\u03e6'
1187
| '\u03e8'..'\u03e8'
1188
| '\u03ea'..'\u03ea'
1189
| '\u03ec'..'\u03ec'
1190
| '\u03ee'..'\u03ee'
1191
| '\u03f4'..'\u03f4'
1192
| '\u03f7'..'\u03f7'
1193
| '\u03f9'..'\u03fa'
1194
| '\u0400'..'\u042f'
1195
| '\u0460'..'\u0460'
1196
| '\u0462'..'\u0462'
1197
| '\u0464'..'\u0464'
1198
| '\u0466'..'\u0466'
1199
| '\u0468'..'\u0468'
1200
| '\u046a'..'\u046a'
1201
| '\u046c'..'\u046c'
1202
| '\u046e'..'\u046e'
1203
| '\u0470'..'\u0470'
1204
| '\u0472'..'\u0472'
1205
| '\u0474'..'\u0474'
1206
| '\u0476'..'\u0476'
1207
| '\u0478'..'\u0478'
1208
| '\u047a'..'\u047a'
1209
| '\u047c'..'\u047c'
1210
| '\u047e'..'\u047e'
1211
| '\u0480'..'\u0480'
1212
| '\u048a'..'\u048a'
1213
| '\u048c'..'\u048c'
1214
| '\u048e'..'\u048e'
1215
| '\u0490'..'\u0490'
1216
| '\u0492'..'\u0492'
1217
| '\u0494'..'\u0494'
1218
| '\u0496'..'\u0496'
1219
| '\u0498'..'\u0498'
1220
| '\u049a'..'\u049a'
1221
| '\u049c'..'\u049c'
1222
| '\u049e'..'\u049e'
1223
| '\u04a0'..'\u04a0'
1224
| '\u04a2'..'\u04a2'
1225
| '\u04a4'..'\u04a4'
1226
| '\u04a6'..'\u04a6'
1227
| '\u04a8'..'\u04a8'
1228
| '\u04aa'..'\u04aa'
1229
| '\u04ac'..'\u04ac'
1230
| '\u04ae'..'\u04ae'
1231
| '\u04b0'..'\u04b0'
1232
| '\u04b2'..'\u04b2'
1233
| '\u04b4'..'\u04b4'
1234
| '\u04b6'..'\u04b6'
1235
| '\u04b8'..'\u04b8'
1236
| '\u04ba'..'\u04ba'
1237
| '\u04bc'..'\u04bc'
1238
| '\u04be'..'\u04be'
1239
| '\u04c0'..'\u04c1'
1240
| '\u04c3'..'\u04c3'
1241
| '\u04c5'..'\u04c5'
1242
| '\u04c7'..'\u04c7'
1243
| '\u04c9'..'\u04c9'
1244
| '\u04cb'..'\u04cb'
1245
| '\u04cd'..'\u04cd'
1246
| '\u04d0'..'\u04d0'
1247
| '\u04d2'..'\u04d2'
1248
| '\u04d4'..'\u04d4'
1249
| '\u04d6'..'\u04d6'
1250
| '\u04d8'..'\u04d8'
1251
| '\u04da'..'\u04da'
1252
| '\u04dc'..'\u04dc'
1253
| '\u04de'..'\u04de'
1254
| '\u04e0'..'\u04e0'
1255
| '\u04e2'..'\u04e2'
1256
| '\u04e4'..'\u04e4'
1257
| '\u04e6'..'\u04e6'
1258
| '\u04e8'..'\u04e8'
1259
| '\u04ea'..'\u04ea'
1260
| '\u04ec'..'\u04ec'
1261
| '\u04ee'..'\u04ee'
1262
| '\u04f0'..'\u04f0'
1263
| '\u04f2'..'\u04f2'
1264
| '\u04f4'..'\u04f4'
1265
| '\u04f8'..'\u04f8'
1266
| '\u0500'..'\u0500'
1267
| '\u0502'..'\u0502'
1268
| '\u0504'..'\u0504'
1269
| '\u0506'..'\u0506'
1270
| '\u0508'..'\u0508'
1271
| '\u050a'..'\u050a'
1272
| '\u050c'..'\u050c'
1273
| '\u050e'..'\u050e'
1274
| '\u0531'..'\u0556'
1275
| '\u10a0'..'\u10c5'
1276
| '\u1e00'..'\u1e00'
1277
| '\u1e02'..'\u1e02'
1278
| '\u1e04'..'\u1e04'
1279
| '\u1e06'..'\u1e06'
1280
| '\u1e08'..'\u1e08'
1281
| '\u1e0a'..'\u1e0a'
1282
| '\u1e0c'..'\u1e0c'
1283
| '\u1e0e'..'\u1e0e'
1284
| '\u1e10'..'\u1e10'
1285
| '\u1e12'..'\u1e12'
1286
| '\u1e14'..'\u1e14'
1287
| '\u1e16'..'\u1e16'
1288
| '\u1e18'..'\u1e18'
1289
| '\u1e1a'..'\u1e1a'
1290
| '\u1e1c'..'\u1e1c'
1291
| '\u1e1e'..'\u1e1e'
1292
| '\u1e20'..'\u1e20'
1293
| '\u1e22'..'\u1e22'
1294
| '\u1e24'..'\u1e24'
1295
| '\u1e26'..'\u1e26'
1296
| '\u1e28'..'\u1e28'
1297
| '\u1e2a'..'\u1e2a'
1298
| '\u1e2c'..'\u1e2c'
1299
| '\u1e2e'..'\u1e2e'
1300
| '\u1e30'..'\u1e30'
1301
| '\u1e32'..'\u1e32'
1302
| '\u1e34'..'\u1e34'
1303
| '\u1e36'..'\u1e36'
1304
| '\u1e38'..'\u1e38'
1305
| '\u1e3a'..'\u1e3a'
1306
| '\u1e3c'..'\u1e3c'
1307
| '\u1e3e'..'\u1e3e'
1308
| '\u1e40'..'\u1e40'
1309
| '\u1e42'..'\u1e42'
1310
| '\u1e44'..'\u1e44'
1311
| '\u1e46'..'\u1e46'
1312
| '\u1e48'..'\u1e48'
1313
| '\u1e4a'..'\u1e4a'
1314
| '\u1e4c'..'\u1e4c'
1315
| '\u1e4e'..'\u1e4e'
1316
| '\u1e50'..'\u1e50'
1317
| '\u1e52'..'\u1e52'
1318
| '\u1e54'..'\u1e54'
1319
| '\u1e56'..'\u1e56'
1320
| '\u1e58'..'\u1e58'
1321
| '\u1e5a'..'\u1e5a'
1322
| '\u1e5c'..'\u1e5c'
1323
| '\u1e5e'..'\u1e5e'
1324
| '\u1e60'..'\u1e60'
1325
| '\u1e62'..'\u1e62'
1326
| '\u1e64'..'\u1e64'
1327
| '\u1e66'..'\u1e66'
1328
| '\u1e68'..'\u1e68'
1329
| '\u1e6a'..'\u1e6a'
1330
| '\u1e6c'..'\u1e6c'
1331
| '\u1e6e'..'\u1e6e'
1332
| '\u1e70'..'\u1e70'
1333
| '\u1e72'..'\u1e72'
1334
| '\u1e74'..'\u1e74'
1335
| '\u1e76'..'\u1e76'
1336
| '\u1e78'..'\u1e78'
1337
| '\u1e7a'..'\u1e7a'
1338
| '\u1e7c'..'\u1e7c'
1339
| '\u1e7e'..'\u1e7e'
1340
| '\u1e80'..'\u1e80'
1341
| '\u1e82'..'\u1e82'
1342
| '\u1e84'..'\u1e84'
1343
| '\u1e86'..'\u1e86'
1344
| '\u1e88'..'\u1e88'
1345
| '\u1e8a'..'\u1e8a'
1346
| '\u1e8c'..'\u1e8c'
1347
| '\u1e8e'..'\u1e8e'
1348
| '\u1e90'..'\u1e90'
1349
| '\u1e92'..'\u1e92'
1350
| '\u1e94'..'\u1e94'
1351
| '\u1ea0'..'\u1ea0'
1352
| '\u1ea2'..'\u1ea2'
1353
| '\u1ea4'..'\u1ea4'
1354
| '\u1ea6'..'\u1ea6'
1355
| '\u1ea8'..'\u1ea8'
1356
| '\u1eaa'..'\u1eaa'
1357
| '\u1eac'..'\u1eac'
1358
| '\u1eae'..'\u1eae'
1359
| '\u1eb0'..'\u1eb0'
1360
| '\u1eb2'..'\u1eb2'
1361
| '\u1eb4'..'\u1eb4'
1362
| '\u1eb6'..'\u1eb6'
1363
| '\u1eb8'..'\u1eb8'
1364
| '\u1eba'..'\u1eba'
1365
| '\u1ebc'..'\u1ebc'
1366
| '\u1ebe'..'\u1ebe'
1367
| '\u1ec0'..'\u1ec0'
1368
| '\u1ec2'..'\u1ec2'
1369
| '\u1ec4'..'\u1ec4'
1370
| '\u1ec6'..'\u1ec6'
1371
| '\u1ec8'..'\u1ec8'
1372
| '\u1eca'..'\u1eca'
1373
| '\u1ecc'..'\u1ecc'
1374
| '\u1ece'..'\u1ece'
1375
| '\u1ed0'..'\u1ed0'
1376
| '\u1ed2'..'\u1ed2'
1377
| '\u1ed4'..'\u1ed4'
1378
| '\u1ed6'..'\u1ed6'
1379
| '\u1ed8'..'\u1ed8'
1380
| '\u1eda'..'\u1eda'
1381
| '\u1edc'..'\u1edc'
1382
| '\u1ede'..'\u1ede'
1383
| '\u1ee0'..'\u1ee0'
1384
| '\u1ee2'..'\u1ee2'
1385
| '\u1ee4'..'\u1ee4'
1386
| '\u1ee6'..'\u1ee6'
1387
| '\u1ee8'..'\u1ee8'
1388
| '\u1eea'..'\u1eea'
1389
| '\u1eec'..'\u1eec'
1390
| '\u1eee'..'\u1eee'
1391
| '\u1ef0'..'\u1ef0'
1392
| '\u1ef2'..'\u1ef2'
1393
| '\u1ef4'..'\u1ef4'
1394
| '\u1ef6'..'\u1ef6'
1395
| '\u1ef8'..'\u1ef8'
1396
| '\u1f08'..'\u1f0f'
1397
| '\u1f18'..'\u1f1d'
1398
| '\u1f28'..'\u1f2f'
1399
| '\u1f38'..'\u1f3f'
1400
| '\u1f48'..'\u1f4d'
1401
| '\u1f59'..'\u1f59'
1402
| '\u1f5b'..'\u1f5b'
1403
| '\u1f5d'..'\u1f5d'
1404
| '\u1f5f'..'\u1f5f'
1405
| '\u1f68'..'\u1f6f'
1406
| '\u1fb8'..'\u1fbb'
1407
| '\u1fc8'..'\u1fcb'
1408
| '\u1fd8'..'\u1fdb'
1409
| '\u1fe8'..'\u1fec'
1410
| '\u1ff8'..'\u1ffb'
1411
| '\u2102'..'\u2102'
1412
| '\u2107'..'\u2107'
1413
| '\u210b'..'\u210d'
1414
| '\u2110'..'\u2112'
1415
| '\u2115'..'\u2115'
1416
| '\u2119'..'\u211d'
1417
| '\u2124'..'\u2124'
1418
| '\u2126'..'\u2126'
1419
| '\u2128'..'\u2128'
1420
| '\u212a'..'\u212d'
1421
| '\u2130'..'\u2131'
1422
| '\u2133'..'\u2133'
1423
| '\u213e'..'\u213f'
1424
| '\u2145'..'\u2145'
1425
| '\uff21'..'\uff3a'
1427
fragment UnicodeCatLl
1428
: '\u0061'..'\u007a'
1429
| '\u00aa'..'\u00aa'
1430
| '\u00b5'..'\u00b5'
1431
| '\u00ba'..'\u00ba'
1432
| '\u00df'..'\u00f6'
1433
| '\u00f8'..'\u00ff'
1434
| '\u0101'..'\u0101'
1435
| '\u0103'..'\u0103'
1436
| '\u0105'..'\u0105'
1437
| '\u0107'..'\u0107'
1438
| '\u0109'..'\u0109'
1439
| '\u010b'..'\u010b'
1440
| '\u010d'..'\u010d'
1441
| '\u010f'..'\u010f'
1442
| '\u0111'..'\u0111'
1443
| '\u0113'..'\u0113'
1444
| '\u0115'..'\u0115'
1445
| '\u0117'..'\u0117'
1446
| '\u0119'..'\u0119'
1447
| '\u011b'..'\u011b'
1448
| '\u011d'..'\u011d'
1449
| '\u011f'..'\u011f'
1450
| '\u0121'..'\u0121'
1451
| '\u0123'..'\u0123'
1452
| '\u0125'..'\u0125'
1453
| '\u0127'..'\u0127'
1454
| '\u0129'..'\u0129'
1455
| '\u012b'..'\u012b'
1456
| '\u012d'..'\u012d'
1457
| '\u012f'..'\u012f'
1458
| '\u0131'..'\u0131'
1459
| '\u0133'..'\u0133'
1460
| '\u0135'..'\u0135'
1461
| '\u0137'..'\u0138'
1462
| '\u013a'..'\u013a'
1463
| '\u013c'..'\u013c'
1464
| '\u013e'..'\u013e'
1465
| '\u0140'..'\u0140'
1466
| '\u0142'..'\u0142'
1467
| '\u0144'..'\u0144'
1468
| '\u0146'..'\u0146'
1469
| '\u0148'..'\u0149'
1470
| '\u014b'..'\u014b'
1471
| '\u014d'..'\u014d'
1472
| '\u014f'..'\u014f'
1473
| '\u0151'..'\u0151'
1474
| '\u0153'..'\u0153'
1475
| '\u0155'..'\u0155'
1476
| '\u0157'..'\u0157'
1477
| '\u0159'..'\u0159'
1478
| '\u015b'..'\u015b'
1479
| '\u015d'..'\u015d'
1480
| '\u015f'..'\u015f'
1481
| '\u0161'..'\u0161'
1482
| '\u0163'..'\u0163'
1483
| '\u0165'..'\u0165'
1484
| '\u0167'..'\u0167'
1485
| '\u0169'..'\u0169'
1486
| '\u016b'..'\u016b'
1487
| '\u016d'..'\u016d'
1488
| '\u016f'..'\u016f'
1489
| '\u0171'..'\u0171'
1490
| '\u0173'..'\u0173'
1491
| '\u0175'..'\u0175'
1492
| '\u0177'..'\u0177'
1493
| '\u017a'..'\u017a'
1494
| '\u017c'..'\u017c'
1495
| '\u017e'..'\u0180'
1496
| '\u0183'..'\u0183'
1497
| '\u0185'..'\u0185'
1498
| '\u0188'..'\u0188'
1499
| '\u018c'..'\u018d'
1500
| '\u0192'..'\u0192'
1501
| '\u0195'..'\u0195'
1502
| '\u0199'..'\u019b'
1503
| '\u019e'..'\u019e'
1504
| '\u01a1'..'\u01a1'
1505
| '\u01a3'..'\u01a3'
1506
| '\u01a5'..'\u01a5'
1507
| '\u01a8'..'\u01a8'
1508
| '\u01aa'..'\u01ab'
1509
| '\u01ad'..'\u01ad'
1510
| '\u01b0'..'\u01b0'
1511
| '\u01b4'..'\u01b4'
1512
| '\u01b6'..'\u01b6'
1513
| '\u01b9'..'\u01ba'
1514
| '\u01bd'..'\u01bf'
1515
| '\u01c6'..'\u01c6'
1516
| '\u01c9'..'\u01c9'
1517
| '\u01cc'..'\u01cc'
1518
| '\u01ce'..'\u01ce'
1519
| '\u01d0'..'\u01d0'
1520
| '\u01d2'..'\u01d2'
1521
| '\u01d4'..'\u01d4'
1522
| '\u01d6'..'\u01d6'
1523
| '\u01d8'..'\u01d8'
1524
| '\u01da'..'\u01da'
1525
| '\u01dc'..'\u01dd'
1526
| '\u01df'..'\u01df'
1527
| '\u01e1'..'\u01e1'
1528
| '\u01e3'..'\u01e3'
1529
| '\u01e5'..'\u01e5'
1530
| '\u01e7'..'\u01e7'
1531
| '\u01e9'..'\u01e9'
1532
| '\u01eb'..'\u01eb'
1533
| '\u01ed'..'\u01ed'
1534
| '\u01ef'..'\u01f0'
1535
| '\u01f3'..'\u01f3'
1536
| '\u01f5'..'\u01f5'
1537
| '\u01f9'..'\u01f9'
1538
| '\u01fb'..'\u01fb'
1539
| '\u01fd'..'\u01fd'
1540
| '\u01ff'..'\u01ff'
1541
| '\u0201'..'\u0201'
1542
| '\u0203'..'\u0203'
1543
| '\u0205'..'\u0205'
1544
| '\u0207'..'\u0207'
1545
| '\u0209'..'\u0209'
1546
| '\u020b'..'\u020b'
1547
| '\u020d'..'\u020d'
1548
| '\u020f'..'\u020f'
1549
| '\u0211'..'\u0211'
1550
| '\u0213'..'\u0213'
1551
| '\u0215'..'\u0215'
1552
| '\u0217'..'\u0217'
1553
| '\u0219'..'\u0219'
1554
| '\u021b'..'\u021b'
1555
| '\u021d'..'\u021d'
1556
| '\u021f'..'\u021f'
1557
| '\u0221'..'\u0221'
1558
| '\u0223'..'\u0223'
1559
| '\u0225'..'\u0225'
1560
| '\u0227'..'\u0227'
1561
| '\u0229'..'\u0229'
1562
| '\u022b'..'\u022b'
1563
| '\u022d'..'\u022d'
1564
| '\u022f'..'\u022f'
1565
| '\u0231'..'\u0231'
1566
| '\u0233'..'\u0236'
1567
| '\u0250'..'\u02af'
1568
| '\u0390'..'\u0390'
1569
| '\u03ac'..'\u03ce'
1570
| '\u03d0'..'\u03d1'
1571
| '\u03d5'..'\u03d7'
1572
| '\u03d9'..'\u03d9'
1573
| '\u03db'..'\u03db'
1574
| '\u03dd'..'\u03dd'
1575
| '\u03df'..'\u03df'
1576
| '\u03e1'..'\u03e1'
1577
| '\u03e3'..'\u03e3'
1578
| '\u03e5'..'\u03e5'
1579
| '\u03e7'..'\u03e7'
1580
| '\u03e9'..'\u03e9'
1581
| '\u03eb'..'\u03eb'
1582
| '\u03ed'..'\u03ed'
1583
| '\u03ef'..'\u03f3'
1584
| '\u03f5'..'\u03f5'
1585
| '\u03f8'..'\u03f8'
1586
| '\u03fb'..'\u03fb'
1587
| '\u0430'..'\u045f'
1588
| '\u0461'..'\u0461'
1589
| '\u0463'..'\u0463'
1590
| '\u0465'..'\u0465'
1591
| '\u0467'..'\u0467'
1592
| '\u0469'..'\u0469'
1593
| '\u046b'..'\u046b'
1594
| '\u046d'..'\u046d'
1595
| '\u046f'..'\u046f'
1596
| '\u0471'..'\u0471'
1597
| '\u0473'..'\u0473'
1598
| '\u0475'..'\u0475'
1599
| '\u0477'..'\u0477'
1600
| '\u0479'..'\u0479'
1601
| '\u047b'..'\u047b'
1602
| '\u047d'..'\u047d'
1603
| '\u047f'..'\u047f'
1604
| '\u0481'..'\u0481'
1605
| '\u048b'..'\u048b'
1606
| '\u048d'..'\u048d'
1607
| '\u048f'..'\u048f'
1608
| '\u0491'..'\u0491'
1609
| '\u0493'..'\u0493'
1610
| '\u0495'..'\u0495'
1611
| '\u0497'..'\u0497'
1612
| '\u0499'..'\u0499'
1613
| '\u049b'..'\u049b'
1614
| '\u049d'..'\u049d'
1615
| '\u049f'..'\u049f'
1616
| '\u04a1'..'\u04a1'
1617
| '\u04a3'..'\u04a3'
1618
| '\u04a5'..'\u04a5'
1619
| '\u04a7'..'\u04a7'
1620
| '\u04a9'..'\u04a9'
1621
| '\u04ab'..'\u04ab'
1622
| '\u04ad'..'\u04ad'
1623
| '\u04af'..'\u04af'
1624
| '\u04b1'..'\u04b1'
1625
| '\u04b3'..'\u04b3'
1626
| '\u04b5'..'\u04b5'
1627
| '\u04b7'..'\u04b7'
1628
| '\u04b9'..'\u04b9'
1629
| '\u04bb'..'\u04bb'
1630
| '\u04bd'..'\u04bd'
1631
| '\u04bf'..'\u04bf'
1632
| '\u04c2'..'\u04c2'
1633
| '\u04c4'..'\u04c4'
1634
| '\u04c6'..'\u04c6'
1635
| '\u04c8'..'\u04c8'
1636
| '\u04ca'..'\u04ca'
1637
| '\u04cc'..'\u04cc'
1638
| '\u04ce'..'\u04ce'
1639
| '\u04d1'..'\u04d1'
1640
| '\u04d3'..'\u04d3'
1641
| '\u04d5'..'\u04d5'
1642
| '\u04d7'..'\u04d7'
1643
| '\u04d9'..'\u04d9'
1644
| '\u04db'..'\u04db'
1645
| '\u04dd'..'\u04dd'
1646
| '\u04df'..'\u04df'
1647
| '\u04e1'..'\u04e1'
1648
| '\u04e3'..'\u04e3'
1649
| '\u04e5'..'\u04e5'
1650
| '\u04e7'..'\u04e7'
1651
| '\u04e9'..'\u04e9'
1652
| '\u04eb'..'\u04eb'
1653
| '\u04ed'..'\u04ed'
1654
| '\u04ef'..'\u04ef'
1655
| '\u04f1'..'\u04f1'
1656
| '\u04f3'..'\u04f3'
1657
| '\u04f5'..'\u04f5'
1658
| '\u04f9'..'\u04f9'
1659
| '\u0501'..'\u0501'
1660
| '\u0503'..'\u0503'
1661
| '\u0505'..'\u0505'
1662
| '\u0507'..'\u0507'
1663
| '\u0509'..'\u0509'
1664
| '\u050b'..'\u050b'
1665
| '\u050d'..'\u050d'
1666
| '\u050f'..'\u050f'
1667
| '\u0561'..'\u0587'
1668
| '\u1d00'..'\u1d2b'
1669
| '\u1d62'..'\u1d6b'
1670
| '\u1e01'..'\u1e01'
1671
| '\u1e03'..'\u1e03'
1672
| '\u1e05'..'\u1e05'
1673
| '\u1e07'..'\u1e07'
1674
| '\u1e09'..'\u1e09'
1675
| '\u1e0b'..'\u1e0b'
1676
| '\u1e0d'..'\u1e0d'
1677
| '\u1e0f'..'\u1e0f'
1678
| '\u1e11'..'\u1e11'
1679
| '\u1e13'..'\u1e13'
1680
| '\u1e15'..'\u1e15'
1681
| '\u1e17'..'\u1e17'
1682
| '\u1e19'..'\u1e19'
1683
| '\u1e1b'..'\u1e1b'
1684
| '\u1e1d'..'\u1e1d'
1685
| '\u1e1f'..'\u1e1f'
1686
| '\u1e21'..'\u1e21'
1687
| '\u1e23'..'\u1e23'
1688
| '\u1e25'..'\u1e25'
1689
| '\u1e27'..'\u1e27'
1690
| '\u1e29'..'\u1e29'
1691
| '\u1e2b'..'\u1e2b'
1692
| '\u1e2d'..'\u1e2d'
1693
| '\u1e2f'..'\u1e2f'
1694
| '\u1e31'..'\u1e31'
1695
| '\u1e33'..'\u1e33'
1696
| '\u1e35'..'\u1e35'
1697
| '\u1e37'..'\u1e37'
1698
| '\u1e39'..'\u1e39'
1699
| '\u1e3b'..'\u1e3b'
1700
| '\u1e3d'..'\u1e3d'
1701
| '\u1e3f'..'\u1e3f'
1702
| '\u1e41'..'\u1e41'
1703
| '\u1e43'..'\u1e43'
1704
| '\u1e45'..'\u1e45'
1705
| '\u1e47'..'\u1e47'
1706
| '\u1e49'..'\u1e49'
1707
| '\u1e4b'..'\u1e4b'
1708
| '\u1e4d'..'\u1e4d'
1709
| '\u1e4f'..'\u1e4f'
1710
| '\u1e51'..'\u1e51'
1711
| '\u1e53'..'\u1e53'
1712
| '\u1e55'..'\u1e55'
1713
| '\u1e57'..'\u1e57'
1714
| '\u1e59'..'\u1e59'
1715
| '\u1e5b'..'\u1e5b'
1716
| '\u1e5d'..'\u1e5d'
1717
| '\u1e5f'..'\u1e5f'
1718
| '\u1e61'..'\u1e61'
1719
| '\u1e63'..'\u1e63'
1720
| '\u1e65'..'\u1e65'
1721
| '\u1e67'..'\u1e67'
1722
| '\u1e69'..'\u1e69'
1723
| '\u1e6b'..'\u1e6b'
1724
| '\u1e6d'..'\u1e6d'
1725
| '\u1e6f'..'\u1e6f'
1726
| '\u1e71'..'\u1e71'
1727
| '\u1e73'..'\u1e73'
1728
| '\u1e75'..'\u1e75'
1729
| '\u1e77'..'\u1e77'
1730
| '\u1e79'..'\u1e79'
1731
| '\u1e7b'..'\u1e7b'
1732
| '\u1e7d'..'\u1e7d'
1733
| '\u1e7f'..'\u1e7f'
1734
| '\u1e81'..'\u1e81'
1735
| '\u1e83'..'\u1e83'
1736
| '\u1e85'..'\u1e85'
1737
| '\u1e87'..'\u1e87'
1738
| '\u1e89'..'\u1e89'
1739
| '\u1e8b'..'\u1e8b'
1740
| '\u1e8d'..'\u1e8d'
1741
| '\u1e8f'..'\u1e8f'
1742
| '\u1e91'..'\u1e91'
1743
| '\u1e93'..'\u1e93'
1744
| '\u1e95'..'\u1e9b'
1745
| '\u1ea1'..'\u1ea1'
1746
| '\u1ea3'..'\u1ea3'
1747
| '\u1ea5'..'\u1ea5'
1748
| '\u1ea7'..'\u1ea7'
1749
| '\u1ea9'..'\u1ea9'
1750
| '\u1eab'..'\u1eab'
1751
| '\u1ead'..'\u1ead'
1752
| '\u1eaf'..'\u1eaf'
1753
| '\u1eb1'..'\u1eb1'
1754
| '\u1eb3'..'\u1eb3'
1755
| '\u1eb5'..'\u1eb5'
1756
| '\u1eb7'..'\u1eb7'
1757
| '\u1eb9'..'\u1eb9'
1758
| '\u1ebb'..'\u1ebb'
1759
| '\u1ebd'..'\u1ebd'
1760
| '\u1ebf'..'\u1ebf'
1761
| '\u1ec1'..'\u1ec1'
1762
| '\u1ec3'..'\u1ec3'
1763
| '\u1ec5'..'\u1ec5'
1764
| '\u1ec7'..'\u1ec7'
1765
| '\u1ec9'..'\u1ec9'
1766
| '\u1ecb'..'\u1ecb'
1767
| '\u1ecd'..'\u1ecd'
1768
| '\u1ecf'..'\u1ecf'
1769
| '\u1ed1'..'\u1ed1'
1770
| '\u1ed3'..'\u1ed3'
1771
| '\u1ed5'..'\u1ed5'
1772
| '\u1ed7'..'\u1ed7'
1773
| '\u1ed9'..'\u1ed9'
1774
| '\u1edb'..'\u1edb'
1775
| '\u1edd'..'\u1edd'
1776
| '\u1edf'..'\u1edf'
1777
| '\u1ee1'..'\u1ee1'
1778
| '\u1ee3'..'\u1ee3'
1779
| '\u1ee5'..'\u1ee5'
1780
| '\u1ee7'..'\u1ee7'
1781
| '\u1ee9'..'\u1ee9'
1782
| '\u1eeb'..'\u1eeb'
1783
| '\u1eed'..'\u1eed'
1784
| '\u1eef'..'\u1eef'
1785
| '\u1ef1'..'\u1ef1'
1786
| '\u1ef3'..'\u1ef3'
1787
| '\u1ef5'..'\u1ef5'
1788
| '\u1ef7'..'\u1ef7'
1789
| '\u1ef9'..'\u1ef9'
1790
| '\u1f00'..'\u1f07'
1791
| '\u1f10'..'\u1f15'
1792
| '\u1f20'..'\u1f27'
1793
| '\u1f30'..'\u1f37'
1794
| '\u1f40'..'\u1f45'
1795
| '\u1f50'..'\u1f57'
1796
| '\u1f60'..'\u1f67'
1797
| '\u1f70'..'\u1f7d'
1798
| '\u1f80'..'\u1f87'
1799
| '\u1f90'..'\u1f97'
1800
| '\u1fa0'..'\u1fa7'
1801
| '\u1fb0'..'\u1fb4'
1802
| '\u1fb6'..'\u1fb7'
1803
| '\u1fbe'..'\u1fbe'
1804
| '\u1fc2'..'\u1fc4'
1805
| '\u1fc6'..'\u1fc7'
1806
| '\u1fd0'..'\u1fd3'
1807
| '\u1fd6'..'\u1fd7'
1808
| '\u1fe0'..'\u1fe7'
1809
| '\u1ff2'..'\u1ff4'
1810
| '\u1ff6'..'\u1ff7'
1811
| '\u2071'..'\u2071'
1812
| '\u207f'..'\u207f'
1813
| '\u210a'..'\u210a'
1814
| '\u210e'..'\u210f'
1815
| '\u2113'..'\u2113'
1816
| '\u212f'..'\u212f'
1817
| '\u2134'..'\u2134'
1818
| '\u2139'..'\u2139'
1819
| '\u213d'..'\u213d'
1820
| '\u2146'..'\u2149'
1821
| '\ufb00'..'\ufb06'
1822
| '\ufb13'..'\ufb17'
1823
| '\uff41'..'\uff5a'
1825
fragment UnicodeCatLoLtNl
1826
: '\u01bb'..'\u01bb'
1827
| '\u01c0'..'\u01c3'
1828
| '\u01c5'..'\u01c5'
1829
| '\u01c8'..'\u01c8'
1830
| '\u01cb'..'\u01cb'
1831
| '\u01f2'..'\u01f2'
1832
| '\u05d0'..'\u05ea'
1833
| '\u05f0'..'\u05f2'
1834
| '\u0621'..'\u063a'
1835
| '\u0641'..'\u064a'
1836
| '\u066e'..'\u066f'
1837
| '\u0671'..'\u06d3'
1838
| '\u06d5'..'\u06d5'
1839
| '\u06ee'..'\u06ef'
1840
| '\u06fa'..'\u06fc'
1841
| '\u06ff'..'\u06ff'
1842
| '\u0710'..'\u0710'
1843
| '\u0712'..'\u072f'
1844
| '\u074d'..'\u074f'
1845
| '\u0780'..'\u07a5'
1846
| '\u07b1'..'\u07b1'
1847
| '\u0904'..'\u0939'
1848
| '\u093d'..'\u093d'
1849
| '\u0950'..'\u0950'
1850
| '\u0958'..'\u0961'
1851
| '\u0985'..'\u098c'
1852
| '\u098f'..'\u0990'
1853
| '\u0993'..'\u09a8'
1854
| '\u09aa'..'\u09b0'
1855
| '\u09b2'..'\u09b2'
1856
| '\u09b6'..'\u09b9'
1857
| '\u09bd'..'\u09bd'
1858
| '\u09dc'..'\u09dd'
1859
| '\u09df'..'\u09e1'
1860
| '\u09f0'..'\u09f1'
1861
| '\u0a05'..'\u0a0a'
1862
| '\u0a0f'..'\u0a10'
1863
| '\u0a13'..'\u0a28'
1864
| '\u0a2a'..'\u0a30'
1865
| '\u0a32'..'\u0a33'
1866
| '\u0a35'..'\u0a36'
1867
| '\u0a38'..'\u0a39'
1868
| '\u0a59'..'\u0a5c'
1869
| '\u0a5e'..'\u0a5e'
1870
| '\u0a72'..'\u0a74'
1871
| '\u0a85'..'\u0a8d'
1872
| '\u0a8f'..'\u0a91'
1873
| '\u0a93'..'\u0aa8'
1874
| '\u0aaa'..'\u0ab0'
1875
| '\u0ab2'..'\u0ab3'
1876
| '\u0ab5'..'\u0ab9'
1877
| '\u0abd'..'\u0abd'
1878
| '\u0ad0'..'\u0ad0'
1879
| '\u0ae0'..'\u0ae1'
1880
| '\u0b05'..'\u0b0c'
1881
| '\u0b0f'..'\u0b10'
1882
| '\u0b13'..'\u0b28'
1883
| '\u0b2a'..'\u0b30'
1884
| '\u0b32'..'\u0b33'
1885
| '\u0b35'..'\u0b39'
1886
| '\u0b3d'..'\u0b3d'
1887
| '\u0b5c'..'\u0b5d'
1888
| '\u0b5f'..'\u0b61'
1889
| '\u0b71'..'\u0b71'
1890
| '\u0b83'..'\u0b83'
1891
| '\u0b85'..'\u0b8a'
1892
| '\u0b8e'..'\u0b90'
1893
| '\u0b92'..'\u0b95'
1894
| '\u0b99'..'\u0b9a'
1895
| '\u0b9c'..'\u0b9c'
1896
| '\u0b9e'..'\u0b9f'
1897
| '\u0ba3'..'\u0ba4'
1898
| '\u0ba8'..'\u0baa'
1899
| '\u0bae'..'\u0bb5'
1900
| '\u0bb7'..'\u0bb9'
1901
| '\u0c05'..'\u0c0c'
1902
| '\u0c0e'..'\u0c10'
1903
| '\u0c12'..'\u0c28'
1904
| '\u0c2a'..'\u0c33'
1905
| '\u0c35'..'\u0c39'
1906
| '\u0c60'..'\u0c61'
1907
| '\u0c85'..'\u0c8c'
1908
| '\u0c8e'..'\u0c90'
1909
| '\u0c92'..'\u0ca8'
1910
| '\u0caa'..'\u0cb3'
1911
| '\u0cb5'..'\u0cb9'
1912
| '\u0cbd'..'\u0cbd'
1913
| '\u0cde'..'\u0cde'
1914
| '\u0ce0'..'\u0ce1'
1915
| '\u0d05'..'\u0d0c'
1916
| '\u0d0e'..'\u0d10'
1917
| '\u0d12'..'\u0d28'
1918
| '\u0d2a'..'\u0d39'
1919
| '\u0d60'..'\u0d61'
1920
| '\u0d85'..'\u0d96'
1921
| '\u0d9a'..'\u0db1'
1922
| '\u0db3'..'\u0dbb'
1923
| '\u0dbd'..'\u0dbd'
1924
| '\u0dc0'..'\u0dc6'
1925
| '\u0e01'..'\u0e30'
1926
| '\u0e32'..'\u0e33'
1927
| '\u0e40'..'\u0e45'
1928
| '\u0e81'..'\u0e82'
1929
| '\u0e84'..'\u0e84'
1930
| '\u0e87'..'\u0e88'
1931
| '\u0e8a'..'\u0e8a'
1932
| '\u0e8d'..'\u0e8d'
1933
| '\u0e94'..'\u0e97'
1934
| '\u0e99'..'\u0e9f'
1935
| '\u0ea1'..'\u0ea3'
1936
| '\u0ea5'..'\u0ea5'
1937
| '\u0ea7'..'\u0ea7'
1938
| '\u0eaa'..'\u0eab'
1939
| '\u0ead'..'\u0eb0'
1940
| '\u0eb2'..'\u0eb3'
1941
| '\u0ebd'..'\u0ebd'
1942
| '\u0ec0'..'\u0ec4'
1943
| '\u0edc'..'\u0edd'
1944
| '\u0f00'..'\u0f00'
1945
| '\u0f40'..'\u0f47'
1946
| '\u0f49'..'\u0f6a'
1947
| '\u0f88'..'\u0f8b'
1948
| '\u1000'..'\u1021'
1949
| '\u1023'..'\u1027'
1950
| '\u1029'..'\u102a'
1951
| '\u1050'..'\u1055'
1952
| '\u10d0'..'\u10f8'
1953
| '\u1100'..'\u1159'
1954
| '\u115f'..'\u11a2'
1955
| '\u11a8'..'\u11f9'
1956
| '\u1200'..'\u1206'
1957
| '\u1208'..'\u1246'
1958
| '\u1248'..'\u1248'
1959
| '\u124a'..'\u124d'
1960
| '\u1250'..'\u1256'
1961
| '\u1258'..'\u1258'
1962
| '\u125a'..'\u125d'
1963
| '\u1260'..'\u1286'
1964
| '\u1288'..'\u1288'
1965
| '\u128a'..'\u128d'
1966
| '\u1290'..'\u12ae'
1967
| '\u12b0'..'\u12b0'
1968
| '\u12b2'..'\u12b5'
1969
| '\u12b8'..'\u12be'
1970
| '\u12c0'..'\u12c0'
1971
| '\u12c2'..'\u12c5'
1972
| '\u12c8'..'\u12ce'
1973
| '\u12d0'..'\u12d6'
1974
| '\u12d8'..'\u12ee'
1975
| '\u12f0'..'\u130e'
1976
| '\u1310'..'\u1310'
1977
| '\u1312'..'\u1315'
1978
| '\u1318'..'\u131e'
1979
| '\u1320'..'\u1346'
1980
| '\u1348'..'\u135a'
1981
| '\u13a0'..'\u13f4'
1982
| '\u1401'..'\u166c'
1983
| '\u166f'..'\u1676'
1984
| '\u1681'..'\u169a'
1985
| '\u16a0'..'\u16ea'
1986
| '\u16ee'..'\u16f0'
1987
| '\u1700'..'\u170c'
1988
| '\u170e'..'\u1711'
1989
| '\u1720'..'\u1731'
1990
| '\u1740'..'\u1751'
1991
| '\u1760'..'\u176c'
1992
| '\u176e'..'\u1770'
1993
| '\u1780'..'\u17b3'
1994
| '\u17dc'..'\u17dc'
1995
| '\u1820'..'\u1842'
1996
| '\u1844'..'\u1877'
1997
| '\u1880'..'\u18a8'
1998
| '\u1900'..'\u191c'
1999
| '\u1950'..'\u196d'
2000
| '\u1970'..'\u1974'
2001
| '\u1f88'..'\u1f8f'
2002
| '\u1f98'..'\u1f9f'
2003
| '\u1fa8'..'\u1faf'
2004
| '\u1fbc'..'\u1fbc'
2005
| '\u1fcc'..'\u1fcc'
2006
| '\u1ffc'..'\u1ffc'
2007
| '\u2135'..'\u2138'
2008
| '\u2160'..'\u2183'
2009
| '\u3006'..'\u3007'
2010
| '\u3021'..'\u3029'
2011
| '\u3038'..'\u303a'
2012
| '\u303c'..'\u303c'
2013
| '\u3041'..'\u3096'
2014
| '\u309f'..'\u309f'
2015
| '\u30a1'..'\u30fa'
2016
| '\u30ff'..'\u30ff'
2017
| '\u3105'..'\u312c'
2018
| '\u3131'..'\u318e'
2019
| '\u31a0'..'\u31b7'
2020
| '\u31f0'..'\u31ff'
2021
| '\u3400'..'\u4db5'
2022
| '\u4e00'..'\u9fa5'
2023
| '\ua000'..'\ua48c'
2024
| '\uac00'..'\ud7a3'
2025
| '\uf900'..'\ufa2d'
2026
| '\ufa30'..'\ufa6a'
2027
| '\ufb1d'..'\ufb1d'
2028
| '\ufb1f'..'\ufb28'
2029
| '\ufb2a'..'\ufb36'
2030
| '\ufb38'..'\ufb3c'
2031
| '\ufb3e'..'\ufb3e'
2032
| '\ufb40'..'\ufb41'
2033
| '\ufb43'..'\ufb44'
2034
| '\ufb46'..'\ufbb1'
2035
| '\ufbd3'..'\ufd3d'
2036
| '\ufd50'..'\ufd8f'
2037
| '\ufd92'..'\ufdc7'
2038
| '\ufdf0'..'\ufdfb'
2039
| '\ufe70'..'\ufe74'
2040
| '\ufe76'..'\ufefc'
2041
| '\uff66'..'\uff6f'
2042
| '\uff71'..'\uff9d'
2043
| '\uffa0'..'\uffbe'
2044
| '\uffc2'..'\uffc7'
2045
| '\uffca'..'\uffcf'
2046
| '\uffd2'..'\uffd7'
2047
| '\uffda'..'\uffdc'
2049
fragment UnicodeCatSmSo
2050
: '\u002b'..'\u002b'
2051
| '\u003c'..'\u003e'
2052
| '\u007c'..'\u007c'
2053
| '\u007e'..'\u007e'
2054
| '\u00a6'..'\u00a7'
2055
| '\u00a9'..'\u00a9'
2056
| '\u00ac'..'\u00ac'
2057
| '\u00ae'..'\u00ae'
2058
| '\u00b0'..'\u00b1'
2059
| '\u00b6'..'\u00b6'
2060
| '\u00d7'..'\u00d7'
2061
| '\u00f7'..'\u00f7'
2062
| '\u03f6'..'\u03f6'
2063
| '\u0482'..'\u0482'
2064
| '\u060e'..'\u060f'
2065
| '\u06e9'..'\u06e9'
2066
| '\u06fd'..'\u06fe'
2067
| '\u09fa'..'\u09fa'
2068
| '\u0b70'..'\u0b70'
2069
| '\u0bf3'..'\u0bf8'
2070
| '\u0bfa'..'\u0bfa'
2071
| '\u0f01'..'\u0f03'
2072
| '\u0f13'..'\u0f17'
2073
| '\u0f1a'..'\u0f1f'
2074
| '\u0f34'..'\u0f34'
2075
| '\u0f36'..'\u0f36'
2076
| '\u0f38'..'\u0f38'
2077
| '\u0fbe'..'\u0fc5'
2078
| '\u0fc7'..'\u0fcc'
2079
| '\u0fcf'..'\u0fcf'
2080
| '\u1940'..'\u1940'
2081
| '\u19e0'..'\u19ff'
2082
| '\u2044'..'\u2044'
2083
| '\u2052'..'\u2052'
2084
| '\u207a'..'\u207c'
2085
| '\u208a'..'\u208c'
2086
| '\u2100'..'\u2101'
2087
| '\u2103'..'\u2106'
2088
| '\u2108'..'\u2109'
2089
| '\u2114'..'\u2114'
2090
| '\u2116'..'\u2118'
2091
| '\u211e'..'\u2123'
2092
| '\u2125'..'\u2125'
2093
| '\u2127'..'\u2127'
2094
| '\u2129'..'\u2129'
2095
| '\u212e'..'\u212e'
2096
| '\u2132'..'\u2132'
2097
| '\u213a'..'\u213b'
2098
| '\u2140'..'\u2144'
2099
| '\u214a'..'\u214b'
2100
| '\u2190'..'\u2328'
2101
| '\u232b'..'\u23b3'
2102
| '\u23b7'..'\u23d0'
2103
| '\u2400'..'\u2426'
2104
| '\u2440'..'\u244a'
2105
| '\u249c'..'\u24e9'
2106
| '\u2500'..'\u2617'
2107
| '\u2619'..'\u267d'
2108
| '\u2680'..'\u2691'
2109
| '\u26a0'..'\u26a1'
2110
| '\u2701'..'\u2704'
2111
| '\u2706'..'\u2709'
2112
| '\u270c'..'\u2727'
2113
| '\u2729'..'\u274b'
2114
| '\u274d'..'\u274d'
2115
| '\u274f'..'\u2752'
2116
| '\u2756'..'\u2756'
2117
| '\u2758'..'\u275e'
2118
| '\u2761'..'\u2767'
2119
| '\u2794'..'\u2794'
2120
| '\u2798'..'\u27af'
2121
| '\u27b1'..'\u27be'
2122
| '\u27d0'..'\u27e5'
2123
| '\u27f0'..'\u2982'
2124
| '\u2999'..'\u29d7'
2125
| '\u29dc'..'\u29fb'
2126
| '\u29fe'..'\u2b0d'
2127
| '\u2e80'..'\u2e99'
2128
| '\u2e9b'..'\u2ef3'
2129
| '\u2f00'..'\u2fd5'
2130
| '\u2ff0'..'\u2ffb'
2131
| '\u3004'..'\u3004'
2132
| '\u3012'..'\u3013'
2133
| '\u3020'..'\u3020'
2134
| '\u3036'..'\u3037'
2135
| '\u303e'..'\u303f'
2136
| '\u3190'..'\u3191'
2137
| '\u3196'..'\u319f'
2138
| '\u3200'..'\u321e'
2139
| '\u322a'..'\u3243'
2140
| '\u3250'..'\u3250'
2141
| '\u3260'..'\u327d'
2142
| '\u327f'..'\u327f'
2143
| '\u328a'..'\u32b0'
2144
| '\u32c0'..'\u32fe'
2145
| '\u3300'..'\u33ff'
2146
| '\u4dc0'..'\u4dff'
2147
| '\ua490'..'\ua4c6'
2148
| '\ufb29'..'\ufb29'
2149
| '\ufdfd'..'\ufdfd'
2150
| '\ufe62'..'\ufe62'
2151
| '\ufe64'..'\ufe66'
2152
| '\uff0b'..'\uff0b'
2153
| '\uff1c'..'\uff1e'
2154
| '\uff5c'..'\uff5c'
2155
| '\uff5e'..'\uff5e'
2156
| '\uffe2'..'\uffe2'
2157
| '\uffe4'..'\uffe4'
2158
| '\uffe8'..'\uffee'
2159
| '\ufffc'..'\ufffd'
2161
// END GENERATED CATEGORIES