regexp_parser 1.7.1 → 2.2.1

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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +157 -1
  3. data/Gemfile +6 -1
  4. data/LICENSE +1 -1
  5. data/README.md +38 -32
  6. data/Rakefile +18 -27
  7. data/lib/regexp_parser/error.rb +4 -0
  8. data/lib/regexp_parser/expression/base.rb +123 -0
  9. data/lib/regexp_parser/expression/classes/anchor.rb +0 -2
  10. data/lib/regexp_parser/expression/classes/{backref.rb → backreference.rb} +5 -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 -1
  13. data/lib/regexp_parser/expression/classes/{set.rb → character_set.rb} +0 -0
  14. data/lib/regexp_parser/expression/classes/conditional.rb +11 -1
  15. data/lib/regexp_parser/expression/classes/{escape.rb → escape_sequence.rb} +13 -7
  16. data/lib/regexp_parser/expression/classes/free_space.rb +2 -4
  17. data/lib/regexp_parser/expression/classes/group.rb +28 -3
  18. data/lib/regexp_parser/expression/classes/literal.rb +1 -5
  19. data/lib/regexp_parser/expression/classes/property.rb +1 -3
  20. data/lib/regexp_parser/expression/classes/root.rb +4 -17
  21. data/lib/regexp_parser/expression/classes/type.rb +0 -2
  22. data/lib/regexp_parser/expression/methods/match_length.rb +2 -2
  23. data/lib/regexp_parser/expression/methods/strfregexp.rb +1 -1
  24. data/lib/regexp_parser/expression/methods/traverse.rb +2 -2
  25. data/lib/regexp_parser/expression/quantifier.rb +11 -2
  26. data/lib/regexp_parser/expression/sequence.rb +3 -20
  27. data/lib/regexp_parser/expression/subexpression.rb +1 -2
  28. data/lib/regexp_parser/expression.rb +7 -139
  29. data/lib/regexp_parser/lexer.rb +13 -11
  30. data/lib/regexp_parser/parser.rb +325 -344
  31. data/lib/regexp_parser/scanner/char_type.rl +11 -11
  32. data/lib/regexp_parser/scanner/properties/long.csv +604 -0
  33. data/lib/regexp_parser/scanner/properties/short.csv +242 -0
  34. data/lib/regexp_parser/scanner/property.rl +2 -2
  35. data/lib/regexp_parser/scanner/scanner.rl +235 -255
  36. data/lib/regexp_parser/scanner.rb +1324 -1387
  37. data/lib/regexp_parser/syntax/any.rb +4 -6
  38. data/lib/regexp_parser/syntax/base.rb +13 -15
  39. data/lib/regexp_parser/syntax/token/anchor.rb +15 -0
  40. data/lib/regexp_parser/syntax/{tokens → token}/assertion.rb +2 -2
  41. data/lib/regexp_parser/syntax/token/backreference.rb +30 -0
  42. data/lib/regexp_parser/syntax/{tokens → token}/character_set.rb +2 -2
  43. data/lib/regexp_parser/syntax/{tokens → token}/character_type.rb +3 -3
  44. data/lib/regexp_parser/syntax/{tokens → token}/conditional.rb +3 -3
  45. data/lib/regexp_parser/syntax/token/escape.rb +31 -0
  46. data/lib/regexp_parser/syntax/{tokens → token}/group.rb +7 -7
  47. data/lib/regexp_parser/syntax/{tokens → token}/keep.rb +1 -1
  48. data/lib/regexp_parser/syntax/{tokens → token}/meta.rb +2 -2
  49. data/lib/regexp_parser/syntax/{tokens → token}/posix_class.rb +3 -3
  50. data/lib/regexp_parser/syntax/token/quantifier.rb +35 -0
  51. data/lib/regexp_parser/syntax/token/unicode_property.rb +696 -0
  52. data/lib/regexp_parser/syntax/token.rb +45 -0
  53. data/lib/regexp_parser/syntax/version_lookup.rb +4 -4
  54. data/lib/regexp_parser/syntax/versions/1.8.6.rb +2 -2
  55. data/lib/regexp_parser/syntax/versions/1.9.1.rb +1 -1
  56. data/lib/regexp_parser/syntax/versions/3.1.0.rb +10 -0
  57. data/lib/regexp_parser/syntax.rb +8 -6
  58. data/lib/regexp_parser/token.rb +9 -20
  59. data/lib/regexp_parser/version.rb +1 -1
  60. data/lib/regexp_parser.rb +0 -2
  61. data/regexp_parser.gemspec +20 -22
  62. metadata +34 -165
  63. data/lib/regexp_parser/scanner/properties/long.yml +0 -594
  64. data/lib/regexp_parser/scanner/properties/short.yml +0 -237
  65. data/lib/regexp_parser/syntax/tokens/anchor.rb +0 -15
  66. data/lib/regexp_parser/syntax/tokens/backref.rb +0 -24
  67. data/lib/regexp_parser/syntax/tokens/escape.rb +0 -30
  68. data/lib/regexp_parser/syntax/tokens/quantifier.rb +0 -35
  69. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +0 -675
  70. data/lib/regexp_parser/syntax/tokens.rb +0 -45
  71. data/spec/expression/base_spec.rb +0 -94
  72. data/spec/expression/clone_spec.rb +0 -120
  73. data/spec/expression/conditional_spec.rb +0 -89
  74. data/spec/expression/free_space_spec.rb +0 -27
  75. data/spec/expression/methods/match_length_spec.rb +0 -161
  76. data/spec/expression/methods/match_spec.rb +0 -25
  77. data/spec/expression/methods/strfregexp_spec.rb +0 -224
  78. data/spec/expression/methods/tests_spec.rb +0 -99
  79. data/spec/expression/methods/traverse_spec.rb +0 -161
  80. data/spec/expression/options_spec.rb +0 -128
  81. data/spec/expression/root_spec.rb +0 -9
  82. data/spec/expression/sequence_spec.rb +0 -9
  83. data/spec/expression/subexpression_spec.rb +0 -50
  84. data/spec/expression/to_h_spec.rb +0 -26
  85. data/spec/expression/to_s_spec.rb +0 -100
  86. data/spec/lexer/all_spec.rb +0 -22
  87. data/spec/lexer/conditionals_spec.rb +0 -53
  88. data/spec/lexer/delimiters_spec.rb +0 -68
  89. data/spec/lexer/escapes_spec.rb +0 -14
  90. data/spec/lexer/keep_spec.rb +0 -10
  91. data/spec/lexer/literals_spec.rb +0 -89
  92. data/spec/lexer/nesting_spec.rb +0 -99
  93. data/spec/lexer/refcalls_spec.rb +0 -55
  94. data/spec/parser/all_spec.rb +0 -43
  95. data/spec/parser/alternation_spec.rb +0 -88
  96. data/spec/parser/anchors_spec.rb +0 -17
  97. data/spec/parser/conditionals_spec.rb +0 -179
  98. data/spec/parser/errors_spec.rb +0 -30
  99. data/spec/parser/escapes_spec.rb +0 -121
  100. data/spec/parser/free_space_spec.rb +0 -130
  101. data/spec/parser/groups_spec.rb +0 -108
  102. data/spec/parser/keep_spec.rb +0 -6
  103. data/spec/parser/posix_classes_spec.rb +0 -8
  104. data/spec/parser/properties_spec.rb +0 -115
  105. data/spec/parser/quantifiers_spec.rb +0 -52
  106. data/spec/parser/refcalls_spec.rb +0 -112
  107. data/spec/parser/set/intersections_spec.rb +0 -127
  108. data/spec/parser/set/ranges_spec.rb +0 -111
  109. data/spec/parser/sets_spec.rb +0 -178
  110. data/spec/parser/types_spec.rb +0 -18
  111. data/spec/scanner/all_spec.rb +0 -18
  112. data/spec/scanner/anchors_spec.rb +0 -21
  113. data/spec/scanner/conditionals_spec.rb +0 -128
  114. data/spec/scanner/delimiters_spec.rb +0 -52
  115. data/spec/scanner/errors_spec.rb +0 -67
  116. data/spec/scanner/escapes_spec.rb +0 -53
  117. data/spec/scanner/free_space_spec.rb +0 -133
  118. data/spec/scanner/groups_spec.rb +0 -52
  119. data/spec/scanner/keep_spec.rb +0 -10
  120. data/spec/scanner/literals_spec.rb +0 -49
  121. data/spec/scanner/meta_spec.rb +0 -18
  122. data/spec/scanner/properties_spec.rb +0 -64
  123. data/spec/scanner/quantifiers_spec.rb +0 -20
  124. data/spec/scanner/refcalls_spec.rb +0 -36
  125. data/spec/scanner/sets_spec.rb +0 -102
  126. data/spec/scanner/types_spec.rb +0 -14
  127. data/spec/spec_helper.rb +0 -15
  128. data/spec/support/runner.rb +0 -42
  129. data/spec/support/shared_examples.rb +0 -77
  130. data/spec/support/warning_extractor.rb +0 -60
  131. data/spec/syntax/syntax_spec.rb +0 -48
  132. data/spec/syntax/syntax_token_map_spec.rb +0 -23
  133. data/spec/syntax/versions/1.8.6_spec.rb +0 -17
  134. data/spec/syntax/versions/1.9.1_spec.rb +0 -10
  135. data/spec/syntax/versions/1.9.3_spec.rb +0 -9
  136. data/spec/syntax/versions/2.0.0_spec.rb +0 -13
  137. data/spec/syntax/versions/2.2.0_spec.rb +0 -9
  138. data/spec/syntax/versions/aliases_spec.rb +0 -37
  139. data/spec/token/token_spec.rb +0 -85
