regexp_parser 2.1.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -6
  3. data/Gemfile +2 -1
  4. data/LICENSE +1 -1
  5. data/README.md +40 -30
  6. data/Rakefile +6 -70
  7. data/lib/regexp_parser/error.rb +1 -1
  8. data/lib/regexp_parser/expression/base.rb +75 -0
  9. data/lib/regexp_parser/expression/classes/anchor.rb +0 -2
  10. data/lib/regexp_parser/expression/classes/{backref.rb → backreference.rb} +1 -0
  11. data/lib/regexp_parser/expression/classes/{set → character_set}/intersection.rb +0 -0
  12. data/lib/regexp_parser/expression/classes/{set → character_set}/range.rb +2 -2
  13. data/lib/regexp_parser/expression/classes/{set.rb → character_set.rb} +2 -2
  14. data/lib/regexp_parser/expression/classes/{type.rb → character_type.rb} +0 -2
  15. data/lib/regexp_parser/expression/classes/conditional.rb +2 -2
  16. data/lib/regexp_parser/expression/classes/{escape.rb → escape_sequence.rb} +13 -7
  17. data/lib/regexp_parser/expression/classes/free_space.rb +1 -3
  18. data/lib/regexp_parser/expression/classes/group.rb +6 -6
  19. data/lib/regexp_parser/expression/classes/keep.rb +2 -0
  20. data/lib/regexp_parser/expression/classes/literal.rb +1 -5
  21. data/lib/regexp_parser/expression/classes/root.rb +3 -6
  22. data/lib/regexp_parser/expression/classes/{property.rb → unicode_property.rb} +1 -2
  23. data/lib/regexp_parser/expression/methods/construct.rb +43 -0
  24. data/lib/regexp_parser/expression/methods/match_length.rb +1 -1
  25. data/lib/regexp_parser/expression/methods/strfregexp.rb +1 -1
  26. data/lib/regexp_parser/expression/methods/tests.rb +10 -1
  27. data/lib/regexp_parser/expression/quantifier.rb +41 -23
  28. data/lib/regexp_parser/expression/sequence.rb +9 -24
  29. data/lib/regexp_parser/expression/sequence_operation.rb +2 -2
  30. data/lib/regexp_parser/expression/shared.rb +85 -0
  31. data/lib/regexp_parser/expression/subexpression.rb +11 -8
  32. data/lib/regexp_parser/expression.rb +10 -132
  33. data/lib/regexp_parser/lexer.rb +8 -6
  34. data/lib/regexp_parser/parser.rb +21 -72
  35. data/lib/regexp_parser/scanner/properties/long.csv +622 -0
  36. data/lib/regexp_parser/scanner/properties/short.csv +246 -0
  37. data/lib/regexp_parser/scanner/property.rl +1 -1
  38. data/lib/regexp_parser/scanner/scanner.rl +48 -35
  39. data/lib/regexp_parser/scanner.rb +735 -801
  40. data/lib/regexp_parser/syntax/any.rb +2 -7
  41. data/lib/regexp_parser/syntax/base.rb +91 -66
  42. data/lib/regexp_parser/syntax/token/anchor.rb +15 -0
  43. data/lib/regexp_parser/syntax/{tokens → token}/assertion.rb +2 -2
  44. data/lib/regexp_parser/syntax/token/backreference.rb +30 -0
  45. data/lib/regexp_parser/syntax/{tokens → token}/character_set.rb +2 -2
  46. data/lib/regexp_parser/syntax/{tokens → token}/character_type.rb +3 -3
  47. data/lib/regexp_parser/syntax/{tokens → token}/conditional.rb +3 -3
  48. data/lib/regexp_parser/syntax/token/escape.rb +31 -0
  49. data/lib/regexp_parser/syntax/{tokens → token}/group.rb +7 -7
  50. data/lib/regexp_parser/syntax/{tokens → token}/keep.rb +1 -1
  51. data/lib/regexp_parser/syntax/{tokens → token}/meta.rb +2 -2
  52. data/lib/regexp_parser/syntax/{tokens → token}/posix_class.rb +3 -3
  53. data/lib/regexp_parser/syntax/token/quantifier.rb +35 -0
  54. data/lib/regexp_parser/syntax/token/unicode_property.rb +717 -0
  55. data/lib/regexp_parser/syntax/token.rb +45 -0
  56. data/lib/regexp_parser/syntax/version_lookup.rb +20 -29
  57. data/lib/regexp_parser/syntax/versions/1.8.6.rb +13 -20
  58. data/lib/regexp_parser/syntax/versions/1.9.1.rb +10 -17
  59. data/lib/regexp_parser/syntax/versions/1.9.3.rb +3 -10
  60. data/lib/regexp_parser/syntax/versions/2.0.0.rb +8 -15
  61. data/lib/regexp_parser/syntax/versions/2.2.0.rb +3 -9
  62. data/lib/regexp_parser/syntax/versions/2.3.0.rb +3 -9
  63. data/lib/regexp_parser/syntax/versions/2.4.0.rb +3 -9
  64. data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -8
  65. data/lib/regexp_parser/syntax/versions/2.5.0.rb +3 -9
  66. data/lib/regexp_parser/syntax/versions/2.6.0.rb +3 -9
  67. data/lib/regexp_parser/syntax/versions/2.6.2.rb +3 -9
  68. data/lib/regexp_parser/syntax/versions/2.6.3.rb +3 -9
  69. data/lib/regexp_parser/syntax/versions/3.1.0.rb +4 -0
  70. data/lib/regexp_parser/syntax/versions/3.2.0.rb +4 -0
  71. data/lib/regexp_parser/syntax/versions.rb +1 -1
  72. data/lib/regexp_parser/syntax.rb +1 -1
  73. data/lib/regexp_parser/token.rb +9 -20
  74. data/lib/regexp_parser/version.rb +1 -1
  75. data/lib/regexp_parser.rb +0 -2
  76. data/regexp_parser.gemspec +20 -22
  77. metadata +37 -166
  78. data/lib/regexp_parser/scanner/properties/long.yml +0 -594
  79. data/lib/regexp_parser/scanner/properties/short.yml +0 -237
  80. data/lib/regexp_parser/syntax/tokens/anchor.rb +0 -15
  81. data/lib/regexp_parser/syntax/tokens/backref.rb +0 -24
  82. data/lib/regexp_parser/syntax/tokens/escape.rb +0 -30
  83. data/lib/regexp_parser/syntax/tokens/quantifier.rb +0 -35
  84. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +0 -675
  85. data/lib/regexp_parser/syntax/tokens.rb +0 -45
  86. data/spec/expression/base_spec.rb +0 -104
  87. data/spec/expression/clone_spec.rb +0 -152
  88. data/spec/expression/conditional_spec.rb +0 -89
  89. data/spec/expression/free_space_spec.rb +0 -27
  90. data/spec/expression/methods/match_length_spec.rb +0 -161
  91. data/spec/expression/methods/match_spec.rb +0 -25
  92. data/spec/expression/methods/strfregexp_spec.rb +0 -224
  93. data/spec/expression/methods/tests_spec.rb +0 -99
  94. data/spec/expression/methods/traverse_spec.rb +0 -161
  95. data/spec/expression/options_spec.rb +0 -128
  96. data/spec/expression/subexpression_spec.rb +0 -50
  97. data/spec/expression/to_h_spec.rb +0 -26
  98. data/spec/expression/to_s_spec.rb +0 -108
  99. data/spec/lexer/all_spec.rb +0 -22
  100. data/spec/lexer/conditionals_spec.rb +0 -53
  101. data/spec/lexer/delimiters_spec.rb +0 -68
  102. data/spec/lexer/escapes_spec.rb +0 -14
  103. data/spec/lexer/keep_spec.rb +0 -10
  104. data/spec/lexer/literals_spec.rb +0 -64
  105. data/spec/lexer/nesting_spec.rb +0 -99
  106. data/spec/lexer/refcalls_spec.rb +0 -60
  107. data/spec/parser/all_spec.rb +0 -43
  108. data/spec/parser/alternation_spec.rb +0 -88
  109. data/spec/parser/anchors_spec.rb +0 -17
  110. data/spec/parser/conditionals_spec.rb +0 -179
  111. data/spec/parser/errors_spec.rb +0 -30
  112. data/spec/parser/escapes_spec.rb +0 -121
  113. data/spec/parser/free_space_spec.rb +0 -130
  114. data/spec/parser/groups_spec.rb +0 -108
  115. data/spec/parser/keep_spec.rb +0 -6
  116. data/spec/parser/options_spec.rb +0 -28
  117. data/spec/parser/posix_classes_spec.rb +0 -8
  118. data/spec/parser/properties_spec.rb +0 -115
  119. data/spec/parser/quantifiers_spec.rb +0 -68
  120. data/spec/parser/refcalls_spec.rb +0 -117
  121. data/spec/parser/set/intersections_spec.rb +0 -127
  122. data/spec/parser/set/ranges_spec.rb +0 -111
  123. data/spec/parser/sets_spec.rb +0 -178
  124. data/spec/parser/types_spec.rb +0 -18
  125. data/spec/scanner/all_spec.rb +0 -18
  126. data/spec/scanner/anchors_spec.rb +0 -21
  127. data/spec/scanner/conditionals_spec.rb +0 -128
  128. data/spec/scanner/delimiters_spec.rb +0 -52
  129. data/spec/scanner/errors_spec.rb +0 -67
  130. data/spec/scanner/escapes_spec.rb +0 -64
  131. data/spec/scanner/free_space_spec.rb +0 -165
  132. data/spec/scanner/groups_spec.rb +0 -61
  133. data/spec/scanner/keep_spec.rb +0 -10
  134. data/spec/scanner/literals_spec.rb +0 -39
  135. data/spec/scanner/meta_spec.rb +0 -18
  136. data/spec/scanner/options_spec.rb +0 -36
  137. data/spec/scanner/properties_spec.rb +0 -64
  138. data/spec/scanner/quantifiers_spec.rb +0 -25
  139. data/spec/scanner/refcalls_spec.rb +0 -55
  140. data/spec/scanner/sets_spec.rb +0 -151
  141. data/spec/scanner/types_spec.rb +0 -14
  142. data/spec/spec_helper.rb +0 -16
  143. data/spec/support/runner.rb +0 -42
  144. data/spec/support/shared_examples.rb +0 -77
  145. data/spec/support/warning_extractor.rb +0 -60
  146. data/spec/syntax/syntax_spec.rb +0 -48
  147. data/spec/syntax/syntax_token_map_spec.rb +0 -23
  148. data/spec/syntax/versions/1.8.6_spec.rb +0 -17
  149. data/spec/syntax/versions/1.9.1_spec.rb +0 -10
  150. data/spec/syntax/versions/1.9.3_spec.rb +0 -9
  151. data/spec/syntax/versions/2.0.0_spec.rb +0 -13
  152. data/spec/syntax/versions/2.2.0_spec.rb +0 -9
  153. data/spec/syntax/versions/aliases_spec.rb +0 -37
  154. data/spec/token/token_spec.rb +0 -85
