regexp_parser 0.4.13 → 0.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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +15 -0
  3. data/lib/regexp_parser/expression.rb +43 -51
  4. data/lib/regexp_parser/expression/classes/alternation.rb +6 -7
  5. data/lib/regexp_parser/expression/classes/character_class.rb +11 -0
  6. data/lib/regexp_parser/expression/classes/conditional.rb +10 -18
  7. data/lib/regexp_parser/expression/classes/free_space.rb +1 -1
  8. data/lib/regexp_parser/expression/classes/group.rb +9 -21
  9. data/lib/regexp_parser/expression/classes/property.rb +2 -2
  10. data/lib/regexp_parser/expression/classes/set.rb +1 -12
  11. data/lib/regexp_parser/expression/methods/traverse.rb +1 -1
  12. data/lib/regexp_parser/expression/quantifier.rb +9 -9
  13. data/lib/regexp_parser/expression/sequence.rb +5 -4
  14. data/lib/regexp_parser/expression/subexpression.rb +16 -59
  15. data/lib/regexp_parser/lexer.rb +31 -27
  16. data/lib/regexp_parser/parser.rb +179 -179
  17. data/lib/regexp_parser/scanner.rb +172 -166
  18. data/lib/regexp_parser/scanner/scanner.rl +44 -38
  19. data/lib/regexp_parser/syntax.rb +2 -53
  20. data/lib/regexp_parser/syntax/base.rb +13 -24
  21. data/lib/regexp_parser/syntax/tokens/character_class.rb +16 -0
  22. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +26 -26
  23. data/lib/regexp_parser/syntax/version_lookup.rb +82 -0
  24. data/lib/regexp_parser/syntax/versions.rb +1 -5
  25. data/lib/regexp_parser/syntax/versions/1.8.6.rb +30 -0
  26. data/lib/regexp_parser/syntax/versions/1.9.1.rb +36 -0
  27. data/lib/regexp_parser/syntax/versions/1.9.3.rb +11 -0
  28. data/lib/regexp_parser/syntax/versions/2.0.0.rb +20 -0
  29. data/lib/regexp_parser/syntax/versions/2.2.0.rb +10 -0
  30. data/lib/regexp_parser/syntax/versions/2.3.0.rb +10 -0
  31. data/lib/regexp_parser/syntax/versions/2.4.0.rb +10 -0
  32. data/lib/regexp_parser/syntax/versions/2.4.1.rb +9 -0
  33. data/lib/regexp_parser/syntax/versions/2.5.0.rb +10 -0
  34. data/lib/regexp_parser/token.rb +6 -29
  35. data/lib/regexp_parser/version.rb +1 -1
  36. data/test/expression/test_strfregexp.rb +7 -0
  37. data/test/expression/test_to_h.rb +6 -0
  38. data/test/parser/test_properties.rb +12 -4
  39. data/test/support/warning_extractor.rb +3 -1
  40. data/test/syntax/test_all.rb +1 -1
  41. data/test/syntax/test_syntax.rb +5 -9
  42. data/test/syntax/{ruby → versions}/test_1.8.rb +14 -14
  43. data/test/syntax/{ruby → versions}/test_1.9.1.rb +7 -8
  44. data/test/syntax/{ruby → versions}/test_1.9.3.rb +7 -7
  45. data/test/syntax/versions/test_2.0.0.rb +37 -0
  46. data/test/syntax/{ruby → versions}/test_2.2.0.rb +7 -7
  47. data/test/syntax/versions/test_aliases.rb +129 -0
  48. data/test/syntax/{ruby → versions}/test_all.rb +1 -1
  49. metadata +73 -113
  50. data/lib/regexp_parser/syntax/ruby/1.8.6.rb +0 -37
  51. data/lib/regexp_parser/syntax/ruby/1.8.7.rb +0 -14
  52. data/lib/regexp_parser/syntax/ruby/1.8.rb +0 -13
  53. data/lib/regexp_parser/syntax/ruby/1.9.1.rb +0 -45
  54. data/lib/regexp_parser/syntax/ruby/1.9.2.rb +0 -9
  55. data/lib/regexp_parser/syntax/ruby/1.9.3.rb +0 -19
  56. data/lib/regexp_parser/syntax/ruby/1.9.rb +0 -8
  57. data/lib/regexp_parser/syntax/ruby/2.0.0.rb +0 -23
  58. data/lib/regexp_parser/syntax/ruby/2.0.rb +0 -8
  59. data/lib/regexp_parser/syntax/ruby/2.1.0.rb +0 -13
  60. data/lib/regexp_parser/syntax/ruby/2.1.10.rb +0 -13
  61. data/lib/regexp_parser/syntax/ruby/2.1.2.rb +0 -13
  62. data/lib/regexp_parser/syntax/ruby/2.1.3.rb +0 -13
  63. data/lib/regexp_parser/syntax/ruby/2.1.4.rb +0 -13
  64. data/lib/regexp_parser/syntax/ruby/2.1.5.rb +0 -13
  65. data/lib/regexp_parser/syntax/ruby/2.1.6.rb +0 -13
  66. data/lib/regexp_parser/syntax/ruby/2.1.7.rb +0 -13
  67. data/lib/regexp_parser/syntax/ruby/2.1.8.rb +0 -13
  68. data/lib/regexp_parser/syntax/ruby/2.1.9.rb +0 -13
  69. data/lib/regexp_parser/syntax/ruby/2.1.rb +0 -8
  70. data/lib/regexp_parser/syntax/ruby/2.2.0.rb +0 -16
  71. data/lib/regexp_parser/syntax/ruby/2.2.1.rb +0 -13
  72. data/lib/regexp_parser/syntax/ruby/2.2.10.rb +0 -13
  73. data/lib/regexp_parser/syntax/ruby/2.2.2.rb +0 -13
  74. data/lib/regexp_parser/syntax/ruby/2.2.3.rb +0 -13
  75. data/lib/regexp_parser/syntax/ruby/2.2.4.rb +0 -13
  76. data/lib/regexp_parser/syntax/ruby/2.2.5.rb +0 -13
  77. data/lib/regexp_parser/syntax/ruby/2.2.6.rb +0 -13
  78. data/lib/regexp_parser/syntax/ruby/2.2.7.rb +0 -13
  79. data/lib/regexp_parser/syntax/ruby/2.2.8.rb +0 -13
  80. data/lib/regexp_parser/syntax/ruby/2.2.9.rb +0 -13
  81. data/lib/regexp_parser/syntax/ruby/2.2.rb +0 -8
  82. data/lib/regexp_parser/syntax/ruby/2.3.0.rb +0 -16
  83. data/lib/regexp_parser/syntax/ruby/2.3.1.rb +0 -13
  84. data/lib/regexp_parser/syntax/ruby/2.3.2.rb +0 -13
  85. data/lib/regexp_parser/syntax/ruby/2.3.3.rb +0 -13
  86. data/lib/regexp_parser/syntax/ruby/2.3.4.rb +0 -13
  87. data/lib/regexp_parser/syntax/ruby/2.3.5.rb +0 -13
  88. data/lib/regexp_parser/syntax/ruby/2.3.6.rb +0 -13
  89. data/lib/regexp_parser/syntax/ruby/2.3.7.rb +0 -13
  90. data/lib/regexp_parser/syntax/ruby/2.3.rb +0 -8
  91. data/lib/regexp_parser/syntax/ruby/2.4.0.rb +0 -16
  92. data/lib/regexp_parser/syntax/ruby/2.4.1.rb +0 -15
  93. data/lib/regexp_parser/syntax/ruby/2.4.2.rb +0 -13
  94. data/lib/regexp_parser/syntax/ruby/2.4.3.rb +0 -13
  95. data/lib/regexp_parser/syntax/ruby/2.4.4.rb +0 -13
  96. data/lib/regexp_parser/syntax/ruby/2.4.rb +0 -8
  97. data/lib/regexp_parser/syntax/ruby/2.5.0.rb +0 -16
  98. data/lib/regexp_parser/syntax/ruby/2.5.1.rb +0 -13
  99. data/lib/regexp_parser/syntax/ruby/2.5.rb +0 -8
  100. data/lib/regexp_parser/syntax/ruby/2.6.0.rb +0 -13
  101. data/lib/regexp_parser/syntax/ruby/2.6.rb +0 -8
  102. data/test/syntax/ruby/test_2.0.0.rb +0 -32
  103. data/test/syntax/ruby/test_files.rb +0 -353
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../helpers", __FILE__)
2
2
 
