regexp_parser 2.1.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/Gemfile +1 -1
  4. data/LICENSE +1 -1
  5. data/README.md +31 -27
  6. data/Rakefile +6 -70
  7. data/lib/regexp_parser/expression/base.rb +123 -0
  8. data/lib/regexp_parser/expression/classes/anchor.rb +0 -2
  9. data/lib/regexp_parser/expression/classes/{backref.rb → backreference.rb} +0 -0
  10. data/lib/regexp_parser/expression/classes/{set → character_set}/intersection.rb +0 -0
  11. data/lib/regexp_parser/expression/classes/{set → character_set}/range.rb +0 -0
  12. data/lib/regexp_parser/expression/classes/{set.rb → character_set.rb} +0 -0
  13. data/lib/regexp_parser/expression/classes/{escape.rb → escape_sequence.rb} +13 -7
  14. data/lib/regexp_parser/expression/classes/free_space.rb +0 -2
  15. data/lib/regexp_parser/expression/classes/literal.rb +1 -5
  16. data/lib/regexp_parser/expression/classes/property.rb +0 -2
  17. data/lib/regexp_parser/expression/classes/root.rb +0 -1
  18. data/lib/regexp_parser/expression/classes/type.rb +0 -2
  19. data/lib/regexp_parser/expression/methods/strfregexp.rb +1 -1
  20. data/lib/regexp_parser/expression/quantifier.rb +1 -1
  21. data/lib/regexp_parser/expression/sequence.rb +0 -1
  22. data/lib/regexp_parser/expression/subexpression.rb +0 -1
  23. data/lib/regexp_parser/expression.rb +6 -130
  24. data/lib/regexp_parser/lexer.rb +8 -6
  25. data/lib/regexp_parser/scanner/properties/long.csv +622 -0
  26. data/lib/regexp_parser/scanner/properties/short.csv +246 -0
  27. data/lib/regexp_parser/scanner/scanner.rl +6 -4
  28. data/lib/regexp_parser/scanner.rb +126 -124
  29. data/lib/regexp_parser/syntax/any.rb +2 -7
  30. data/lib/regexp_parser/syntax/base.rb +91 -66
  31. data/lib/regexp_parser/syntax/token/anchor.rb +15 -0
  32. data/lib/regexp_parser/syntax/{tokens → token}/assertion.rb +2 -2
  33. data/lib/regexp_parser/syntax/token/backreference.rb +30 -0
  34. data/lib/regexp_parser/syntax/{tokens → token}/character_set.rb +2 -2
  35. data/lib/regexp_parser/syntax/{tokens → token}/character_type.rb +3 -3
  36. data/lib/regexp_parser/syntax/{tokens → token}/conditional.rb +3 -3
  37. data/lib/regexp_parser/syntax/token/escape.rb +31 -0
  38. data/lib/regexp_parser/syntax/{tokens → token}/group.rb +7 -7
  39. data/lib/regexp_parser/syntax/{tokens → token}/keep.rb +1 -1
  40. data/lib/regexp_parser/syntax/{tokens → token}/meta.rb +2 -2
  41. data/lib/regexp_parser/syntax/{tokens → token}/posix_class.rb +3 -3
  42. data/lib/regexp_parser/syntax/token/quantifier.rb +35 -0
  43. data/lib/regexp_parser/syntax/token/unicode_property.rb +722 -0
  44. data/lib/regexp_parser/syntax/token.rb +45 -0
  45. data/lib/regexp_parser/syntax/version_lookup.rb +20 -29
  46. data/lib/regexp_parser/syntax/versions/1.8.6.rb +13 -20
  47. data/lib/regexp_parser/syntax/versions/1.9.1.rb +10 -17
  48. data/lib/regexp_parser/syntax/versions/1.9.3.rb +3 -10
  49. data/lib/regexp_parser/syntax/versions/2.0.0.rb +8 -15
  50. data/lib/regexp_parser/syntax/versions/2.2.0.rb +3 -9
  51. data/lib/regexp_parser/syntax/versions/2.3.0.rb +3 -9
  52. data/lib/regexp_parser/syntax/versions/2.4.0.rb +3 -9
  53. data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -8
  54. data/lib/regexp_parser/syntax/versions/2.5.0.rb +3 -9
  55. data/lib/regexp_parser/syntax/versions/2.6.0.rb +3 -9
  56. data/lib/regexp_parser/syntax/versions/2.6.2.rb +3 -9
  57. data/lib/regexp_parser/syntax/versions/2.6.3.rb +3 -9
  58. data/lib/regexp_parser/syntax/versions/3.1.0.rb +4 -0
  59. data/lib/regexp_parser/syntax/versions/3.2.0.rb +4 -0
  60. data/lib/regexp_parser/syntax/versions.rb +1 -1
  61. data/lib/regexp_parser/syntax.rb +1 -1
  62. data/lib/regexp_parser/token.rb +9 -20
  63. data/lib/regexp_parser/version.rb +1 -1
  64. data/lib/regexp_parser.rb +0 -2
  65. data/regexp_parser.gemspec +20 -22
  66. metadata +36 -167
  67. data/lib/regexp_parser/scanner/properties/long.yml +0 -594
  68. data/lib/regexp_parser/scanner/properties/short.yml +0 -237
  69. data/lib/regexp_parser/syntax/tokens/anchor.rb +0 -15
  70. data/lib/regexp_parser/syntax/tokens/backref.rb +0 -24
  71. data/lib/regexp_parser/syntax/tokens/escape.rb +0 -30
  72. data/lib/regexp_parser/syntax/tokens/quantifier.rb +0 -35
  73. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +0 -675
  74. data/lib/regexp_parser/syntax/tokens.rb +0 -45
  75. data/spec/expression/base_spec.rb +0 -104
  76. data/spec/expression/clone_spec.rb +0 -152
  77. data/spec/expression/conditional_spec.rb +0 -89
  78. data/spec/expression/free_space_spec.rb +0 -27
  79. data/spec/expression/methods/match_length_spec.rb +0 -161
  80. data/spec/expression/methods/match_spec.rb +0 -25
  81. data/spec/expression/methods/strfregexp_spec.rb +0 -224
  82. data/spec/expression/methods/tests_spec.rb +0 -99
  83. data/spec/expression/methods/traverse_spec.rb +0 -161
  84. data/spec/expression/options_spec.rb +0 -128
  85. data/spec/expression/subexpression_spec.rb +0 -50
  86. data/spec/expression/to_h_spec.rb +0 -26
  87. data/spec/expression/to_s_spec.rb +0 -108
  88. data/spec/lexer/all_spec.rb +0 -22
  89. data/spec/lexer/conditionals_spec.rb +0 -53
  90. data/spec/lexer/delimiters_spec.rb +0 -68
  91. data/spec/lexer/escapes_spec.rb +0 -14
  92. data/spec/lexer/keep_spec.rb +0 -10
  93. data/spec/lexer/literals_spec.rb +0 -64
  94. data/spec/lexer/nesting_spec.rb +0 -99
  95. data/spec/lexer/refcalls_spec.rb +0 -60
  96. data/spec/parser/all_spec.rb +0 -43
  97. data/spec/parser/alternation_spec.rb +0 -88
  98. data/spec/parser/anchors_spec.rb +0 -17
  99. data/spec/parser/conditionals_spec.rb +0 -179
  100. data/spec/parser/errors_spec.rb +0 -30
  101. data/spec/parser/escapes_spec.rb +0 -121
  102. data/spec/parser/free_space_spec.rb +0 -130
  103. data/spec/parser/groups_spec.rb +0 -108
  104. data/spec/parser/keep_spec.rb +0 -6
  105. data/spec/parser/options_spec.rb +0 -28
  106. data/spec/parser/posix_classes_spec.rb +0 -8
  107. data/spec/parser/properties_spec.rb +0 -115
  108. data/spec/parser/quantifiers_spec.rb +0 -68
  109. data/spec/parser/refcalls_spec.rb +0 -117
  110. data/spec/parser/set/intersections_spec.rb +0 -127
  111. data/spec/parser/set/ranges_spec.rb +0 -111
  112. data/spec/parser/sets_spec.rb +0 -178
  113. data/spec/parser/types_spec.rb +0 -18
  114. data/spec/scanner/all_spec.rb +0 -18
  115. data/spec/scanner/anchors_spec.rb +0 -21
  116. data/spec/scanner/conditionals_spec.rb +0 -128
  117. data/spec/scanner/delimiters_spec.rb +0 -52
  118. data/spec/scanner/errors_spec.rb +0 -67
  119. data/spec/scanner/escapes_spec.rb +0 -64
  120. data/spec/scanner/free_space_spec.rb +0 -165
  121. data/spec/scanner/groups_spec.rb +0 -61
  122. data/spec/scanner/keep_spec.rb +0 -10
  123. data/spec/scanner/literals_spec.rb +0 -39
  124. data/spec/scanner/meta_spec.rb +0 -18
  125. data/spec/scanner/options_spec.rb +0 -36
  126. data/spec/scanner/properties_spec.rb +0 -64
  127. data/spec/scanner/quantifiers_spec.rb +0 -25
  128. data/spec/scanner/refcalls_spec.rb +0 -55
  129. data/spec/scanner/sets_spec.rb +0 -151
  130. data/spec/scanner/types_spec.rb +0 -14
  131. data/spec/spec_helper.rb +0 -16
  132. data/spec/support/runner.rb +0 -42
  133. data/spec/support/shared_examples.rb +0 -77
  134. data/spec/support/warning_extractor.rb +0 -60
  135. data/spec/syntax/syntax_spec.rb +0 -48
  136. data/spec/syntax/syntax_token_map_spec.rb +0 -23
  137. data/spec/syntax/versions/1.8.6_spec.rb +0 -17
  138. data/spec/syntax/versions/1.9.1_spec.rb +0 -10
  139. data/spec/syntax/versions/1.9.3_spec.rb +0 -9
  140. data/spec/syntax/versions/2.0.0_spec.rb +0 -13
  141. data/spec/syntax/versions/2.2.0_spec.rb +0 -9
  142. data/spec/syntax/versions/aliases_spec.rb +0 -37
  143. data/spec/token/token_spec.rb +0 -85