@@ -0,0 +1,45 @@
1
+ # Define the base module and the simplest of tokens.
2
+ module Regexp::Syntax
3
+ module Token
4
+ Map = {}
5
+
6
+ module Literal
7
+ All = %i[literal]
8
+ Type = :literal
9
+ end
10
+
11
+ module FreeSpace
12
+ All = %i[comment whitespace]
13
+ Type = :free_space
14
+ end
15
+
16
+ Map[FreeSpace::Type] = FreeSpace::All
17
+ Map[Literal::Type] = Literal::All
18
+ end
19
+ end
20
+
21
+
22
+ # Load all the token files, they will populate the Map constant.
23
+ require 'regexp_parser/syntax/token/anchor'
24
+ require 'regexp_parser/syntax/token/assertion'
25
+ require 'regexp_parser/syntax/token/backreference'
26
+ require 'regexp_parser/syntax/token/posix_class'
27
+ require 'regexp_parser/syntax/token/character_set'
28
+ require 'regexp_parser/syntax/token/character_type'
29
+ require 'regexp_parser/syntax/token/conditional'
30
+ require 'regexp_parser/syntax/token/escape'
31
+ require 'regexp_parser/syntax/token/group'
32
+ require 'regexp_parser/syntax/token/keep'
33
+ require 'regexp_parser/syntax/token/meta'
34
+ require 'regexp_parser/syntax/token/quantifier'
35
+ require 'regexp_parser/syntax/token/unicode_property'
36
+
37
+
38
+ # After loading all the tokens the map is full. Extract all tokens and types
39
+ # into the All and Types constants.
40
+ module Regexp::Syntax
41
+ module Token
42
+ All = Map.values.flatten.uniq.sort.freeze
43
+ Types = Map.keys.freeze
44
+ end
45
+ end
@@ -3,13 +3,13 @@ module Regexp::Syntax
3
3
  VERSION_REGEXP = /#{VERSION_FORMAT}/
