regexp_parser 1.7.1 → 2.2.1

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