@@ -0,0 +1,717 @@
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
+ elymaic
310
+ nandinagari
311
+ nyiakeng_puachue_hmong
312
+ wancho
313
+ ]
314
+
315
+ Script_V3_1_0 = %i[
316
+ chorasmian
317
+ dives_akuru
318
+ khitan_small_script
319
+ yezidi
320
+ ]
321
+
322
+ Script_V3_2_0 = %i[
323
+ cypro_minoan
324
+ old_uyghur
325
+ tangsa
326
+ toto
327
+ vithkuqi
328
+ ]
329
+
330
+ Script = all[:Script_V]
331
+
332
+ UnicodeBlock_V1_9_0 = %i[
333
+ in_alphabetic_presentation_forms
334
+ in_arabic
335
+ in_armenian
336
+ in_arrows
337
+ in_basic_latin
338
+ in_bengali
339
+ in_block_elements
340
+ in_bopomofo_extended
341
+ in_bopomofo
342
+ in_box_drawing
343
+ in_braille_patterns
344
+ in_buhid
345
+ in_cjk_compatibility_forms
346
+ in_cjk_compatibility_ideographs
347
+ in_cjk_compatibility
348
+ in_cjk_radicals_supplement
349
+ in_cjk_symbols_and_punctuation
350
+ in_cjk_unified_ideographs_extension_a
351
+ in_cjk_unified_ideographs
352
+ in_cherokee
353
+ in_combining_diacritical_marks_for_symbols
354
+ in_combining_diacritical_marks
355
+ in_combining_half_marks
356
+ in_control_pictures
357
+ in_currency_symbols
358
+ in_cyrillic_supplement
359
+ in_cyrillic
360
+ in_devanagari
361
+ in_dingbats
362
+ in_enclosed_alphanumerics
363
+ in_enclosed_cjk_letters_and_months
364
+ in_ethiopic
365
+ in_general_punctuation
366
+ in_geometric_shapes
367
+ in_georgian
368
+ in_greek_extended
369
+ in_greek_and_coptic
370
+ in_gujarati
371
+ in_gurmukhi
372
+ in_halfwidth_and_fullwidth_forms
373
+ in_hangul_compatibility_jamo
374
+ in_hangul_jamo
375
+ in_hangul_syllables
376
+ in_hanunoo
377
+ in_hebrew
378
+ in_high_private_use_surrogates
379
+ in_high_surrogates
380
+ in_hiragana
381
+ in_ipa_extensions
382
+ in_ideographic_description_characters
383
+ in_kanbun
384
+ in_kangxi_radicals
385
+ in_kannada
386
+ in_katakana_phonetic_extensions
387
+ in_katakana
388
+ in_khmer_symbols
389
+ in_khmer
390
+ in_lao
391
+ in_latin_extended_additional
392
+ in_letterlike_symbols
393
+ in_limbu
394
+ in_low_surrogates
395
+ in_malayalam
396
+ in_mathematical_operators
397
+ in_miscellaneous_symbols_and_arrows
398
+ in_miscellaneous_symbols
399
+ in_miscellaneous_technical
400
+ in_mongolian
401
+ in_myanmar
402
+ in_number_forms
403
+ in_ogham
404
+ in_optical_character_recognition
405
+ in_oriya
406
+ in_phonetic_extensions
407
+ in_private_use_area
408
+ in_runic
409
+ in_sinhala
410
+ in_small_form_variants
411
+ in_spacing_modifier_letters
412
+ in_specials
413
+ in_superscripts_and_subscripts
414
+ in_supplemental_mathematical_operators
415
+ in_syriac
416
+ in_tagalog
417
+ in_tagbanwa
418
+ in_tai_le
419
+ in_tamil
420
+ in_telugu
421
+ in_thaana
422
+ in_thai
423
+ in_tibetan
424
+ in_unified_canadian_aboriginal_syllabics
425
+ in_variation_selectors
426
+ in_yi_radicals
427
+ in_yi_syllables
428
+ in_yijing_hexagram_symbols
429
+ ]
430
+
431
+ UnicodeBlock_V2_0_0 = %i[
432
+ in_aegean_numbers
433
+ in_alchemical_symbols
434
+ in_ancient_greek_musical_notation
435
+ in_ancient_greek_numbers
436
+ in_ancient_symbols
437
+ in_arabic_extended_a
438
+ in_arabic_mathematical_alphabetic_symbols
439
+ in_arabic_presentation_forms_a
440
+ in_arabic_presentation_forms_b
441
+ in_arabic_supplement
442
+ in_avestan
443
+ in_balinese
444
+ in_bamum
445
+ in_bamum_supplement
446
+ in_batak
447
+ in_brahmi
448
+ in_buginese
449
+ in_byzantine_musical_symbols
450
+ in_cjk_compatibility_ideographs_supplement
451
+ in_cjk_strokes
452
+ in_cjk_unified_ideographs_extension_b
453
+ in_cjk_unified_ideographs_extension_c
454
+ in_cjk_unified_ideographs_extension_d
455
+ in_carian
456
+ in_chakma
457
+ in_cham
458
+ in_combining_diacritical_marks_supplement
459
+ in_common_indic_number_forms
460
+ in_coptic
461
+ in_counting_rod_numerals
462
+ in_cuneiform
463
+ in_cuneiform_numbers_and_punctuation
464
+ in_cypriot_syllabary
465
+ in_cyrillic_extended_a
466
+ in_cyrillic_extended_b
467
+ in_deseret
468
+ in_devanagari_extended
469
+ in_domino_tiles
470
+ in_egyptian_hieroglyphs
471
+ in_emoticons
472
+ in_enclosed_alphanumeric_supplement
473
+ in_enclosed_ideographic_supplement
474
+ in_ethiopic_extended
475
+ in_ethiopic_extended_a
476
+ in_ethiopic_supplement
477
+ in_georgian_supplement
478
+ in_glagolitic
479
+ in_gothic
480
+ in_hangul_jamo_extended_a
481
+ in_hangul_jamo_extended_b
482
+ in_imperial_aramaic
483
+ in_inscriptional_pahlavi
484
+ in_inscriptional_parthian
485
+ in_javanese
486
+ in_kaithi
487
+ in_kana_supplement
488
+ in_kayah_li
489
+ in_kharoshthi
490
+ in_latin_1_supplement
491
+ in_latin_extended_a
492
+ in_latin_extended_b
493
+ in_latin_extended_c
494
+ in_latin_extended_d
495
+ in_lepcha
496
+ in_linear_b_ideograms
497
+ in_linear_b_syllabary
498
+ in_lisu
499
+ in_lycian
500
+ in_lydian
501
+ in_mahjong_tiles
502
+ in_mandaic
503
+ in_mathematical_alphanumeric_symbols
504
+ in_meetei_mayek
505
+ in_meetei_mayek_extensions
506
+ in_meroitic_cursive
507
+ in_meroitic_hieroglyphs
508
+ in_miao
509
+ in_miscellaneous_mathematical_symbols_a
510
+ in_miscellaneous_mathematical_symbols_b
511
+ in_miscellaneous_symbols_and_pictographs
512
+ in_modifier_tone_letters
513
+ in_musical_symbols
514
+ in_myanmar_extended_a
515
+ in_nko
516
+ in_new_tai_lue
517
+ in_no_block
518
+ in_ol_chiki
519
+ in_old_italic
520
+ in_old_persian
521
+ in_old_south_arabian
522
+ in_old_turkic
523
+ in_osmanya
524
+ in_phags_pa
525
+ in_phaistos_disc
526
+ in_phoenician
527
+ in_phonetic_extensions_supplement
528
+ in_playing_cards
529
+ in_rejang
530
+ in_rumi_numeral_symbols
531
+ in_samaritan
532
+ in_saurashtra
533
+ in_sharada
534
+ in_shavian
535
+ in_sora_sompeng
536
+ in_sundanese
537
+ in_sundanese_supplement
538
+ in_supplemental_arrows_a
539
+ in_supplemental_arrows_b
540
+ in_supplemental_punctuation
541
+ in_supplementary_private_use_area_a
542
+ in_supplementary_private_use_area_b
543
+ in_syloti_nagri
544
+ in_tags
545
+ in_tai_tham
546
+ in_tai_viet
547
+ in_tai_xuan_jing_symbols
548
+ in_takri
549
+ in_tifinagh
550
+ in_transport_and_map_symbols
551
+ in_ugaritic
552
+ in_unified_canadian_aboriginal_syllabics_extended
553
+ in_vai
554
+ in_variation_selectors_supplement
555
+ in_vedic_extensions
556
+ in_vertical_forms
557
+ ]
558
+
559
+ UnicodeBlock_V2_2_0 = %i[
560
+ in_bassa_vah
561
+ in_caucasian_albanian
562
+ in_combining_diacritical_marks_extended
563
+ in_coptic_epact_numbers
564
+ in_duployan
565
+ in_elbasan
566
+ in_geometric_shapes_extended
567
+ in_grantha
568
+ in_khojki
569
+ in_khudawadi
570
+ in_latin_extended_e
571
+ in_linear_a
572
+ in_mahajani
573
+ in_manichaean
574
+ in_mende_kikakui
575
+ in_modi
576
+ in_mro
577
+ in_myanmar_extended_b
578
+ in_nabataean
579
+ in_old_north_arabian
580
+ in_old_permic
581
+ in_ornamental_dingbats
582
+ in_pahawh_hmong
583
+ in_palmyrene
584
+ in_pau_cin_hau
585
+ in_psalter_pahlavi
586
+ in_shorthand_format_controls
587
+ in_siddham
588
+ in_sinhala_archaic_numbers
589
+ in_supplemental_arrows_c
590
+ in_tirhuta
591
+ in_warang_citi
592
+ ]
593
+
594
+ UnicodeBlock_V2_3_0 = %i[
595
+ in_ahom
596
+ in_anatolian_hieroglyphs
597
+ in_cjk_unified_ideographs_extension_e
598
+ in_cherokee_supplement
599
+ in_early_dynastic_cuneiform
600
+ in_hatran
601
+ in_multani
602
+ in_old_hungarian
603
+ in_supplemental_symbols_and_pictographs
604
+ in_sutton_signwriting
605
+ ]
606
+
607
+ UnicodeBlock_V2_4_0 = %i[
608
+ in_adlam
609
+ in_bhaiksuki
610
+ in_cyrillic_extended_c
611
+ in_glagolitic_supplement
612
+ in_ideographic_symbols_and_punctuation
613
+ in_marchen
614
+ in_mongolian_supplement
615
+ in_newa
616
+ in_osage
617
+ in_tangut
618
+ in_tangut_components
619
+ ]
620
+
621
+ UnicodeBlock_V2_5_0 = %i[
622
+ in_cjk_unified_ideographs_extension_f
623
+ in_kana_extended_a
624
+ in_masaram_gondi
625
+ in_nushu
626
+ in_soyombo
627
+ in_syriac_supplement
628
+ in_zanabazar_square
629
+ ]
630
+
631
+ UnicodeBlock_V2_6_0 = %i[
632
+ in_chess_symbols
633
+ in_dogra
634
+ in_georgian_extended
635
+ in_gunjala_gondi
636
+ in_hanifi_rohingya
637
+ in_indic_siyaq_numbers
638
+ in_makasar
639
+ in_mayan_numerals
640
+ in_medefaidrin
641
+ in_old_sogdian
642
+ in_sogdian
643
+ ]
644
+
645
+ UnicodeBlock_V2_6_2 = %i[
646
+ in_egyptian_hieroglyph_format_controls
647
+ in_elymaic
648
+ in_nandinagari
649
+ in_nyiakeng_puachue_hmong
650
+ in_ottoman_siyaq_numbers
651
+ in_small_kana_extension
652
+ in_symbols_and_pictographs_extended_a
653
+ in_tamil_supplement
654
+ in_wancho
655
+ ]
656
+
657
+ UnicodeBlock_V3_1_0 = %i[
658
+ in_chorasmian
659
+ in_cjk_unified_ideographs_extension_g
660
+ in_dives_akuru
661
+ in_khitan_small_script
662
+ in_lisu_supplement
663
+ in_symbols_for_legacy_computing
664
+ in_tangut_supplement
665
+ in_yezidi
666
+ ]
667
+
668
+ UnicodeBlock_V3_2_0 = %i[
669
+ in_arabic_extended_b
670
+ in_cypro_minoan
671
+ in_ethiopic_extended_b
672
+ in_kana_extended_b
673
+ in_latin_extended_f
674
+ in_latin_extended_g
675
+ in_old_uyghur
676
+ in_tangsa
677
+ in_toto
678
+ in_unified_canadian_aboriginal_syllabics_extended_a
679
+ in_vithkuqi
680
+ in_znamenny_musical_notation
681
+ ]
682
+
683
+ UnicodeBlock = all[:UnicodeBlock_V]
684
+
685
+ Emoji_V2_5_0 = %i[
686
+ emoji
687
+ emoji_component
688
+ emoji_modifier
689
+ emoji_modifier_base
690
+ emoji_presentation
691
+ ]
692
+
693
+ Emoji = all[:Emoji_V]
694
+
695
+ V1_9_0 = Category::All + POSIX + all[:V1_9_0]
696
+ V1_9_3 = all[:V1_9_3]
697
+ V2_0_0 = all[:V2_0_0]
698
+ V2_2_0 = all[:V2_2_0]
699
+ V2_3_0 = all[:V2_3_0]
700
+ V2_4_0 = all[:V2_4_0]
701
+ V2_5_0 = all[:V2_5_0]
702
+ V2_6_0 = all[:V2_6_0]
703
+ V2_6_2 = all[:V2_6_2]
704
+ V2_6_3 = all[:V2_6_3]
705
+ V3_1_0 = all[:V3_1_0]
706
+ V3_2_0 = all[:V3_2_0]
707
+
708
+ All = all[/^V\d+_\d+_\d+$/]
709
+
710
+ Type = :property
711
+ NonType = :nonproperty
712
+ end
713
+
714
+ Map[UnicodeProperty::Type] = UnicodeProperty::All
715
+ Map[UnicodeProperty::NonType] = UnicodeProperty::All
716
+ end
717
+ end