regexp_parser 2.7.0 → 2.12.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -5
  3. data/LICENSE +1 -1
  4. data/Rakefile +5 -3
  5. data/lib/regexp_parser/error.rb +2 -0
  6. data/lib/regexp_parser/expression/base.rb +2 -7
  7. data/lib/regexp_parser/expression/classes/alternation.rb +3 -1
  8. data/lib/regexp_parser/expression/classes/anchor.rb +2 -0
  9. data/lib/regexp_parser/expression/classes/backreference.rb +7 -26
  10. data/lib/regexp_parser/expression/classes/character_set/intersection.rb +2 -0
  11. data/lib/regexp_parser/expression/classes/character_set/range.rb +4 -7
  12. data/lib/regexp_parser/expression/classes/character_set.rb +6 -8
  13. data/lib/regexp_parser/expression/classes/character_type.rb +2 -0
  14. data/lib/regexp_parser/expression/classes/conditional.rb +4 -28
  15. data/lib/regexp_parser/expression/classes/escape_sequence.rb +29 -96
  16. data/lib/regexp_parser/expression/classes/free_space.rb +5 -1
  17. data/lib/regexp_parser/expression/classes/group.rb +2 -22
  18. data/lib/regexp_parser/expression/classes/keep.rb +3 -1
  19. data/lib/regexp_parser/expression/classes/literal.rb +2 -0
  20. data/lib/regexp_parser/expression/classes/posix_class.rb +7 -5
  21. data/lib/regexp_parser/expression/classes/root.rb +2 -0
  22. data/lib/regexp_parser/expression/classes/unicode_property.rb +13 -11
  23. data/lib/regexp_parser/expression/methods/construct.rb +4 -4
  24. data/lib/regexp_parser/expression/methods/escape_sequence_char.rb +7 -0
  25. data/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +76 -0
  26. data/lib/regexp_parser/expression/methods/human_name.rb +2 -0
  27. data/lib/regexp_parser/expression/methods/match.rb +2 -0
  28. data/lib/regexp_parser/expression/methods/match_length.rb +2 -0
  29. data/lib/regexp_parser/expression/methods/negative.rb +22 -0
  30. data/lib/regexp_parser/expression/methods/options.rb +2 -0
  31. data/lib/regexp_parser/expression/methods/parts.rb +25 -0
  32. data/lib/regexp_parser/expression/methods/printing.rb +28 -0
  33. data/lib/regexp_parser/expression/methods/referenced_expressions.rb +30 -0
  34. data/lib/regexp_parser/expression/methods/strfregexp.rb +2 -0
  35. data/lib/regexp_parser/expression/methods/tests.rb +42 -3
  36. data/lib/regexp_parser/expression/methods/traverse.rb +35 -20
  37. data/lib/regexp_parser/expression/quantifier.rb +33 -18
  38. data/lib/regexp_parser/expression/sequence.rb +7 -9
  39. data/lib/regexp_parser/expression/sequence_operation.rb +6 -9
  40. data/lib/regexp_parser/expression/shared.rb +40 -24
  41. data/lib/regexp_parser/expression/subexpression.rb +22 -18
  42. data/lib/regexp_parser/expression.rb +39 -31
  43. data/lib/regexp_parser/lexer.rb +17 -7
  44. data/lib/regexp_parser/parser.rb +101 -95
  45. data/lib/regexp_parser/scanner/errors/premature_end_error.rb +10 -0
  46. data/lib/regexp_parser/scanner/errors/scanner_error.rb +8 -0
  47. data/lib/regexp_parser/scanner/errors/validation_error.rb +65 -0
  48. data/lib/regexp_parser/scanner/properties/long.csv +61 -0
  49. data/lib/regexp_parser/scanner/properties/short.csv +15 -0
  50. data/lib/regexp_parser/scanner/property.rl +1 -1
  51. data/lib/regexp_parser/scanner/scanner.rl +90 -140
  52. data/lib/regexp_parser/scanner.rb +1336 -1450
  53. data/lib/regexp_parser/syntax/any.rb +2 -0
  54. data/lib/regexp_parser/syntax/base.rb +2 -0
  55. data/lib/regexp_parser/syntax/token/anchor.rb +5 -3
  56. data/lib/regexp_parser/syntax/token/assertion.rb +4 -2
  57. data/lib/regexp_parser/syntax/token/backreference.rb +11 -6
  58. data/lib/regexp_parser/syntax/token/character_set.rb +6 -1
  59. data/lib/regexp_parser/syntax/token/character_type.rb +6 -4
  60. data/lib/regexp_parser/syntax/token/conditional.rb +5 -3
  61. data/lib/regexp_parser/syntax/token/escape.rb +12 -8
  62. data/lib/regexp_parser/syntax/token/group.rb +8 -6
  63. data/lib/regexp_parser/syntax/token/keep.rb +3 -1
  64. data/lib/regexp_parser/syntax/token/meta.rb +11 -2
  65. data/lib/regexp_parser/syntax/token/posix_class.rb +4 -2
  66. data/lib/regexp_parser/syntax/token/quantifier.rb +8 -6
  67. data/lib/regexp_parser/syntax/token/unicode_property.rb +164 -70
  68. data/lib/regexp_parser/syntax/token/virtual.rb +13 -0
  69. data/lib/regexp_parser/syntax/token.rb +18 -16
  70. data/lib/regexp_parser/syntax/version_lookup.rb +4 -2
  71. data/lib/regexp_parser/syntax/versions/1.8.6.rb +2 -0
  72. data/lib/regexp_parser/syntax/versions/1.9.1.rb +2 -0
  73. data/lib/regexp_parser/syntax/versions/1.9.3.rb +2 -0
  74. data/lib/regexp_parser/syntax/versions/2.0.0.rb +2 -0
  75. data/lib/regexp_parser/syntax/versions/2.2.0.rb +2 -0
  76. data/lib/regexp_parser/syntax/versions/2.3.0.rb +2 -0
  77. data/lib/regexp_parser/syntax/versions/2.4.0.rb +2 -0
  78. data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -0
  79. data/lib/regexp_parser/syntax/versions/2.5.0.rb +2 -0
  80. data/lib/regexp_parser/syntax/versions/2.6.0.rb +2 -0
  81. data/lib/regexp_parser/syntax/versions/2.6.2.rb +2 -0
  82. data/lib/regexp_parser/syntax/versions/2.6.3.rb +2 -0
  83. data/lib/regexp_parser/syntax/versions/3.1.0.rb +2 -0
  84. data/lib/regexp_parser/syntax/versions/3.2.0.rb +2 -0
  85. data/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
  86. data/lib/regexp_parser/syntax/versions/4.0.0.rb +4 -0
  87. data/lib/regexp_parser/syntax/versions.rb +3 -1
  88. data/lib/regexp_parser/syntax.rb +3 -1
  89. data/lib/regexp_parser/token.rb +2 -0
  90. data/lib/regexp_parser/version.rb +3 -1
  91. data/lib/regexp_parser.rb +8 -6
  92. data/regexp_parser.gemspec +7 -5
  93. metadata +19 -11
  94. data/CHANGELOG.md +0 -632
  95. data/README.md +0 -503
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Regexp
2
4
  class Parser