@@ -0,0 +1,722 @@
1
+ module Regexp::Syntax
2
+ module Token
3
+ module UnicodeProperty
4
+ all = proc { |name| constants.grep(/#{name}/).flat_map(&method(:const_get)) }
5
+
6
+ CharType_V1_9_0 = %i[alnum alpha ascii blank cntrl digit graph
7
+ lower print punct space upper word xdigit]
8
+
9
+ CharType_V2_5_0 = %i[xposixpunct]
10
+
11
+ POSIX = %i[any assigned newline]
12
+
13
+ module Category
14
+ Letter = %i[letter uppercase_letter lowercase_letter
15
+ titlecase_letter modifier_letter other_letter]
16
+
17
+ Mark = %i[mark nonspacing_mark spacing_mark
18
+ enclosing_mark]
19
+
20
+ Number = %i[number decimal_number letter_number
21
+ other_number]
22
+
23
+ Punctuation = %i[punctuation connector_punctuation dash_punctuation
24
+ open_punctuation close_punctuation initial_punctuation
25
+ final_punctuation other_punctuation]
26
+
27
+ Symbol = %i[symbol math_symbol currency_symbol
28
+ modifier_symbol other_symbol]
29
+
30
+ Separator = %i[separator space_separator line_separator
31
+ paragraph_separator]
32
+
33
+ Codepoint = %i[other control format
34
+ surrogate private_use unassigned]
35
+
36
+ All = Letter + Mark + Number + Punctuation +
37
+ Symbol + Separator + Codepoint
38
+ end
39
+
40
+ Age_V1_9_3 = %i[age=1.1 age=2.0 age=2.1 age=3.0 age=3.1
41
+ age=3.2 age=4.0 age=4.1 age=5.0 age=5.1
42
+ age=5.2 age=6.0]
43
+
44
+ Age_V2_0_0 = %i[age=6.1]
45
+
46
+ Age_V2_2_0 = %i[age=6.2 age=6.3 age=7.0]
47
+
48
+ Age_V2_3_0 = %i[age=8.0]
49
+
50
+ Age_V2_4_0 = %i[age=9.0]
51
+
52
+ Age_V2_5_0 = %i[age=10.0]
53
+
54
+ Age_V2_6_0 = %i[age=11.0]
55
+
56
+ Age_V2_6_2 = %i[age=12.0]
57
+
58
+ Age_V2_6_3 = %i[age=12.1]
59
+
60
+ Age_V3_1_0 = %i[age=13.0]
61
+
62
+ Age_V3_2_0 = %i[age=14.0]
63
+
64
+ Age = all[:Age_V]
65
+
66
+ Derived_V1_9_0 = %i[
67
+ ascii_hex_digit
68
+ alphabetic
69
+ cased
70
+ changes_when_casefolded
71
+ changes_when_casemapped
72
+ changes_when_lowercased
73
+ changes_when_titlecased
74
+ changes_when_uppercased
75
+ case_ignorable
76
+ bidi_control
77
+ dash
78
+ deprecated
79
+ default_ignorable_code_point
80
+ diacritic
81
+ extender
82
+ grapheme_base
83
+ grapheme_extend
84
+ grapheme_link
85
+ hex_digit
86
+ hyphen
87
+ id_continue
88
+ ideographic
89
+ id_start
90
+ ids_binary_operator
91
+ ids_trinary_operator
92
+ join_control
93
+ logical_order_exception
94
+ lowercase
95
+ math
96
+ noncharacter_code_point
97
+ other_alphabetic
98
+ other_default_ignorable_code_point
99
+ other_grapheme_extend
100
+ other_id_continue
101
+ other_id_start
102
+ other_lowercase
103
+ other_math
104
+ other_uppercase
105
+ pattern_syntax
106
+ pattern_white_space
107
+ quotation_mark
108
+ radical
109
+ sentence_terminal
110
+ soft_dotted
111
+ terminal_punctuation
112
+ unified_ideograph
113
+ uppercase
114
+ variation_selector
115
+ white_space
116
+ xid_start
117
+ xid_continue
118
+ ]
119
+
120
+ Derived_V2_0_0 = %i[
121
+ cased_letter
122
+ combining_mark
123
+ ]
124
+
125
+ Derived_V2_4_0 = %i[
126
+ prepended_concatenation_mark
127
+ ]
128
+
129
+ Derived_V2_5_0 = %i[
130
+ regional_indicator
131
+ ]
132
+
133
+ Derived = all[:Derived_V]
134
+
135
+ Script_V1_9_0 = %i[
136
+ arabic
137
+ imperial_aramaic
138
+ armenian
139
+ avestan
140
+ balinese
141
+ bamum
142
+ bengali
143
+ bopomofo
144
+ braille
145
+ buginese
146
+ buhid
147
+ canadian_aboriginal
148
+ carian
149
+ cham
150
+ cherokee
151
+ coptic
152
+ cypriot
153
+ cyrillic
154
+ devanagari
155
+ deseret
156
+ egyptian_hieroglyphs
157
+ ethiopic
158
+ georgian
159
+ glagolitic
160
+ gothic
161
+ greek
162
+ gujarati
163
+ gurmukhi
164
+ hangul
165
+ han
166
+ hanunoo
167
+ hebrew
168
+ hiragana
169
+ old_italic
170
+ javanese
171
+ kayah_li
172
+ katakana
173
+ kharoshthi
174
+ khmer
175
+ kannada
176
+ kaithi
177
+ tai_tham
178
+ lao
179
+ latin
180
+ lepcha
181
+ limbu
182
+ linear_b
183
+ lisu
184
+ lycian
185
+ lydian
186
+ malayalam
187
+ mongolian
188
+ meetei_mayek
189
+ myanmar
190
+ nko
191
+ ogham
192
+ ol_chiki
193
+ old_turkic
194
+ oriya
195
+ osmanya
196
+ phags_pa
197
+ inscriptional_pahlavi
198
+ phoenician
199
+ inscriptional_parthian
200
+ rejang
201
+ runic
202
+ samaritan
203
+ old_south_arabian
204
+ saurashtra
205
+ shavian
206
+ sinhala
207
+ sundanese
208
+ syloti_nagri
209
+ syriac
210
+ tagbanwa
211
+ tai_le
212
+ new_tai_lue
213
+ tamil
214
+ tai_viet
215
+ telugu
216
+ tifinagh
217
+ tagalog
218
+ thaana
219
+ thai
220
+ tibetan
221
+ ugaritic
222
+ vai
223
+ old_persian
224
+ cuneiform
225
+ yi
226
+ inherited
227
+ common
228
+ unknown
229
+ ]
230
+
231
+ Script_V1_9_3 = %i[
232
+ brahmi
233
+ batak
234
+ mandaic
235
+ ]
236
+
237
+ Script_V2_0_0 = %i[
238
+ chakma
239
+ meroitic_cursive
240
+ meroitic_hieroglyphs
241
+ miao
242
+ sharada
243
+ sora_sompeng
244
+ takri
245
+ ]
246
+
247
+ Script_V2_2_0 = %i[
248
+ caucasian_albanian
249
+ bassa_vah
250
+ duployan
251
+ elbasan
252
+ grantha
253
+ pahawh_hmong
254
+ khojki
255
+ linear_a
256
+ mahajani
257
+ manichaean
258
+ mende_kikakui
259
+ modi
260
+ mro
261
+ old_north_arabian
262
+ nabataean
263
+ palmyrene
264
+ pau_cin_hau
265
+ old_permic
266
+ psalter_pahlavi
267
+ siddham
268
+ khudawadi
269
+ tirhuta
270
+ warang_citi
271
+ ]
272
+
273
+ Script_V2_3_0 = %i[
274
+ ahom
275
+ anatolian_hieroglyphs
276
+ hatran
277
+ multani
278
+ old_hungarian
279
+ signwriting
280
+ ]
281
+
282
+ Script_V2_4_0 = %i[
283
+ adlam
284
+ bhaiksuki
285
+ marchen
286
+ newa
287
+ osage
288
+ tangut
289
+ ]
290
+
291
+ Script_V2_5_0 = %i[
292
+ masaram_gondi
293
+ nushu
294
+ soyombo
295
+ zanabazar_square
296
+ ]
297
+
298
+ Script_V2_6_0 = %i[
299
+ dogra
300
+ gunjala_gondi
301
+ hanifi_rohingya
302
+ makasar
303
+ medefaidrin
304
+ old_sogdian
305
+ sogdian
306
+ ]
307
+
308
+ Script_V2_6_2 = %i[
309
+ egyptian_hieroglyph_format_controls
310
+ elymaic
311
+ nandinagari
312
+ nyiakeng_puachue_hmong
313
+ ottoman_siyaq_numbers
314
+ small_kana_extension
315
+ symbols_and_pictographs_extended_a
316
+ tamil_supplement
317
+ wancho
318
+ ]
319
+
320
+ Script_V3_1_0 = %i[
321
+ chorasmian
322
+ dives_akuru
323
+ khitan_small_script
324
+ yezidi
325
+ ]
326
+
327
+ Script_V3_2_0 = %i[
328
+ cypro_minoan
329
+ old_uyghur
330
+ tangsa
331
+ toto
332
+ vithkuqi
333
+ ]
334
+
335
+ Script = all[:Script_V]
336
+
337
+ UnicodeBlock_V1_9_0 = %i[
338
+ in_alphabetic_presentation_forms
339
+ in_arabic
340
+ in_armenian
341
+ in_arrows
342
+ in_basic_latin
343
+ in_bengali
344
+ in_block_elements
345
+ in_bopomofo_extended
346
+ in_bopomofo
347
+ in_box_drawing
348
+ in_braille_patterns
349
+ in_buhid
350
+ in_cjk_compatibility_forms
351
+ in_cjk_compatibility_ideographs
352
+ in_cjk_compatibility
353
+ in_cjk_radicals_supplement
354
+ in_cjk_symbols_and_punctuation
355
+ in_cjk_unified_ideographs_extension_a
356
+ in_cjk_unified_ideographs
357
+ in_cherokee
358
+ in_combining_diacritical_marks_for_symbols
359
+ in_combining_diacritical_marks
360
+ in_combining_half_marks
361
+ in_control_pictures
362
+ in_currency_symbols
363
+ in_cyrillic_supplement
364
+ in_cyrillic
365
+ in_devanagari
366
+ in_dingbats
367
+ in_enclosed_alphanumerics
368
+ in_enclosed_cjk_letters_and_months
369
+ in_ethiopic
370
+ in_general_punctuation
371
+ in_geometric_shapes
372
+ in_georgian
373
+ in_greek_extended
374
+ in_greek_and_coptic
375
+ in_gujarati
376
+ in_gurmukhi
377
+ in_halfwidth_and_fullwidth_forms
378
+ in_hangul_compatibility_jamo
379
+ in_hangul_jamo
380
+ in_hangul_syllables
381
+ in_hanunoo
382
+ in_hebrew
383
+ in_high_private_use_surrogates
384
+ in_high_surrogates
385
+ in_hiragana
386
+ in_ipa_extensions
387
+ in_ideographic_description_characters
388
+ in_kanbun
389
+ in_kangxi_radicals
390
+ in_kannada
391
+ in_katakana_phonetic_extensions
392
+ in_katakana
393
+ in_khmer_symbols
394
+ in_khmer
395
+ in_lao
396
+ in_latin_extended_additional
397
+ in_letterlike_symbols
398
+ in_limbu
399
+ in_low_surrogates
400
+ in_malayalam
401
+ in_mathematical_operators
402
+ in_miscellaneous_symbols_and_arrows
403
+ in_miscellaneous_symbols
404
+ in_miscellaneous_technical
405
+ in_mongolian
406
+ in_myanmar
407
+ in_number_forms
408
+ in_ogham
409
+ in_optical_character_recognition
410
+ in_oriya
411
+ in_phonetic_extensions
412
+ in_private_use_area
413
+ in_runic
414
+ in_sinhala
415
+ in_small_form_variants
416
+ in_spacing_modifier_letters
417
+ in_specials
418
+ in_superscripts_and_subscripts
419
+ in_supplemental_mathematical_operators
420
+ in_syriac
421
+ in_tagalog
422
+ in_tagbanwa
423
+ in_tai_le
424
+ in_tamil
425
+ in_telugu
426
+ in_thaana
427
+ in_thai
428
+ in_tibetan
429
+ in_unified_canadian_aboriginal_syllabics
430
+ in_variation_selectors
431
+ in_yi_radicals
432
+ in_yi_syllables
433
+ in_yijing_hexagram_symbols
434
+ ]
435
+
436
+ UnicodeBlock_V2_0_0 = %i[
437
+ in_aegean_numbers
438
+ in_alchemical_symbols
439
+ in_ancient_greek_musical_notation
440
+ in_ancient_greek_numbers
441
+ in_ancient_symbols
442
+ in_arabic_extended_a
443
+ in_arabic_mathematical_alphabetic_symbols
444
+ in_arabic_presentation_forms_a
445
+ in_arabic_presentation_forms_b
446
+ in_arabic_supplement
447
+ in_avestan
448
+ in_balinese
449
+ in_bamum
450
+ in_bamum_supplement
451
+ in_batak
452
+ in_brahmi
453
+ in_buginese
454
+ in_byzantine_musical_symbols
455
+ in_cjk_compatibility_ideographs_supplement
456
+ in_cjk_strokes
457
+ in_cjk_unified_ideographs_extension_b
458
+ in_cjk_unified_ideographs_extension_c
459
+ in_cjk_unified_ideographs_extension_d
460
+ in_carian
461
+ in_chakma
462
+ in_cham
463
+ in_combining_diacritical_marks_supplement
464
+ in_common_indic_number_forms
465
+ in_coptic
466
+ in_counting_rod_numerals
467
+ in_cuneiform
468
+ in_cuneiform_numbers_and_punctuation
469
+ in_cypriot_syllabary
470
+ in_cyrillic_extended_a
471
+ in_cyrillic_extended_b
472
+ in_deseret
473
+ in_devanagari_extended
474
+ in_domino_tiles
475
+ in_egyptian_hieroglyphs
476
+ in_emoticons
477
+ in_enclosed_alphanumeric_supplement
478
+ in_enclosed_ideographic_supplement
479
+ in_ethiopic_extended
480
+ in_ethiopic_extended_a
481
+ in_ethiopic_supplement
482
+ in_georgian_supplement
483
+ in_glagolitic
484
+ in_gothic
485
+ in_hangul_jamo_extended_a
486
+ in_hangul_jamo_extended_b
487
+ in_imperial_aramaic
488
+ in_inscriptional_pahlavi
489
+ in_inscriptional_parthian
490
+ in_javanese
491
+ in_kaithi
492
+ in_kana_supplement
493
+ in_kayah_li
494
+ in_kharoshthi
495
+ in_latin_1_supplement
496
+ in_latin_extended_a
497
+ in_latin_extended_b
498
+ in_latin_extended_c
499
+ in_latin_extended_d
500
+ in_lepcha
501
+ in_linear_b_ideograms
502
+ in_linear_b_syllabary
503
+ in_lisu
504
+ in_lycian
505
+ in_lydian
506
+ in_mahjong_tiles
507
+ in_mandaic
508
+ in_mathematical_alphanumeric_symbols
509
+ in_meetei_mayek
510
+ in_meetei_mayek_extensions
511
+ in_meroitic_cursive
512
+ in_meroitic_hieroglyphs
513
+ in_miao
514
+ in_miscellaneous_mathematical_symbols_a
515
+ in_miscellaneous_mathematical_symbols_b
516
+ in_miscellaneous_symbols_and_pictographs
517
+ in_modifier_tone_letters
518
+ in_musical_symbols
519
+ in_myanmar_extended_a
520
+ in_nko
521
+ in_new_tai_lue
522
+ in_no_block
523
+ in_ol_chiki
524
+ in_old_italic
525
+ in_old_persian
526
+ in_old_south_arabian
527
+ in_old_turkic
528
+ in_osmanya
529
+ in_phags_pa
530
+ in_phaistos_disc
531
+ in_phoenician
532
+ in_phonetic_extensions_supplement
533
+ in_playing_cards
534
+ in_rejang
535
+ in_rumi_numeral_symbols
536
+ in_samaritan
537
+ in_saurashtra
538
+ in_sharada
539
+ in_shavian
540
+ in_sora_sompeng
541
+ in_sundanese
542
+ in_sundanese_supplement
543
+ in_supplemental_arrows_a
544
+ in_supplemental_arrows_b
545
+ in_supplemental_punctuation
546
+ in_supplementary_private_use_area_a
547
+ in_supplementary_private_use_area_b
548
+ in_syloti_nagri
549
+ in_tags
550
+ in_tai_tham
551
+ in_tai_viet
552
+ in_tai_xuan_jing_symbols
553
+ in_takri
554
+ in_tifinagh
555
+ in_transport_and_map_symbols
556
+ in_ugaritic
557
+ in_unified_canadian_aboriginal_syllabics_extended
558
+ in_vai
559
+ in_variation_selectors_supplement
560
+ in_vedic_extensions
561
+ in_vertical_forms
562
+ ]
563
+
564
+ UnicodeBlock_V2_2_0 = %i[
565
+ in_bassa_vah
566
+ in_caucasian_albanian
567
+ in_combining_diacritical_marks_extended
568
+ in_coptic_epact_numbers
569
+ in_duployan
570
+ in_elbasan
571
+ in_geometric_shapes_extended
572
+ in_grantha
573
+ in_khojki
574
+ in_khudawadi
575
+ in_latin_extended_e
576
+ in_linear_a
577
+ in_mahajani
578
+ in_manichaean
579
+ in_mende_kikakui
580
+ in_modi
581
+ in_mro
582
+ in_myanmar_extended_b
583
+ in_nabataean
584
+ in_old_north_arabian
585
+ in_old_permic
586
+ in_ornamental_dingbats
587
+ in_pahawh_hmong
588
+ in_palmyrene
589
+ in_pau_cin_hau
590
+ in_psalter_pahlavi
591
+ in_shorthand_format_controls
592
+ in_siddham
593
+ in_sinhala_archaic_numbers
594
+ in_supplemental_arrows_c
595
+ in_tirhuta
596
+ in_warang_citi
597
+ ]
598
+
599
+ UnicodeBlock_V2_3_0 = %i[
600
+ in_ahom
601
+ in_anatolian_hieroglyphs
602
+ in_cjk_unified_ideographs_extension_e
603
+ in_cherokee_supplement
604
+ in_early_dynastic_cuneiform
605
+ in_hatran
606
+ in_multani
607
+ in_old_hungarian
608
+ in_supplemental_symbols_and_pictographs
609
+ in_sutton_signwriting
610
+ ]
611
+
612
+ UnicodeBlock_V2_4_0 = %i[
613
+ in_adlam
614
+ in_bhaiksuki
615
+ in_cyrillic_extended_c
616
+ in_glagolitic_supplement
617
+ in_ideographic_symbols_and_punctuation
618
+ in_marchen
619
+ in_mongolian_supplement
620
+ in_newa
621
+ in_osage
622
+ in_tangut
623
+ in_tangut_components
624
+ ]
625
+
626
+ UnicodeBlock_V2_5_0 = %i[
627
+ in_cjk_unified_ideographs_extension_f
628
+ in_kana_extended_a
629
+ in_masaram_gondi
630
+ in_nushu
631
+ in_soyombo
632
+ in_syriac_supplement
633
+ in_zanabazar_square
634
+ ]
635
+
636
+ UnicodeBlock_V2_6_0 = %i[
637
+ in_chess_symbols
638
+ in_dogra
639
+ in_georgian_extended
640
+ in_gunjala_gondi
641
+ in_hanifi_rohingya
642
+ in_indic_siyaq_numbers
643
+ in_makasar
644
+ in_mayan_numerals
645
+ in_medefaidrin
646
+ in_old_sogdian
647
+ in_sogdian
648
+ ]
649
+
650
+ UnicodeBlock_V2_6_2 = %i[
651
+ in_egyptian_hieroglyph_format_controls
652
+ in_elymaic
653
+ in_nandinagari
654
+ in_nyiakeng_puachue_hmong
655
+ in_ottoman_siyaq_numbers
656
+ in_small_kana_extension
657
+ in_symbols_and_pictographs_extended_a
658
+ in_tamil_supplement
659
+ in_wancho
660
+ ]
661
+
662
+ UnicodeBlock_V3_1_0 = %i[
663
+ in_chorasmian
664
+ in_cjk_unified_ideographs_extension_g
665
+ in_dives_akuru
666
+ in_khitan_small_script
667
+ in_lisu_supplement
668
+ in_symbols_for_legacy_computing
669
+ in_tangut_supplement
670
+ in_yezidi
671
+ ]
672
+
673
+ UnicodeBlock_V3_2_0 = %i[
674
+ in_arabic_extended_b
675
+ in_cypro_minoan
676
+ in_ethiopic_extended_b
677
+ in_kana_extended_b
678
+ in_latin_extended_f
679
+ in_latin_extended_g
680
+ in_old_uyghur
681
+ in_tangsa
682
+ in_toto
683
+ in_unified_canadian_aboriginal_syllabics_extended_a
684
+ in_vithkuqi
685
+ in_znamenny_musical_notation
686
+ ]
687
+
688
+ UnicodeBlock = all[:UnicodeBlock_V]
689
+
690
+ Emoji_V2_5_0 = %i[
691
+ emoji
692
+ emoji_component
693
+ emoji_modifier
694
+ emoji_modifier_base
695
+ emoji_presentation
696
+ ]
697
+
698
+ Emoji = all[:Emoji_V]
699
+
700
+ V1_9_0 = Category::All + POSIX + all[:V1_9_0]
701
+ V1_9_3 = all[:V1_9_3]
702
+ V2_0_0 = all[:V2_0_0]
703
+ V2_2_0 = all[:V2_2_0]
704
+ V2_3_0 = all[:V2_3_0]
705
+ V2_4_0 = all[:V2_4_0]
706
+ V2_5_0 = all[:V2_5_0]
707
+ V2_6_0 = all[:V2_6_0]
708
+ V2_6_2 = all[:V2_6_2]
709
+ V2_6_3 = all[:V2_6_3]
710
+ V3_1_0 = all[:V3_1_0]
711
+ V3_2_0 = all[:V3_2_0]
712
+
713
+ All = all[/^V\d+_\d+_\d+$/]
714
+
715
+ Type = :property
716
+ NonType = :nonproperty
717
+ end
718
+
719
+ Map[UnicodeProperty::Type] = UnicodeProperty::All
720
+ Map[UnicodeProperty::NonType] = UnicodeProperty::All
721
+ end
722
+ end