regexp_parser 2.1.1 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
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