3
- VERSION = '2.7.0'
5
+ VERSION = '2.12.0'
4
6
  end
5
7
  end
data/lib/regexp_parser.rb CHANGED
@@ -1,6 +1,8 @@
1
- require 'regexp_parser/version'
2
- require 'regexp_parser/token'
3
- require 'regexp_parser/scanner'
4
- require 'regexp_parser/syntax'
5
- require 'regexp_parser/lexer'
6
- require 'regexp_parser/parser'
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'regexp_parser/version'
4
+ require_relative 'regexp_parser/token'
5
+ require_relative 'regexp_parser/scanner'
6
+ require_relative 'regexp_parser/syntax'
7
+ require_relative 'regexp_parser/lexer'
8
+ require_relative 'regexp_parser/parser'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  $:.unshift File.join(File.dirname(__FILE__), 'lib')
2
4
 
3
5
  require 'regexp_parser/version'
@@ -16,17 +18,17 @@ Gem::Specification.new do |spec|
16
18
  spec.metadata['source_code_uri'] = spec.homepage
17
19
  spec.metadata['wiki_uri'] = "#{spec.homepage}/wiki"
18
20
 
19
- spec.authors = ['Ammar Ali']
20
- spec.email = ['ammarabuali@gmail.com']
21
+ spec.metadata['rubygems_mfa_required'] = 'true'
22
+
23
+ spec.authors = ['Ammar Ali', 'Janosch Müller']
24
+ spec.email = ['ammarabuali@gmail.com', 'janosch84@gmail.com']
21
25
 
22
26
  spec.license = 'MIT'
23
27
 
24
28
  spec.require_paths = ['lib']
25
29
 
26
30
  spec.files = Dir.glob('lib/**/*.{csv,rb,rl}') +
27
- %w[Gemfile Rakefile LICENSE README.md CHANGELOG.md regexp_parser.gemspec]
28
-
29
- spec.rdoc_options = ["--inline-source", "--charset=UTF-8"]
31
+ %w[Gemfile Rakefile LICENSE regexp_parser.gemspec]
30
32
 
