regexp_parser 0.4.13 → 0.5.0

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