3
- class TestSyntaxRuby_V191 < Test::Unit::TestCase
3
+ class TestSyntaxV1_9_1 < Test::Unit::TestCase
4
4
  include Regexp::Syntax::Token
5
5
 
6
6
  def setup
@@ -8,19 +8,18 @@ class TestSyntaxRuby_V191 < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  tests = {
11
- :implements => {
12
- :escape => [
11
+ implements: {
12
+ escape: [
13
13
  Escape::Backreference + Escape::ASCII + Escape::Meta + Escape::Unicode +
14
14
  Escape::Hex + Escape::Octal
15
15
  ].flatten,
16
16
 
17
- :type => [
17
+ type: [
18
18
  CharacterType::Hex
19
19
  ].flatten,
20
20
 
21
- :quantifier => [
22
- Quantifier::Greedy + Quantifier::Reluctant +
23
- Quantifier::Possessive
21
+ quantifier: [
22
+ Quantifier::Greedy + Quantifier::Reluctant + Quantifier::Possessive
24
23
  ].flatten,
25
24
  },
26
25
  }
@@ -28,7 +27,7 @@ class TestSyntaxRuby_V191 < Test::Unit::TestCase
28
27
  tests.each do |method, types|
29
28
  types.each do |type, tokens|
30
29
  tokens.each do |token|
31
- define_method "test_syntax_ruby_v191_#{method}_#{type}_#{token}" do
30
+ define_method "test_syntax_V1_9_1_#{method}_#{type}_#{token}" do
32
31
  assert_equal true, @syntax.implements?(type, token)
33
32
  end
34
33
  end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../helpers", __FILE__)
2
2
 
3
- class TestSyntaxRuby_V193 < Test::Unit::TestCase
3
+ class TestSyntaxV1_9_3 < Test::Unit::TestCase
4
4
  include Regexp::Syntax::Token
5
5
 
6
6
  def setup
@@ -8,13 +8,13 @@ class TestSyntaxRuby_V193 < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  tests = {
11
- :implements => {
12
- :property => [
13
- UnicodeProperty::Script_V193 + UnicodeProperty::Age_V193
11
+ implements: {
12
+ property: [
13
+ UnicodeProperty::Script_V1_9_3 + UnicodeProperty::Age_V1_9_3
14
14
  ].flatten,
15
15
 
16
- :nonproperty => [
17
- UnicodeProperty::Script_V193 + UnicodeProperty::Age_V193
16
+ nonproperty: [
17
+ UnicodeProperty::Script_V1_9_3 + UnicodeProperty::Age_V1_9_3
18
18
  ].flatten,
19
19
  },
20
20
  }
@@ -22,7 +22,7 @@ class TestSyntaxRuby_V193 < Test::Unit::TestCase
22
22
  tests.each do |method, types|
23
23
  types.each do |type, tokens|
24
24
  tokens.each do |token|
25
- define_method "test_syntax_ruby_v193_#{method}_#{type}_#{token}" do
25
+ define_method "test_syntax_V1_9_3_#{method}_#{type}_#{token}" do
26
26
  assert_equal true, @syntax.implements?(type, token)
27
27
  end
28
28
  end
@@ -0,0 +1,37 @@
1
+ require File.expand_path("../../../helpers", __FILE__)
2
+
3
+ class TestSyntaxV2_0_0 < Test::Unit::TestCase
4
+ include Regexp::Syntax::Token
5
+
6
+ def setup
7
+ @syntax = Regexp::Syntax.new 'ruby/2.0.0'
8
+ end
9
+
10
+ tests = {
11
+ implements: {
12
+ property: [
13
+ UnicodeProperty::Age_V2_0_0
14
+ ].flatten,
15
+
16
+ nonproperty: [
17
+ UnicodeProperty::Age_V2_0_0
18
+ ].flatten,
19
+ },
20
+ excludes: {
21
+ property: [:newline],
22
+ nonproperty: [:newline],
23
+ }
24
+ }
25
+
26
+ tests.each do |method, types|
27
+ expected = method == :excludes ? false : true
28
+
29
+ types.each do |type, tokens|
30
+ tokens.each do |token|
31
+ define_method "test_syntax_ruby_V2_0_0_#{method}_#{type}_#{token}" do
32
+ assert_equal expected, @syntax.implements?(type, token)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../helpers", __FILE__)
2
2
 
3
- class TestSyntaxRuby_V220 < Test::Unit::TestCase
3
+ class TestSyntaxV2_2_0 < Test::Unit::TestCase
4
4
  include Regexp::Syntax::Token
5
5
 
6
6
  def setup
@@ -8,13 +8,13 @@ class TestSyntaxRuby_V220 < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  tests = {
11
- :implements => {
12
- :property => [
13
- UnicodeProperty::Script_V220 + UnicodeProperty::Age_V220
11
+ implements: {
12
+ property: [
13
+ UnicodeProperty::Script_V2_2_0 + UnicodeProperty::Age_V2_2_0
14
14
  ].flatten,
15
15
 
16
- :nonproperty => [
17
- UnicodeProperty::Script_V220 + UnicodeProperty::Age_V220
16
+ nonproperty: [
17
+ UnicodeProperty::Script_V2_2_0 + UnicodeProperty::Age_V2_2_0
18
18
  ].flatten,
19
19
  },
20
20
  }
@@ -22,7 +22,7 @@ class TestSyntaxRuby_V220 < Test::Unit::TestCase
22
22
  tests.each do |method, types|
23
23
  types.each do |type, tokens|
24
24
  tokens.each do |token|
25
- define_method "test_syntax_ruby_v220_#{method}_#{type}_#{token}" do
25
+ define_method "test_syntax_V2_2_0_#{method}_#{type}_#{token}" do
26
26
  assert_equal true, @syntax.implements?(type, token)
27
27
  end
28
28
  end
@@ -0,0 +1,129 @@
1
+ require File.expand_path("../../../helpers", __FILE__)
2
+
3
+ class TestSyntaxAliases < Test::Unit::TestCase
4
+ # 1.8 syntax
5
+ def test_syntax_alias_1_8_6
6
+ syntax = Regexp::Syntax.new 'ruby/1.8.6'
7
+
8
+ assert syntax.is_a?(Regexp::Syntax::V1_8_6)
9
+ end
10
+
11
+ def test_syntax_alias_1_8_alias
12
+ syntax = Regexp::Syntax.new 'ruby/1.8'
13
+
14
+ assert syntax.is_a?(Regexp::Syntax::V1_8_6)
15
+ end
16
+
17
+ # 1.9 syntax
18
+ def test_syntax_alias_1_9_1
19
+ syntax = Regexp::Syntax.new 'ruby/1.9.1'
20
+
21
+ assert syntax.is_a?(Regexp::Syntax::V1_9_1)
22
+ end
23
+
24
+ def test_syntax_alias_1_9_alias
25
+ syntax = Regexp::Syntax.new 'ruby/1.9'
26
+
27
+ assert syntax.is_a?(Regexp::Syntax::V1_9_3)
28
+ end
29
+
30
+ # 2.0 syntax
31
+ def test_syntax_alias_2_0_0
32
+ syntax = Regexp::Syntax.new 'ruby/2.0.0'
33
+
34
+ assert syntax.is_a?(Regexp::Syntax::V1_9)
35
+ end
36
+
37
+ def test_syntax_alias_2_0_alias
38
+ syntax = Regexp::Syntax.new 'ruby/2.0'
39
+
40
+ assert syntax.is_a?(Regexp::Syntax::V2_0_0)
41
+ end
42
+
43
+ # 2.1 syntax
44
+ def test_syntax_alias_2_1_alias
45
+ syntax = Regexp::Syntax.new 'ruby/2.1'
46
+
47
+ assert syntax.is_a?(Regexp::Syntax::V2_0_0)
48
+ end
49
+
50
+ # 2.2 syntax
51
+ def test_syntax_alias_2_2_0
52
+ syntax = Regexp::Syntax.new 'ruby/2.2.0'
53
+
54
+ assert syntax.is_a?(Regexp::Syntax::V2_0_0)
55
+ end
56
+
57
+ def test_syntax_alias_2_2_10
58
+ syntax = Regexp::Syntax.new 'ruby/2.2.10'
59
+
60
+ assert syntax.is_a?(Regexp::Syntax::V2_0_0)
61
+ end
62
+
63
+ def test_syntax_alias_2_2_alias
64
+ syntax = Regexp::Syntax.new 'ruby/2.2'
65
+
66
+ assert syntax.is_a?(Regexp::Syntax::V2_0_0)
67
+ end
68
+
69
+ # 2.3 syntax
70
+ def test_syntax_alias_2_3_0
71
+ syntax = Regexp::Syntax.new 'ruby/2.3.0'
72
+
73
+ assert syntax.is_a?(Regexp::Syntax::V2_3_0)
74
+ end
75
+
76
+ def test_syntax_alias_2_3
77
+ syntax = Regexp::Syntax.new 'ruby/2.3'
78
+
79
+ assert syntax.is_a?(Regexp::Syntax::V2_3_0)
80
+ end
81
+
82
+ # 2.4 syntax
83
+ def test_syntax_alias_2_4_0
84
+ syntax = Regexp::Syntax.new 'ruby/2.4.0'
85
+
86
+ assert syntax.is_a?(Regexp::Syntax::V2_4_0)
87
+ end
88
+
89
+ def test_syntax_alias_2_4_1
90
+ syntax = Regexp::Syntax.new 'ruby/2.4.1'
91
+
92
+ assert syntax.is_a?(Regexp::Syntax::V2_4_1)
93
+ end
94
+
95
+ # 2.5 syntax
96
+ def test_syntax_alias_2_5_0
97
+ syntax = Regexp::Syntax.new 'ruby/2.5.0'
98
+
99
+ assert syntax.is_a?(Regexp::Syntax::V2_4_1)
100
+ assert syntax.is_a?(Regexp::Syntax::V2_5_0)
101
+ end
102
+
103
+ def test_syntax_alias_2_5
104
+ syntax = Regexp::Syntax.new 'ruby/2.5'
105
+
106
+ assert syntax.is_a?(Regexp::Syntax::V2_5_0)
107
+ end
108
+
109
+ # 2.6 syntax
110
+ def test_syntax_alias_2_6_0
111
+ syntax = Regexp::Syntax.new 'ruby/2.6.0'
112
+
113
+ assert syntax.is_a?(Regexp::Syntax::V2_5_0)
114
+ assert syntax.is_a?(Regexp::Syntax::V2_6_0)
115
+ end
116
+
117
+ def test_syntax_alias_2_6
118
+ syntax = Regexp::Syntax.new 'ruby/2.6'
119
+
120
+ assert syntax.is_a?(Regexp::Syntax::V2_5_0)
121
+ end
122
+
123
+ def test_future_alias_warning
124
+ _, stderr_output = capture_output { Regexp::Syntax.new 'ruby/5.0' }
125
+
126
+ assert_match(/This library .* but you are running .* \(feature set of .*\)/,
127
+ stderr_output)
128
+ end
129
+ end
@@ -1,5 +1,5 @@
1
1
  require File.expand_path("../../../helpers", __FILE__)
2
2
 
3
- %w{files 1.8 1.9.1 1.9.3 2.0.0 2.2.0}.each do|tc|
3
+ %w{aliases 1.8 1.9.1 1.9.3 2.0.0 2.2.0}.each do|tc|
4
4
  require File.expand_path("../test_#{tc}", __FILE__)
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: 0.4.13
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ammar Ali
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-04 00:00:00.000000000 Z
11
+ date: 2018-04-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
14
14
  email:
@@ -27,6 +27,7 @@ files:
27
27
  - lib/regexp_parser/expression/classes/alternation.rb
28
28
  - lib/regexp_parser/expression/classes/anchor.rb
29
29
  - lib/regexp_parser/expression/classes/backref.rb
30
+ - lib/regexp_parser/expression/classes/character_class.rb
30
31
  - lib/regexp_parser/expression/classes/conditional.rb
31
32
  - lib/regexp_parser/expression/classes/escape.rb
32
33
  - lib/regexp_parser/expression/classes/free_space.rb
@@ -51,62 +52,11 @@ files:
51
52
  - lib/regexp_parser/syntax.rb
52
53
  - lib/regexp_parser/syntax/any.rb
53
54
  - lib/regexp_parser/syntax/base.rb
54
- - lib/regexp_parser/syntax/ruby/1.8.6.rb
55
- - lib/regexp_parser/syntax/ruby/1.8.7.rb
56
- - lib/regexp_parser/syntax/ruby/1.8.rb
57
- - lib/regexp_parser/syntax/ruby/1.9.1.rb
58
- - lib/regexp_parser/syntax/ruby/1.9.2.rb
59
- - lib/regexp_parser/syntax/ruby/1.9.3.rb
60
- - lib/regexp_parser/syntax/ruby/1.9.rb
61
- - lib/regexp_parser/syntax/ruby/2.0.0.rb
62
- - lib/regexp_parser/syntax/ruby/2.0.rb
63
- - lib/regexp_parser/syntax/ruby/2.1.0.rb
64
- - lib/regexp_parser/syntax/ruby/2.1.10.rb
65
- - lib/regexp_parser/syntax/ruby/2.1.2.rb
66
- - lib/regexp_parser/syntax/ruby/2.1.3.rb
67
- - lib/regexp_parser/syntax/ruby/2.1.4.rb
68
- - lib/regexp_parser/syntax/ruby/2.1.5.rb
69
- - lib/regexp_parser/syntax/ruby/2.1.6.rb
70
- - lib/regexp_parser/syntax/ruby/2.1.7.rb
71
- - lib/regexp_parser/syntax/ruby/2.1.8.rb
72
- - lib/regexp_parser/syntax/ruby/2.1.9.rb
73
- - lib/regexp_parser/syntax/ruby/2.1.rb
74
- - lib/regexp_parser/syntax/ruby/2.2.0.rb
75
- - lib/regexp_parser/syntax/ruby/2.2.1.rb
76
- - lib/regexp_parser/syntax/ruby/2.2.10.rb
77
- - lib/regexp_parser/syntax/ruby/2.2.2.rb
78
- - lib/regexp_parser/syntax/ruby/2.2.3.rb
79
- - lib/regexp_parser/syntax/ruby/2.2.4.rb
80
- - lib/regexp_parser/syntax/ruby/2.2.5.rb
81
- - lib/regexp_parser/syntax/ruby/2.2.6.rb
82
- - lib/regexp_parser/syntax/ruby/2.2.7.rb
83
- - lib/regexp_parser/syntax/ruby/2.2.8.rb
84
- - lib/regexp_parser/syntax/ruby/2.2.9.rb
85
- - lib/regexp_parser/syntax/ruby/2.2.rb
86
- - lib/regexp_parser/syntax/ruby/2.3.0.rb
87
- - lib/regexp_parser/syntax/ruby/2.3.1.rb
88
- - lib/regexp_parser/syntax/ruby/2.3.2.rb
89
- - lib/regexp_parser/syntax/ruby/2.3.3.rb
90
- - lib/regexp_parser/syntax/ruby/2.3.4.rb
91
- - lib/regexp_parser/syntax/ruby/2.3.5.rb
92
- - lib/regexp_parser/syntax/ruby/2.3.6.rb
93
- - lib/regexp_parser/syntax/ruby/2.3.7.rb
94
- - lib/regexp_parser/syntax/ruby/2.3.rb
95
- - lib/regexp_parser/syntax/ruby/2.4.0.rb
96
- - lib/regexp_parser/syntax/ruby/2.4.1.rb
97
- - lib/regexp_parser/syntax/ruby/2.4.2.rb
98
- - lib/regexp_parser/syntax/ruby/2.4.3.rb
99
- - lib/regexp_parser/syntax/ruby/2.4.4.rb
100
- - lib/regexp_parser/syntax/ruby/2.4.rb
101
- - lib/regexp_parser/syntax/ruby/2.5.0.rb
102
- - lib/regexp_parser/syntax/ruby/2.5.1.rb
103
- - lib/regexp_parser/syntax/ruby/2.5.rb
104
- - lib/regexp_parser/syntax/ruby/2.6.0.rb
105
- - lib/regexp_parser/syntax/ruby/2.6.rb
106
55
  - lib/regexp_parser/syntax/tokens.rb
107
56
  - lib/regexp_parser/syntax/tokens/anchor.rb
108
57
  - lib/regexp_parser/syntax/tokens/assertion.rb
109
58
  - lib/regexp_parser/syntax/tokens/backref.rb
59
+ - lib/regexp_parser/syntax/tokens/character_class.rb
110
60
  - lib/regexp_parser/syntax/tokens/character_set.rb
111
61
  - lib/regexp_parser/syntax/tokens/character_type.rb
112
62
  - lib/regexp_parser/syntax/tokens/conditional.rb
@@ -116,7 +66,17 @@ files:
116
66
  - lib/regexp_parser/syntax/tokens/meta.rb
117
67
  - lib/regexp_parser/syntax/tokens/quantifier.rb
118
68
  - lib/regexp_parser/syntax/tokens/unicode_property.rb
69
+ - lib/regexp_parser/syntax/version_lookup.rb
119
70
  - lib/regexp_parser/syntax/versions.rb
71
+ - lib/regexp_parser/syntax/versions/1.8.6.rb
72
+ - lib/regexp_parser/syntax/versions/1.9.1.rb
73
+ - lib/regexp_parser/syntax/versions/1.9.3.rb
74
+ - lib/regexp_parser/syntax/versions/2.0.0.rb
75
+ - lib/regexp_parser/syntax/versions/2.2.0.rb
76
+ - lib/regexp_parser/syntax/versions/2.3.0.rb
77
+ - lib/regexp_parser/syntax/versions/2.4.0.rb
78
+ - lib/regexp_parser/syntax/versions/2.4.1.rb
79
+ - lib/regexp_parser/syntax/versions/2.5.0.rb
120
80
  - lib/regexp_parser/token.rb
121
81
  - lib/regexp_parser/version.rb
122
82
  - regexp_parser.gemspec
@@ -174,15 +134,15 @@ files:
174
134
  - test/support/disable_autotest.rb
175
135
  - test/support/runner.rb
176
136
  - test/support/warning_extractor.rb
177
- - test/syntax/ruby/test_1.8.rb
178
- - test/syntax/ruby/test_1.9.1.rb
179
- - test/syntax/ruby/test_1.9.3.rb
180
- - test/syntax/ruby/test_2.0.0.rb
181
- - test/syntax/ruby/test_2.2.0.rb
182
- - test/syntax/ruby/test_all.rb
183
- - test/syntax/ruby/test_files.rb
184
137
  - test/syntax/test_all.rb
185
138
  - test/syntax/test_syntax.rb
139
+ - test/syntax/versions/test_1.8.rb
140
+ - test/syntax/versions/test_1.9.1.rb
141
+ - test/syntax/versions/test_1.9.3.rb
142
+ - test/syntax/versions/test_2.0.0.rb
143
+ - test/syntax/versions/test_2.2.0.rb
144
+ - test/syntax/versions/test_aliases.rb
145
+ - test/syntax/versions/test_all.rb
186
146
  - test/test_all.rb
187
147
  - test/token/test_all.rb
188
148
  - test/token/test_token.rb
@@ -214,69 +174,69 @@ signing_key:
214
174
  specification_version: 4
215
175
  summary: Scanner, lexer, parser for ruby's regular expressions
216
176
  test_files:
217
- - test/expression/test_all.rb
218
- - test/expression/test_base.rb
219
- - test/expression/test_clone.rb
220
- - test/expression/test_conditionals.rb
221
- - test/expression/test_free_space.rb
222
- - test/expression/test_set.rb
223
- - test/expression/test_strfregexp.rb
224
- - test/expression/test_subexpression.rb
225
- - test/expression/test_tests.rb
226
- - test/expression/test_to_h.rb
227
- - test/expression/test_to_s.rb
228
- - test/expression/test_traverse.rb
177
+ - test/token/test_token.rb
178
+ - test/token/test_all.rb
229
179
  - test/helpers.rb
230
- - test/lexer/test_all.rb
231
- - test/lexer/test_conditionals.rb
232
180
  - test/lexer/test_keep.rb
181
+ - test/lexer/test_conditionals.rb
182
+ - test/lexer/test_refcalls.rb
233
183
  - test/lexer/test_literals.rb
184
+ - test/lexer/test_all.rb
234
185
  - test/lexer/test_nesting.rb
235
- - test/lexer/test_refcalls.rb
236
- - test/parser/test_all.rb
186
+ - test/parser/test_sets.rb
187
+ - test/parser/test_properties.rb
188
+ - test/parser/test_types.rb
189
+ - test/parser/test_groups.rb
237
190
  - test/parser/test_alternation.rb
191
+ - test/parser/test_free_space.rb
238
192
  - test/parser/test_anchors.rb
239
- - test/parser/test_conditionals.rb
240
- - test/parser/test_errors.rb
241
193
  - test/parser/test_escapes.rb
242
- - test/parser/test_free_space.rb
243
- - test/parser/test_groups.rb
244
- - test/parser/test_keep.rb
245
- - test/parser/test_properties.rb
246
194
  - test/parser/test_quantifiers.rb
195
+ - test/parser/test_keep.rb
196
+ - test/parser/test_conditionals.rb
197
+ - test/parser/test_errors.rb
247
198
  - test/parser/test_refcalls.rb
248
- - test/parser/test_sets.rb
249
- - test/parser/test_types.rb
250
- - test/scanner/test_all.rb
251
- - test/scanner/test_anchors.rb
252
- - test/scanner/test_conditionals.rb
199
+ - test/parser/test_all.rb
200
+ - test/support/disable_autotest.rb
201
+ - test/support/warning_extractor.rb
202
+ - test/support/runner.rb
203
+ - test/expression/test_subexpression.rb
204
+ - test/expression/test_base.rb
205
+ - test/expression/test_free_space.rb
206
+ - test/expression/test_to_h.rb
207
+ - test/expression/test_set.rb
208
+ - test/expression/test_conditionals.rb
209
+ - test/expression/test_clone.rb
210
+ - test/expression/test_tests.rb
211
+ - test/expression/test_to_s.rb
212
+ - test/expression/test_traverse.rb
213
+ - test/expression/test_all.rb
214
+ - test/expression/test_strfregexp.rb
215
+ - test/syntax/versions/test_2.0.0.rb
216
+ - test/syntax/versions/test_aliases.rb
217
+ - test/syntax/versions/test_1.8.rb
218
+ - test/syntax/versions/test_1.9.1.rb
219
+ - test/syntax/versions/test_2.2.0.rb
220
+ - test/syntax/versions/test_1.9.3.rb
221
+ - test/syntax/versions/test_all.rb
222
+ - test/syntax/test_syntax.rb
223
+ - test/syntax/test_all.rb
224
+ - test/test_all.rb
225
+ - test/scanner/test_sets.rb
226
+ - test/scanner/test_properties.rb
227
+ - test/scanner/test_scripts.rb
253
228
  - test/scanner/test_emojis.rb
254
- - test/scanner/test_errors.rb
255
- - test/scanner/test_escapes.rb
256
- - test/scanner/test_free_space.rb
229
+ - test/scanner/test_types.rb
257
230
  - test/scanner/test_groups.rb
258
- - test/scanner/test_keep.rb
259
- - test/scanner/test_literals.rb
260
231
  - test/scanner/test_meta.rb
261
- - test/scanner/test_properties.rb
232
+ - test/scanner/test_free_space.rb
233
+ - test/scanner/test_anchors.rb
234
+ - test/scanner/test_escapes.rb
235
+ - test/scanner/test_unicode_blocks.rb
262
236
  - test/scanner/test_quantifiers.rb
237
+ - test/scanner/test_keep.rb
238
+ - test/scanner/test_conditionals.rb
239
+ - test/scanner/test_errors.rb
263
240
  - test/scanner/test_refcalls.rb
264
- - test/scanner/test_scripts.rb
265
- - test/scanner/test_sets.rb
266
- - test/scanner/test_types.rb
267
- - test/scanner/test_unicode_blocks.rb
268
- - test/support/disable_autotest.rb
269
- - test/support/runner.rb
270
- - test/support/warning_extractor.rb
271
- - test/syntax/ruby/test_1.8.rb
272
- - test/syntax/ruby/test_1.9.1.rb
273
- - test/syntax/ruby/test_1.9.3.rb
274
- - test/syntax/ruby/test_2.0.0.rb
275
- - test/syntax/ruby/test_2.2.0.rb
276
- - test/syntax/ruby/test_all.rb
277
- - test/syntax/ruby/test_files.rb
278
- - test/syntax/test_all.rb
279
- - test/syntax/test_syntax.rb
280
- - test/test_all.rb
281
- - test/token/test_all.rb
282
- - test/token/test_token.rb
241
+ - test/scanner/test_literals.rb
242
+ - test/scanner/test_all.rb