srl_ruby 0.4.8 → 0.4.9
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +24 -2
- data/CHANGELOG.md +12 -0
- data/lib/srl_ruby/ast_builder.rb +3 -3
- data/lib/srl_ruby/grammar.rb +1 -1
- data/lib/srl_ruby/version.rb +1 -1
- data/spec/acceptance/support/rule_file_grammar.rb +1 -1
- data/spec/regex/character_spec.rb +4 -0
- data/srl_ruby.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53f0b4c07147644a3298d66dd4db0b7108fc1cc630debc1be7dc5721bca244bf
|
4
|
+
data.tar.gz: 410029ea6b5ddc36c6161d50701500af1cb406e8b39bbfa2b6d6d60839db41eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e6124858fe023541f5fc291790251c2c87a2c36cbf28f9285d4b4ed6b87c3705ce381da3536c5e70627101f17c3b203673ea175fbb3fe58f7d193219ef959c0
|
7
|
+
data.tar.gz: a74fb973b4d74fe3546e10e9466654998f0f675ebaf9253932d8fb04b516feea767ab511c86fd11522df58084049a2b0f6455e1fd54ecde7920fd8f32550fc0b
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
AllCops:
|
2
2
|
Exclude:
|
3
3
|
- 'exp/**/*'
|
4
|
+
- 'demo/**/*'
|
4
5
|
|
5
6
|
Gemspec/DateAssignment:
|
6
7
|
Enabled: true
|
@@ -83,6 +84,9 @@ Layout/TrailingWhitespace:
|
|
83
84
|
Lint/AmbiguousAssignment:
|
84
85
|
Enabled: true
|
85
86
|
|
87
|
+
Lint/AmbiguousOperatorPrecedence: # new in 1.21
|
88
|
+
Enabled: true
|
89
|
+
|
86
90
|
Lint/AmbiguousRange:
|
87
91
|
Enabled: true
|
88
92
|
|
@@ -104,6 +108,9 @@ Lint/EmptyClass:
|
|
104
108
|
Lint/EmptyInPattern:
|
105
109
|
Enabled: true
|
106
110
|
|
111
|
+
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
|
112
|
+
Enabled: true
|
113
|
+
|
107
114
|
Lint/LambdaWithoutLiteralBlock:
|
108
115
|
Enabled: true
|
109
116
|
|
@@ -125,6 +132,9 @@ Lint/RaiseException:
|
|
125
132
|
Lint/RedundantDirGlobSort:
|
126
133
|
Enabled: true
|
127
134
|
|
135
|
+
Lint/RequireRelativeSelfPath: # new in 1.22
|
136
|
+
Enabled: true
|
137
|
+
|
128
138
|
Lint/RescueException:
|
129
139
|
Enabled: true
|
130
140
|
|
@@ -212,6 +222,9 @@ Naming/MethodName:
|
|
212
222
|
Naming/VariableName:
|
213
223
|
Enabled: false
|
214
224
|
|
225
|
+
Security/IoMethods: # new in 1.22
|
226
|
+
Enabled: true
|
227
|
+
|
215
228
|
Style/Alias:
|
216
229
|
Enabled: true
|
217
230
|
|
@@ -258,7 +271,7 @@ Style/Documentation:
|
|
258
271
|
Enabled: false
|
259
272
|
|
260
273
|
Style/DocumentDynamicEvalDefinition:
|
261
|
-
Enabled:
|
274
|
+
Enabled: true
|
262
275
|
|
263
276
|
Style/ExpandPathArguments:
|
264
277
|
Enabled: false
|
@@ -305,6 +318,12 @@ Style/Next:
|
|
305
318
|
Style/NilLambda:
|
306
319
|
Enabled: true
|
307
320
|
|
321
|
+
Style/NumberedParameters: # new in 1.22
|
322
|
+
Enabled: true
|
323
|
+
|
324
|
+
Style/NumberedParametersLimit: # new in 1.22
|
325
|
+
Enabled: true
|
326
|
+
|
308
327
|
Style/NumericLiterals:
|
309
328
|
Enabled: false
|
310
329
|
|
@@ -332,6 +351,9 @@ Style/RegexpLiteral:
|
|
332
351
|
Style/PercentLiteralDelimiters:
|
333
352
|
Enabled: false
|
334
353
|
|
354
|
+
Style/SelectByRegexp: # new in 1.22
|
355
|
+
Enabled: true
|
356
|
+
|
335
357
|
Style/StderrPuts:
|
336
358
|
Enabled: false
|
337
359
|
|
@@ -448,4 +470,4 @@ Style/StringChars:
|
|
448
470
|
Enabled: true
|
449
471
|
|
450
472
|
Style/StringConcatenation:
|
451
|
-
Enabled: true
|
473
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## [0.4.9] - 2021-11-01
|
2
|
+
- Code update to align with `Rley` v. 0.8.08
|
3
|
+
|
4
|
+
### Changed
|
5
|
+
- File `ast_builder.rb` Updated some `reduce_...` methods to cope with ? quantifier change
|
6
|
+
- File `srl_ruby.gemspec` Updated the dependency towards Rley
|
7
|
+
- File `.rubocop.yml` Added newest cops from 1.21 and 1.22
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
- File `grammar.rb` is now calling `Rley::grammar_builder` factory method.
|
11
|
+
- File `rule_file_grammar.rb` is now calling `Rley::grammar_builder` factory method.
|
12
|
+
|
1
13
|
## [0.4.8] - 2021-08-27
|
2
14
|
- Updated dependencies (Bundler >~ 2.2), (Rley >~ 0.8.03)
|
3
15
|
- Grammar refactoring to take profit of new Rley rule syntax.
|
data/lib/srl_ruby/ast_builder.rb
CHANGED
@@ -120,7 +120,7 @@ module SrlRuby
|
|
120
120
|
|
121
121
|
# rule('expression' => 'pattern (flags)?').tag 'flagged_expr'
|
122
122
|
def reduce_flagged_expr(_production, aRange, theTokens, theChildren)
|
123
|
-
@options = theChildren[1] if theChildren[1]
|
123
|
+
@options = theChildren[1].first if theChildren[1]
|
124
124
|
return_first_child(aRange, theTokens, theChildren)
|
125
125
|
end
|
126
126
|
|
@@ -163,7 +163,7 @@ module SrlRuby
|
|
163
163
|
|
164
164
|
# rule('quantifiable' => 'begin_anchor? anchorable end_anchor?')
|
165
165
|
def reduce_quantifiable(_production, _range, _tokens, theChildren)
|
166
|
-
Regex::Concatenation.new(*theChildren.compact)
|
166
|
+
Regex::Concatenation.new(*theChildren.flatten.compact)
|
167
167
|
end
|
168
168
|
|
169
169
|
# rule 'begin_anchor' => %w[STARTS WITH]
|
@@ -195,7 +195,7 @@ module SrlRuby
|
|
195
195
|
|
196
196
|
# rule('assertable' => 'term quantifier?').tag 'assertable'
|
197
197
|
def reduce_assertable(_production, _range, _tokens, theChildren)
|
198
|
-
(term, quantifier) = theChildren
|
198
|
+
(term, quantifier) = theChildren.flatten
|
199
199
|
quantifier ? repetition(term, quantifier) : term
|
200
200
|
end
|
201
201
|
|
data/lib/srl_ruby/grammar.rb
CHANGED
data/lib/srl_ruby/version.rb
CHANGED
@@ -7,7 +7,7 @@ require 'rley' # Load the Rley gem
|
|
7
7
|
# [File format](https://github.com/SimpleRegex/Test-Rules/blob/master/README.md)
|
8
8
|
########################################
|
9
9
|
# Define a grammar for basic arithmetical expressions
|
10
|
-
builder = Rley::
|
10
|
+
builder = Rley::grammar_builder do
|
11
11
|
# Punctuation
|
12
12
|
add_terminals('COLON', 'DASH')
|
13
13
|
|
@@ -89,6 +89,8 @@ module Regex # Open this namespace, to get rid of scope qualifiers
|
|
89
89
|
|
90
90
|
# Try with our escape sequence samples
|
91
91
|
(SampleDigrams + SampleNumEscs).each do |escape_seq|
|
92
|
+
|
93
|
+
# Build a string from escape sequence literal
|
92
94
|
expectation = String.class_eval(%Q|"#{escape_seq}"|, __FILE__, __LINE__)
|
93
95
|
new_ch = Character.new(escape_seq).to_str
|
94
96
|
new_ch == expectation
|
@@ -113,6 +115,8 @@ module Regex # Open this namespace, to get rid of scope qualifiers
|
|
113
115
|
|
114
116
|
# Try with our escape sequence samples
|
115
117
|
(SampleDigrams + SampleNumEscs).each do |escape_seq|
|
118
|
+
|
119
|
+
# Get ordinal value of given escape sequence
|
116
120
|
expectation = String.class_eval(%Q|"#{escape_seq}".ord()|, __FILE__, __LINE__)
|
117
121
|
expect(Character.new(escape_seq).codepoint).to eq(expectation)
|
118
122
|
end
|
data/srl_ruby.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: srl_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dimitri Geshef
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rley
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.8.
|
19
|
+
version: 0.8.08
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.8.
|
26
|
+
version: 0.8.08
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|