31
33
  spec.platform = Gem::Platform::RUBY
32
34
 
metadata CHANGED
@@ -1,26 +1,25 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regexp_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ammar Ali
8
- autorequire:
8
+ - Janosch Müller
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-08 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
14
14
  email:
15
15
  - ammarabuali@gmail.com
16
+ - janosch84@gmail.com
16
17
  executables: []
17
18
  extensions: []
18
19
  extra_rdoc_files: []
19
20
  files:
20
- - CHANGELOG.md
21
21
  - Gemfile
22
22
  - LICENSE
23
- - README.md
24
23
  - Rakefile
25
24
  - lib/regexp_parser.rb
26
25
  - lib/regexp_parser/error.rb
@@ -43,10 +42,16 @@ files:
43
42
  - lib/regexp_parser/expression/classes/root.rb
44
43
  - lib/regexp_parser/expression/classes/unicode_property.rb
45
44
  - lib/regexp_parser/expression/methods/construct.rb
45
+ - lib/regexp_parser/expression/methods/escape_sequence_char.rb
46
+ - lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb
46
47
  - lib/regexp_parser/expression/methods/human_name.rb
47
48
  - lib/regexp_parser/expression/methods/match.rb
48
49
  - lib/regexp_parser/expression/methods/match_length.rb
50
+ - lib/regexp_parser/expression/methods/negative.rb
49
51
  - lib/regexp_parser/expression/methods/options.rb
52
+ - lib/regexp_parser/expression/methods/parts.rb
53
+ - lib/regexp_parser/expression/methods/printing.rb
54
+ - lib/regexp_parser/expression/methods/referenced_expressions.rb
50
55
  - lib/regexp_parser/expression/methods/strfregexp.rb
51
56
  - lib/regexp_parser/expression/methods/tests.rb
52
57
  - lib/regexp_parser/expression/methods/traverse.rb
@@ -59,6 +64,9 @@ files:
59
64
  - lib/regexp_parser/parser.rb
60
65
  - lib/regexp_parser/scanner.rb
61
66
  - lib/regexp_parser/scanner/char_type.rl
67
+ - lib/regexp_parser/scanner/errors/premature_end_error.rb
68
+ - lib/regexp_parser/scanner/errors/scanner_error.rb
69
+ - lib/regexp_parser/scanner/errors/validation_error.rb
62
70
  - lib/regexp_parser/scanner/properties/long.csv
63
71
  - lib/regexp_parser/scanner/properties/short.csv
64
72
  - lib/regexp_parser/scanner/property.rl
@@ -80,6 +88,7 @@ files:
80
88
  - lib/regexp_parser/syntax/token/posix_class.rb
81
89
  - lib/regexp_parser/syntax/token/quantifier.rb
82
90
  - lib/regexp_parser/syntax/token/unicode_property.rb
91
+ - lib/regexp_parser/syntax/token/virtual.rb
83
92
  - lib/regexp_parser/syntax/version_lookup.rb
84
93
  - lib/regexp_parser/syntax/versions.rb
85
94
  - lib/regexp_parser/syntax/versions/1.8.6.rb
@@ -96,6 +105,8 @@ files:
96
105
  - lib/regexp_parser/syntax/versions/2.6.3.rb
97
106
  - lib/regexp_parser/syntax/versions/3.1.0.rb
98
107
  - lib/regexp_parser/syntax/versions/3.2.0.rb
108
+ - lib/regexp_parser/syntax/versions/3.5.0.rb
109
+ - lib/regexp_parser/syntax/versions/4.0.0.rb
99
110
  - lib/regexp_parser/token.rb
100
111
  - lib/regexp_parser/version.rb
101
112
  - regexp_parser.gemspec
@@ -108,10 +119,8 @@ metadata:
108
119
  homepage_uri: https://github.com/ammar/regexp_parser
109
120
  source_code_uri: https://github.com/ammar/regexp_parser
110
121
  wiki_uri: https://github.com/ammar/regexp_parser/wiki
111
- post_install_message:
112
- rdoc_options:
113
- - "--inline-source"
114
- - "--charset=UTF-8"
122
+ rubygems_mfa_required: 'true'
123
+ rdoc_options: []
115
124
  require_paths:
116
125
  - lib
117
126
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -125,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
134
  - !ruby/object:Gem::Version
126
135
  version: '0'
127
136
  requirements: []
128
- rubygems_version: 3.4.1
129
- signing_key:
137
+ rubygems_version: 4.0.3
130
138
  specification_version: 4
131
139
  summary: Scanner, lexer, parser for ruby's regular expressions
132
140
  test_files: []