4
4
  VERSION_CONST_REGEXP = /\AV\d+_\d+(?:_\d+)?\z/
5
5
 
6
- class InvalidVersionNameError < SyntaxError
6
+ class InvalidVersionNameError < Regexp::Syntax::SyntaxError
7
7
  def initialize(name)
8
8
  super "Invalid version name '#{name}'. Expected format is '#{VERSION_FORMAT}'"
9
9
  end
10
10
  end
11
11
 
12
- class UnknownSyntaxNameError < SyntaxError
12
+ class UnknownSyntaxNameError < Regexp::Syntax::SyntaxError
13
13
  def initialize(name)
14
14
  super "Unknown syntax name '#{name}'."
15
15
  end
@@ -74,9 +74,9 @@ module Regexp::Syntax
74
74
  end
75
75
 
76
76
  def warn_if_future_version(const_name)
77
- return if comparable_version(const_name) < comparable_version('3.0.0')
77
+ return if comparable_version(const_name) < comparable_version('4.0.0')
78
78
 
79
- warn('This library has only been tested up to Ruby 2.x, '\
79
+ warn('This library has only been tested up to Ruby 3.x, '\
80
80
  "but you are running with #{const_get(const_name).inspect}")
81
81
  end
82
82
  end
@@ -5,9 +5,9 @@ module Regexp::Syntax
5
5
 
6
6
  implements :anchor, Anchor::All
7
7
  implements :assertion, Assertion::Lookahead
8
- implements :backref, [:number]
8
+ implements :backref, Backreference::V1_8_6
9
9
  implements :posixclass, PosixClass::Standard
10
- implements :group, Group::All
10
+ implements :group, Group::V1_8_6
11
11
  implements :meta, Meta::Extended
12
12
  implements :set, CharacterSet::All
13
13
  implements :type, CharacterType::Extended
@@ -4,7 +4,7 @@ module Regexp::Syntax
4
4
  super
5
5
 
6
6
  implements :assertion, Assertion::Lookbehind
7
- implements :backref, Backreference::All + SubexpressionCall::All
7
+ implements :backref, Backreference::V1_9_1 + SubexpressionCall::All
8
8
  implements :posixclass, PosixClass::Extensions
9
9
  implements :nonposixclass, PosixClass::All
10
10
  implements :escape, Escape::Unicode + Escape::Hex + Escape::Octal
@@ -0,0 +1,10 @@
1
+ module Regexp::Syntax
2
+ class V3_1_0 < Regexp::Syntax::V2_6_3
3
+ def initialize
4
+ super
5
+
6
+ implements :property, UnicodeProperty::V3_1_0
7
+ implements :nonproperty, UnicodeProperty::V3_1_0
8
+ end
9
+ end
10
+ end
@@ -1,9 +1,11 @@
1
- require File.expand_path('../syntax/tokens', __FILE__)
2
- require File.expand_path('../syntax/base', __FILE__)
3
- require File.expand_path('../syntax/any', __FILE__)
4
- require File.expand_path('../syntax/version_lookup', __FILE__)
5
- require File.expand_path('../syntax/versions', __FILE__)
1
+ require 'regexp_parser/error'
6
2
 
7
3
  module Regexp::Syntax
8
- class SyntaxError < StandardError; end
4
+ class SyntaxError < Regexp::Parser::Error; end
9
5
  end
6
+
7
+ require_relative 'syntax/token'
8
+ require_relative 'syntax/base'
9
+ require_relative 'syntax/any'
10
+ require_relative 'syntax/version_lookup'
11
+ require_relative 'syntax/versions'
@@ -1,14 +1,13 @@
1
1
  class Regexp
2
-
3
- TOKEN_KEYS = [
4
- :type,
5
- :token,
6
- :text,
7
- :ts,
8
- :te,
9
- :level,
10
- :set_level,
11
- :conditional_level
2
+ TOKEN_KEYS = %i[
3
+ type
4
+ token
5
+ text
6
+ ts
7
+ te
8
+ level
9
+ set_level
10
+ conditional_level
12
11
  ].freeze
13
12
 
14
13
  Token = Struct.new(*TOKEN_KEYS) do
@@ -21,15 +20,5 @@ class Regexp
21
20
  def length
22
21
  te - ts
23
22
  end
24
-
25
- if RUBY_VERSION < '2.0.0'
26
- def to_h
27
- members.inject({}) do |hash, member|
28
- hash[member.to_sym] = self[member]
29
- hash
30
- end
31
- end
32
- end
33
23
  end
34
-
35
24
  end
@@ -1,5 +1,5 @@
1
1
  class Regexp
2
2
  class Parser
3
- VERSION = '1.7.1'
3
+ VERSION = '2.2.1'
4
4
  end
5
5
  end
data/lib/regexp_parser.rb CHANGED
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  require 'regexp_parser/version'
4
2
  require 'regexp_parser/token'
5
3
  require 'regexp_parser/scanner'
@@ -2,35 +2,33 @@ $:.unshift File.join(File.dirname(__FILE__), 'lib')
2
2
 
3
3
  require 'regexp_parser/version'
4
4
 
5
- Gem::Specification.new do |gem|
6
- gem.name = 'regexp_parser'
7
- gem.version = ::Regexp::Parser::VERSION
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'regexp_parser'
7
+ spec.version = ::Regexp::Parser::VERSION
8
8
 
9
- gem.summary = "Scanner, lexer, parser for ruby's regular expressions"
10
- gem.description = 'A library for tokenizing, lexing, and parsing Ruby regular expressions.'
11
- gem.homepage = 'https://github.com/ammar/regexp_parser'
9
+ spec.summary = "Scanner, lexer, parser for ruby's regular expressions"
10
+ spec.description = 'A library for tokenizing, lexing, and parsing Ruby regular expressions.'
11
+ spec.homepage = 'https://github.com/ammar/regexp_parser'
12
12
 
13
- if gem.respond_to?(:metadata)
14
- gem.metadata = { 'issue_tracker' => 'https://github.com/ammar/regexp_parser/issues' }
15
- end
13
+ spec.metadata['bug_tracker_uri'] = "#{spec.homepage}/issues"
14
+ spec.metadata['changelog_uri'] = "#{spec.homepage}/blob/master/CHANGELOG.md"
15
+ spec.metadata['homepage_uri'] = spec.homepage
16
+ spec.metadata['source_code_uri'] = spec.homepage
17
+ spec.metadata['wiki_uri'] = "#{spec.homepage}/wiki"
16
18
 
17
- gem.authors = ['Ammar Ali']
18
- gem.email = ['ammarabuali@gmail.com']
19
+ spec.authors = ['Ammar Ali']
20
+ spec.email = ['ammarabuali@gmail.com']
19
21
 
20
- gem.license = 'MIT'
22
+ spec.license = 'MIT'
21
23
 
22
- gem.require_paths = ['lib']
24
+ spec.require_paths = ['lib']
23
25
 
24
- gem.files = Dir.glob('{lib,spec}/**/*.rb') +
25
- Dir.glob('lib/**/*.rl') +
26
- Dir.glob('lib/**/*.yml') +
27
- %w(Gemfile Rakefile LICENSE README.md CHANGELOG.md regexp_parser.gemspec)
26
+ spec.files = Dir.glob('lib/**/*.{csv,rb,rl}') +
27
+ %w[Gemfile Rakefile LICENSE README.md CHANGELOG.md regexp_parser.gemspec]
28
28
 
29
- gem.test_files = Dir.glob('spec/**/*.rb')
29
+ spec.rdoc_options = ["--inline-source", "--charset=UTF-8"]
30
30
 
31
- gem.rdoc_options = ["--inline-source", "--charset=UTF-8"]
31
+ spec.platform = Gem::Platform::RUBY
32
32
 
33
- gem.platform = Gem::Platform::RUBY
34
-
35
- gem.required_ruby_version = '>= 1.9.1'
33
+ spec.required_ruby_version = '>= 2.0.0'
36
34
  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: 1.7.1
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ammar Ali
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-07 00:00:00.000000000 Z
11
+ date: 2022-02-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
14
14
  email:
@@ -23,12 +23,17 @@ files:
23
23
  - README.md
24
24
  - Rakefile
25
25
  - lib/regexp_parser.rb
26
+ - lib/regexp_parser/error.rb
26
27
  - lib/regexp_parser/expression.rb
28
+ - lib/regexp_parser/expression/base.rb
27
29
  - lib/regexp_parser/expression/classes/alternation.rb
28
30
  - lib/regexp_parser/expression/classes/anchor.rb
29
- - lib/regexp_parser/expression/classes/backref.rb
31
+ - lib/regexp_parser/expression/classes/backreference.rb
32
+ - lib/regexp_parser/expression/classes/character_set.rb
33
+ - lib/regexp_parser/expression/classes/character_set/intersection.rb
34
+ - lib/regexp_parser/expression/classes/character_set/range.rb
30
35
  - lib/regexp_parser/expression/classes/conditional.rb
31
- - lib/regexp_parser/expression/classes/escape.rb
36
+ - lib/regexp_parser/expression/classes/escape_sequence.rb
32
37
  - lib/regexp_parser/expression/classes/free_space.rb
33
38
  - lib/regexp_parser/expression/classes/group.rb
34
39
  - lib/regexp_parser/expression/classes/keep.rb
@@ -36,9 +41,6 @@ files:
36
41
  - lib/regexp_parser/expression/classes/posix_class.rb
37
42
  - lib/regexp_parser/expression/classes/property.rb
38
43
  - lib/regexp_parser/expression/classes/root.rb
39
- - lib/regexp_parser/expression/classes/set.rb
40
- - lib/regexp_parser/expression/classes/set/intersection.rb
41
- - lib/regexp_parser/expression/classes/set/range.rb
42
44
  - lib/regexp_parser/expression/classes/type.rb
43
45
  - lib/regexp_parser/expression/methods/match.rb
44
46
  - lib/regexp_parser/expression/methods/match_length.rb
@@ -54,27 +56,27 @@ files:
54
56
  - lib/regexp_parser/parser.rb
55
57
  - lib/regexp_parser/scanner.rb
56
58
  - lib/regexp_parser/scanner/char_type.rl
57
- - lib/regexp_parser/scanner/properties/long.yml
58
- - lib/regexp_parser/scanner/properties/short.yml
59
+ - lib/regexp_parser/scanner/properties/long.csv
60
+ - lib/regexp_parser/scanner/properties/short.csv
59
61
  - lib/regexp_parser/scanner/property.rl
60
62
  - lib/regexp_parser/scanner/scanner.rl
61
63
  - lib/regexp_parser/syntax.rb
62
64
  - lib/regexp_parser/syntax/any.rb
63
65
  - lib/regexp_parser/syntax/base.rb
64
- - lib/regexp_parser/syntax/tokens.rb
65
- - lib/regexp_parser/syntax/tokens/anchor.rb
66
- - lib/regexp_parser/syntax/tokens/assertion.rb
67
- - lib/regexp_parser/syntax/tokens/backref.rb
68
- - lib/regexp_parser/syntax/tokens/character_set.rb
69
- - lib/regexp_parser/syntax/tokens/character_type.rb
70
- - lib/regexp_parser/syntax/tokens/conditional.rb
71
- - lib/regexp_parser/syntax/tokens/escape.rb
72
- - lib/regexp_parser/syntax/tokens/group.rb
73
- - lib/regexp_parser/syntax/tokens/keep.rb
74
- - lib/regexp_parser/syntax/tokens/meta.rb
75
- - lib/regexp_parser/syntax/tokens/posix_class.rb
76
- - lib/regexp_parser/syntax/tokens/quantifier.rb
77
- - lib/regexp_parser/syntax/tokens/unicode_property.rb
66
+ - lib/regexp_parser/syntax/token.rb
67
+ - lib/regexp_parser/syntax/token/anchor.rb
68
+ - lib/regexp_parser/syntax/token/assertion.rb
69
+ - lib/regexp_parser/syntax/token/backreference.rb
70
+ - lib/regexp_parser/syntax/token/character_set.rb
71
+ - lib/regexp_parser/syntax/token/character_type.rb
72
+ - lib/regexp_parser/syntax/token/conditional.rb
73
+ - lib/regexp_parser/syntax/token/escape.rb
74
+ - lib/regexp_parser/syntax/token/group.rb
75
+ - lib/regexp_parser/syntax/token/keep.rb
76
+ - lib/regexp_parser/syntax/token/meta.rb
77
+ - lib/regexp_parser/syntax/token/posix_class.rb
78
+ - lib/regexp_parser/syntax/token/quantifier.rb
79
+ - lib/regexp_parser/syntax/token/unicode_property.rb
78
80
  - lib/regexp_parser/syntax/version_lookup.rb
79
81
  - lib/regexp_parser/syntax/versions.rb
80
82
  - lib/regexp_parser/syntax/versions/1.8.6.rb
@@ -89,83 +91,19 @@ files:
89
91
  - lib/regexp_parser/syntax/versions/2.6.0.rb
90
92
  - lib/regexp_parser/syntax/versions/2.6.2.rb
91
93
  - lib/regexp_parser/syntax/versions/2.6.3.rb
94
+ - lib/regexp_parser/syntax/versions/3.1.0.rb
92
95
  - lib/regexp_parser/token.rb
93
96
  - lib/regexp_parser/version.rb
94
97
  - regexp_parser.gemspec
95
- - spec/expression/base_spec.rb
96
- - spec/expression/clone_spec.rb
97
- - spec/expression/conditional_spec.rb
98
- - spec/expression/free_space_spec.rb
99
- - spec/expression/methods/match_length_spec.rb
100
- - spec/expression/methods/match_spec.rb
101
- - spec/expression/methods/strfregexp_spec.rb
102
- - spec/expression/methods/tests_spec.rb
103
- - spec/expression/methods/traverse_spec.rb
104
- - spec/expression/options_spec.rb
105
- - spec/expression/root_spec.rb
106
- - spec/expression/sequence_spec.rb
107
- - spec/expression/subexpression_spec.rb
108
- - spec/expression/to_h_spec.rb
109
- - spec/expression/to_s_spec.rb
110
- - spec/lexer/all_spec.rb
111
- - spec/lexer/conditionals_spec.rb
112
- - spec/lexer/delimiters_spec.rb
113
- - spec/lexer/escapes_spec.rb
114
- - spec/lexer/keep_spec.rb
115
- - spec/lexer/literals_spec.rb
116
- - spec/lexer/nesting_spec.rb
117
- - spec/lexer/refcalls_spec.rb
118
- - spec/parser/all_spec.rb
119
- - spec/parser/alternation_spec.rb
120
- - spec/parser/anchors_spec.rb
121
- - spec/parser/conditionals_spec.rb
122
- - spec/parser/errors_spec.rb
123
- - spec/parser/escapes_spec.rb
124
- - spec/parser/free_space_spec.rb
125
- - spec/parser/groups_spec.rb
126
- - spec/parser/keep_spec.rb
127
- - spec/parser/posix_classes_spec.rb
128
- - spec/parser/properties_spec.rb
129
- - spec/parser/quantifiers_spec.rb
130
- - spec/parser/refcalls_spec.rb
131
- - spec/parser/set/intersections_spec.rb
132
- - spec/parser/set/ranges_spec.rb
133
- - spec/parser/sets_spec.rb
134
- - spec/parser/types_spec.rb
135
- - spec/scanner/all_spec.rb
136
- - spec/scanner/anchors_spec.rb
137
- - spec/scanner/conditionals_spec.rb
138
- - spec/scanner/delimiters_spec.rb
139
- - spec/scanner/errors_spec.rb
140
- - spec/scanner/escapes_spec.rb
141
- - spec/scanner/free_space_spec.rb
142
- - spec/scanner/groups_spec.rb
143
- - spec/scanner/keep_spec.rb
144
- - spec/scanner/literals_spec.rb
145
- - spec/scanner/meta_spec.rb
146
- - spec/scanner/properties_spec.rb
147
- - spec/scanner/quantifiers_spec.rb
148
- - spec/scanner/refcalls_spec.rb
149
- - spec/scanner/sets_spec.rb
150
- - spec/scanner/types_spec.rb
151
- - spec/spec_helper.rb
152
- - spec/support/runner.rb
153
- - spec/support/shared_examples.rb
154
- - spec/support/warning_extractor.rb
155
- - spec/syntax/syntax_spec.rb
156
- - spec/syntax/syntax_token_map_spec.rb
157
- - spec/syntax/versions/1.8.6_spec.rb
158
- - spec/syntax/versions/1.9.1_spec.rb
159
- - spec/syntax/versions/1.9.3_spec.rb
160
- - spec/syntax/versions/2.0.0_spec.rb
161
- - spec/syntax/versions/2.2.0_spec.rb
162
- - spec/syntax/versions/aliases_spec.rb
163
- - spec/token/token_spec.rb
164
98
  homepage: https://github.com/ammar/regexp_parser
165
99
  licenses:
166
100
  - MIT
167
101
  metadata:
168
- issue_tracker: https://github.com/ammar/regexp_parser/issues
102
+ bug_tracker_uri: https://github.com/ammar/regexp_parser/issues
103
+ changelog_uri: https://github.com/ammar/regexp_parser/blob/master/CHANGELOG.md
104
+ homepage_uri: https://github.com/ammar/regexp_parser
105
+ source_code_uri: https://github.com/ammar/regexp_parser
106
+ wiki_uri: https://github.com/ammar/regexp_parser/wiki
169
107
  post_install_message:
170
108
  rdoc_options:
171
109
  - "--inline-source"
@@ -176,84 +114,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
114
  requirements:
177
115
  - - ">="
178
116
  - !ruby/object:Gem::Version
179
- version: 1.9.1
117
+ version: 2.0.0
180
118
  required_rubygems_version: !ruby/object:Gem::Requirement
181
119
  requirements:
182
120
  - - ">="
183
121
  - !ruby/object:Gem::Version
184
122
  version: '0'
185
123
  requirements: []
186
- rubygems_version: 3.1.2
124
+ rubygems_version: 3.3.3
187
125
  signing_key:
188
126
  specification_version: 4
189
127
  summary: Scanner, lexer, parser for ruby's regular expressions
190
- test_files:
191
- - spec/token/token_spec.rb
192
- - spec/spec_helper.rb
193
- - spec/lexer/escapes_spec.rb
194
- - spec/lexer/keep_spec.rb
195
- - spec/lexer/all_spec.rb
196
- - spec/lexer/conditionals_spec.rb
197
- - spec/lexer/nesting_spec.rb
198
- - spec/lexer/delimiters_spec.rb
199
- - spec/lexer/refcalls_spec.rb
200
- - spec/lexer/literals_spec.rb
201
- - spec/parser/escapes_spec.rb
202
- - spec/parser/properties_spec.rb
203
- - spec/parser/sets_spec.rb
204
- - spec/parser/free_space_spec.rb
205
- - spec/parser/keep_spec.rb
206
- - spec/parser/all_spec.rb
207
- - spec/parser/conditionals_spec.rb
208
- - spec/parser/types_spec.rb
209
- - spec/parser/anchors_spec.rb
210
- - spec/parser/alternation_spec.rb
211
- - spec/parser/posix_classes_spec.rb
212
- - spec/parser/set/ranges_spec.rb
213
- - spec/parser/set/intersections_spec.rb
214
- - spec/parser/errors_spec.rb
215
- - spec/parser/refcalls_spec.rb
216
- - spec/parser/groups_spec.rb
217
- - spec/parser/quantifiers_spec.rb
218
- - spec/support/warning_extractor.rb
219
- - spec/support/shared_examples.rb
220
- - spec/support/runner.rb
221
- - spec/expression/subexpression_spec.rb
222
- - spec/expression/methods/match_spec.rb
223
- - spec/expression/methods/match_length_spec.rb
224
- - spec/expression/methods/traverse_spec.rb
225
- - spec/expression/methods/strfregexp_spec.rb
226
- - spec/expression/methods/tests_spec.rb
227
- - spec/expression/free_space_spec.rb
228
- - spec/expression/options_spec.rb
229
- - spec/expression/to_s_spec.rb
230
- - spec/expression/root_spec.rb
231
- - spec/expression/sequence_spec.rb
232
- - spec/expression/clone_spec.rb
233
- - spec/expression/to_h_spec.rb
234
- - spec/expression/conditional_spec.rb
235
- - spec/expression/base_spec.rb
236
- - spec/syntax/syntax_spec.rb
237
- - spec/syntax/syntax_token_map_spec.rb
238
- - spec/syntax/versions/1.9.3_spec.rb
239
- - spec/syntax/versions/2.2.0_spec.rb
240
- - spec/syntax/versions/1.9.1_spec.rb
241
- - spec/syntax/versions/2.0.0_spec.rb
242
- - spec/syntax/versions/1.8.6_spec.rb
243
- - spec/syntax/versions/aliases_spec.rb
244
- - spec/scanner/escapes_spec.rb
245
- - spec/scanner/properties_spec.rb
246
- - spec/scanner/sets_spec.rb
247
- - spec/scanner/free_space_spec.rb
248
- - spec/scanner/keep_spec.rb
249
- - spec/scanner/all_spec.rb
250
- - spec/scanner/conditionals_spec.rb
251
- - spec/scanner/types_spec.rb
252
- - spec/scanner/anchors_spec.rb
253
- - spec/scanner/meta_spec.rb
254
- - spec/scanner/errors_spec.rb
255
- - spec/scanner/delimiters_spec.rb
256
- - spec/scanner/refcalls_spec.rb
257
- - spec/scanner/groups_spec.rb
258
- - spec/scanner/literals_spec.rb
259
- - spec/scanner/quantifiers_spec.rb
128
+ test_files: []