regexp_parser 2.3.0 → 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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +63 -6
  3. data/Gemfile +1 -0
  4. data/README.md +12 -6
  5. data/lib/regexp_parser/error.rb +1 -1
  6. data/lib/regexp_parser/expression/base.rb +9 -57
  7. data/lib/regexp_parser/expression/classes/backreference.rb +1 -0
  8. data/lib/regexp_parser/expression/classes/character_set/range.rb +2 -2
  9. data/lib/regexp_parser/expression/classes/character_set.rb +2 -2
  10. data/lib/regexp_parser/expression/classes/{type.rb → character_type.rb} +0 -0
  11. data/lib/regexp_parser/expression/classes/conditional.rb +2 -2
  12. data/lib/regexp_parser/expression/classes/free_space.rb +1 -1
  13. data/lib/regexp_parser/expression/classes/group.rb +6 -6
  14. data/lib/regexp_parser/expression/classes/keep.rb +2 -0
  15. data/lib/regexp_parser/expression/classes/root.rb +3 -5
  16. data/lib/regexp_parser/expression/classes/{property.rb → unicode_property.rb} +1 -0
  17. data/lib/regexp_parser/expression/methods/construct.rb +43 -0
  18. data/lib/regexp_parser/expression/methods/match_length.rb +1 -1
  19. data/lib/regexp_parser/expression/methods/tests.rb +10 -1
  20. data/lib/regexp_parser/expression/quantifier.rb +41 -23
  21. data/lib/regexp_parser/expression/sequence.rb +9 -23
  22. data/lib/regexp_parser/expression/sequence_operation.rb +2 -2
  23. data/lib/regexp_parser/expression/shared.rb +85 -0
  24. data/lib/regexp_parser/expression/subexpression.rb +11 -7
  25. data/lib/regexp_parser/expression.rb +4 -2
  26. data/lib/regexp_parser/parser.rb +21 -72
  27. data/lib/regexp_parser/scanner/property.rl +1 -1
  28. data/lib/regexp_parser/scanner/scanner.rl +42 -31
  29. data/lib/regexp_parser/scanner.rb +725 -793
  30. data/lib/regexp_parser/syntax/token/escape.rb +1 -1
  31. data/lib/regexp_parser/syntax/token/unicode_property.rb +0 -5
  32. data/lib/regexp_parser/version.rb +1 -1
  33. metadata +10 -8
@@ -1,6 +1,6 @@
1
1
  module Regexp::Syntax
2
2
  module Token
3
- # TODO: unify naming with RE::EscapeSequence, on way or the other, in v3.0.0
3
+ # TODO: unify naming with RE::EscapeSequence, one way or the other, in v3.0.0
4
4
  module Escape
5
5
  Basic = %i[backslash literal]
6
6
 
@@ -306,14 +306,9 @@ module Regexp::Syntax
306
306
  ]
307
307
 
308
308
  Script_V2_6_2 = %i[
309
- egyptian_hieroglyph_format_controls
310
309
  elymaic
311
310
  nandinagari
312
311
  nyiakeng_puachue_hmong
313
- ottoman_siyaq_numbers
314
- small_kana_extension
315
- symbols_and_pictographs_extended_a
316
- tamil_supplement
317
312
  wancho
318
313
  ]
319
314
 
@@ -1,5 +1,5 @@
1
1
  class Regexp
2
2
  class Parser
3
- VERSION = '2.3.0'
3
+ VERSION = '2.5.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regexp_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ammar Ali
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-08 00:00:00.000000000 Z
11
+ date: 2022-05-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
14
14
  email:
@@ -32,6 +32,7 @@ files:
32
32
  - lib/regexp_parser/expression/classes/character_set.rb
33
33
  - lib/regexp_parser/expression/classes/character_set/intersection.rb
34
34
  - lib/regexp_parser/expression/classes/character_set/range.rb
35
+ - lib/regexp_parser/expression/classes/character_type.rb
35
36
  - lib/regexp_parser/expression/classes/conditional.rb
36
37
  - lib/regexp_parser/expression/classes/escape_sequence.rb
37
38
  - lib/regexp_parser/expression/classes/free_space.rb
@@ -39,9 +40,9 @@ files:
39
40
  - lib/regexp_parser/expression/classes/keep.rb
40
41
  - lib/regexp_parser/expression/classes/literal.rb
41
42
  - lib/regexp_parser/expression/classes/posix_class.rb
42
- - lib/regexp_parser/expression/classes/property.rb
43
43
  - lib/regexp_parser/expression/classes/root.rb
44
- - lib/regexp_parser/expression/classes/type.rb
44
+ - lib/regexp_parser/expression/classes/unicode_property.rb
45
+ - lib/regexp_parser/expression/methods/construct.rb
45
46
  - lib/regexp_parser/expression/methods/match.rb
46
47
  - lib/regexp_parser/expression/methods/match_length.rb
47
48
  - lib/regexp_parser/expression/methods/options.rb
@@ -51,6 +52,7 @@ files:
51
52
  - lib/regexp_parser/expression/quantifier.rb
52
53
  - lib/regexp_parser/expression/sequence.rb
53
54
  - lib/regexp_parser/expression/sequence_operation.rb
55
+ - lib/regexp_parser/expression/shared.rb
54
56
  - lib/regexp_parser/expression/subexpression.rb
55
57
  - lib/regexp_parser/lexer.rb
56
58
  - lib/regexp_parser/parser.rb
@@ -105,7 +107,7 @@ metadata:
105
107
  homepage_uri: https://github.com/ammar/regexp_parser
106
108
  source_code_uri: https://github.com/ammar/regexp_parser
107
109
  wiki_uri: https://github.com/ammar/regexp_parser/wiki
108
- post_install_message:
110
+ post_install_message:
109
111
  rdoc_options:
110
112
  - "--inline-source"
111
113
  - "--charset=UTF-8"
@@ -122,8 +124,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
124
  - !ruby/object:Gem::Version
123
125
  version: '0'
124
126
  requirements: []
125
- rubygems_version: 3.1.6
126
- signing_key:
127
+ rubygems_version: 3.3.3
128
+ signing_key:
127
129
  specification_version: 4
128
130
  summary: Scanner, lexer, parser for ruby's regular expressions
129
131
  test_files: []