sequitur 0.1.22 → 0.1.23
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 +281 -24
- data/CHANGELOG.md +8 -1
- data/examples/integer_sample.rb +1 -1
- data/examples/porridge.rb +1 -1
- data/examples/simple_case.rb +1 -1
- data/examples/symbol_sample.rb +1 -1
- data/examples/word_sample.rb +1 -1
- data/lib/sequitur/constants.rb +2 -2
- data/lib/sequitur/digram.rb +1 -1
- data/lib/sequitur/dynamic_grammar.rb +1 -1
- data/lib/sequitur/sequitur_grammar.rb +2 -2
- data/spec/sequitur/sequitur_grammar_spec.rb +1 -3
- data/spec/spec_helper.rb +0 -14
- metadata +18 -59
- data/.simplecov +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 281bd27d3f94acef7567bebbf56099c56a1dbc3c7df02d763ffd7793ff463b84
|
4
|
+
data.tar.gz: ea7881682da31b7de732d4160951bf1591cb26ecc8008f14603a55e8c8620bbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 553904778b8d61a96486e6f32ae0719d3a8b9f6ef99fb3b962f088f55097e6e23a5d75ca65c0ba916027a46d221deb5d7c9aed5a2927754d456c6f9e54658398
|
7
|
+
data.tar.gz: 2c67d893f9ec2d1ffc2523261f170a76de8e15dcf75f6069efe716ff3f48a8314c39a10ee53edd2938db71933a931a356258c694acd1c4b516fb1ec6fabcecce
|
data/.rubocop.yml
CHANGED
@@ -3,10 +3,20 @@ AllCops:
|
|
3
3
|
- 'exp/**/*'
|
4
4
|
- 'lab/**/*'
|
5
5
|
|
6
|
+
Gemspec/DateAssignment:
|
7
|
+
Enabled: true
|
8
|
+
|
9
|
+
Layout/ArgumentAlignment:
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
Layout/ArrayAlignment:
|
13
|
+
Enabled: true
|
14
|
+
EnforcedStyle: with_fixed_indentation
|
15
|
+
|
6
16
|
Layout/CaseIndentation:
|
7
17
|
Enabled: false
|
8
|
-
|
9
|
-
Layout/ClosingHeredocIndentation:
|
18
|
+
|
19
|
+
Layout/ClosingHeredocIndentation:
|
10
20
|
Enabled: false
|
11
21
|
|
12
22
|
Layout/CommentIndentation:
|
@@ -17,7 +27,7 @@ Layout/ElseAlignment:
|
|
17
27
|
|
18
28
|
Layout/EmptyLines:
|
19
29
|
Enabled: false
|
20
|
-
|
30
|
+
|
21
31
|
Layout/EndAlignment:
|
22
32
|
Enabled: false
|
23
33
|
|
@@ -25,39 +35,118 @@ Layout/EndOfLine:
|
|
25
35
|
Enabled: true
|
26
36
|
EnforcedStyle: lf
|
27
37
|
|
38
|
+
Layout/FirstArgumentIndentation:
|
39
|
+
Enabled: false
|
40
|
+
|
41
|
+
Layout/HashAlignment:
|
42
|
+
Enabled: false
|
43
|
+
|
28
44
|
Layout/IndentationWidth:
|
29
45
|
Enabled: false
|
30
46
|
|
31
47
|
Layout/IndentationConsistency:
|
32
48
|
Enabled: true
|
33
|
-
|
34
|
-
Layout/
|
49
|
+
|
50
|
+
Layout/HeredocIndentation:
|
35
51
|
Enabled: false
|
36
|
-
|
52
|
+
|
53
|
+
Layout/LineEndStringConcatenationIndentation:
|
54
|
+
Enabled: true
|
55
|
+
|
37
56
|
Layout/MultilineHashBraceLayout:
|
38
57
|
Enabled: true
|
39
58
|
|
59
|
+
Layout/MultilineMethodCallBraceLayout:
|
60
|
+
Enabled: true
|
61
|
+
EnforcedStyle: same_line
|
62
|
+
|
40
63
|
Layout/SpaceAroundOperators:
|
41
64
|
Enabled: true
|
42
65
|
|
66
|
+
Layout/SpaceBeforeBrackets:
|
67
|
+
Enabled: true
|
68
|
+
|
43
69
|
Layout/SpaceInsideParens:
|
44
70
|
Enabled: true
|
45
|
-
|
46
|
-
Layout/
|
71
|
+
|
72
|
+
Layout/IndentationStyle:
|
73
|
+
Enabled: true
|
74
|
+
|
75
|
+
Layout/SpaceAroundMethodCallOperator:
|
47
76
|
Enabled: true
|
48
|
-
|
49
|
-
Layout/
|
77
|
+
|
78
|
+
Layout/TrailingEmptyLines:
|
50
79
|
Enabled: true
|
51
80
|
|
52
81
|
Layout/TrailingWhitespace:
|
53
82
|
Enabled: true
|
54
83
|
|
84
|
+
Lint/AmbiguousAssignment:
|
85
|
+
Enabled: true
|
86
|
+
|
87
|
+
Lint/AmbiguousRange:
|
88
|
+
Enabled: true
|
89
|
+
|
90
|
+
Lint/DeprecatedConstants:
|
91
|
+
Enabled: true
|
92
|
+
|
93
|
+
Lint/DuplicateBranch:
|
94
|
+
Enabled: true
|
95
|
+
|
96
|
+
Lint/DuplicateRegexpCharacterClassElement:
|
97
|
+
Enabled: true
|
98
|
+
|
99
|
+
Lint/EmptyBlock:
|
100
|
+
Enabled: true
|
101
|
+
|
102
|
+
Lint/EmptyClass:
|
103
|
+
Enabled: false
|
104
|
+
|
105
|
+
Lint/EmptyInPattern:
|
106
|
+
Enabled: true
|
107
|
+
|
108
|
+
Lint/LambdaWithoutLiteralBlock:
|
109
|
+
Enabled: true
|
110
|
+
|
55
111
|
Lint/Loop:
|
56
112
|
Enabled: true
|
57
113
|
|
114
|
+
Lint/NoReturnInBeginEndBlocks:
|
115
|
+
Enabled: true
|
116
|
+
|
117
|
+
Lint/NumberedParameterAssignment:
|
118
|
+
Enabled: true
|
119
|
+
|
120
|
+
Lint/OrAssignmentToConstant:
|
121
|
+
Enabled: true
|
122
|
+
|
123
|
+
Lint/RaiseException:
|
124
|
+
Enabled: true
|
125
|
+
|
126
|
+
Lint/RedundantDirGlobSort:
|
127
|
+
Enabled: true
|
128
|
+
|
58
129
|
Lint/RescueException:
|
59
130
|
Enabled: true
|
60
131
|
|
132
|
+
Lint/StructNewOverride:
|
133
|
+
Enabled: true
|
134
|
+
|
135
|
+
Lint/SymbolConversion:
|
136
|
+
Enabled: true
|
137
|
+
|
138
|
+
Lint/ToEnumArguments:
|
139
|
+
Enabled: true
|
140
|
+
|
141
|
+
Lint/TripleQuotes:
|
142
|
+
Enabled: true
|
143
|
+
|
144
|
+
Lint/UnexpectedBlockArity:
|
145
|
+
Enabled: true
|
146
|
+
|
147
|
+
Lint/UnmodifiedReduceAccumulator:
|
148
|
+
Enabled: true
|
149
|
+
|
61
150
|
Lint/UnusedMethodArgument:
|
62
151
|
Enabled: true
|
63
152
|
|
@@ -77,20 +166,24 @@ Metrics/BlockLength:
|
|
77
166
|
Enabled: true
|
78
167
|
Max: 350
|
79
168
|
|
169
|
+
Metrics/BlockNesting:
|
170
|
+
Enabled: true
|
171
|
+
Max: 5
|
172
|
+
|
80
173
|
Metrics/ClassLength:
|
81
174
|
Enabled: true
|
82
|
-
Max:
|
175
|
+
Max: 450
|
83
176
|
|
84
177
|
Metrics/CyclomaticComplexity:
|
85
178
|
Enabled: false
|
86
179
|
|
87
|
-
|
180
|
+
Layout/LineLength:
|
88
181
|
Enabled: false
|
89
182
|
Max: 90
|
90
183
|
|
91
184
|
Metrics/MethodLength:
|
92
185
|
Enabled: true
|
93
|
-
Max:
|
186
|
+
Max: 60
|
94
187
|
|
95
188
|
Metrics/ModuleLength:
|
96
189
|
Enabled: true
|
@@ -104,21 +197,30 @@ Naming/ConstantName:
|
|
104
197
|
|
105
198
|
Naming/ClassAndModuleCamelCase:
|
106
199
|
Enabled: false
|
107
|
-
|
108
|
-
Naming/
|
200
|
+
|
201
|
+
Naming/BlockParameterName:
|
202
|
+
Enabled: true
|
203
|
+
|
204
|
+
Naming/InclusiveLanguage:
|
109
205
|
Enabled: true
|
110
|
-
|
111
|
-
Naming/
|
206
|
+
|
207
|
+
Naming/MethodParameterName:
|
208
|
+
Enabled: false
|
209
|
+
|
210
|
+
Naming/MethodName:
|
112
211
|
Enabled: false
|
113
212
|
|
114
213
|
Naming/VariableName:
|
115
214
|
Enabled: false
|
116
215
|
|
216
|
+
Style/AccessorGrouping:
|
217
|
+
Enabled: false
|
218
|
+
|
117
219
|
Style/Alias:
|
118
220
|
Enabled: true
|
119
221
|
|
120
|
-
|
121
|
-
Enabled:
|
222
|
+
Style/ArgumentsForwarding:
|
223
|
+
Enabled: true
|
122
224
|
|
123
225
|
Style/AsciiComments:
|
124
226
|
Enabled: false
|
@@ -138,6 +240,9 @@ Style/ClassCheck:
|
|
138
240
|
Style/ClassVars:
|
139
241
|
Enabled: false
|
140
242
|
|
243
|
+
Style/CollectionCompact:
|
244
|
+
Enabled: true
|
245
|
+
|
141
246
|
Style/ColonMethodCall:
|
142
247
|
Enabled: false
|
143
248
|
|
@@ -156,44 +261,196 @@ Style/DefWithParentheses:
|
|
156
261
|
Style/Documentation:
|
157
262
|
Enabled: false
|
158
263
|
|
264
|
+
Style/DocumentDynamicEvalDefinition:
|
265
|
+
Enabled: false
|
266
|
+
|
267
|
+
Style/EmptyElse:
|
268
|
+
Enabled: true
|
269
|
+
EnforcedStyle: empty
|
270
|
+
|
159
271
|
Style/ExpandPathArguments:
|
160
272
|
Enabled: false
|
161
273
|
|
274
|
+
Style/ExponentialNotation:
|
275
|
+
Enabled: true
|
276
|
+
|
162
277
|
Style/GuardClause:
|
163
278
|
Enabled: false
|
164
279
|
|
280
|
+
Style/HashEachMethods:
|
281
|
+
Enabled: true
|
282
|
+
|
283
|
+
Style/HashExcept:
|
284
|
+
Enabled: true
|
285
|
+
|
286
|
+
Style/HashTransformKeys:
|
287
|
+
Enabled: true
|
288
|
+
|
289
|
+
Style/HashTransformValues:
|
290
|
+
Enabled: true
|
291
|
+
|
165
292
|
Style/IfUnlessModifier:
|
166
293
|
Enabled: false
|
167
294
|
|
295
|
+
Style/InPatternThen:
|
296
|
+
Enabled: true
|
297
|
+
|
168
298
|
Style/InverseMethods:
|
299
|
+
Enabled: false
|
300
|
+
|
301
|
+
Style/MissingRespondToMissing:
|
302
|
+
Enabled: false
|
303
|
+
|
304
|
+
Style/MultilineInPatternThen:
|
305
|
+
Enabled: true
|
306
|
+
|
307
|
+
Style/NegatedIfElseCondition:
|
169
308
|
Enabled: true
|
170
309
|
|
171
310
|
Style/Next:
|
172
311
|
Enabled: false
|
173
312
|
|
313
|
+
Style/NilLambda:
|
314
|
+
Enabled: true
|
315
|
+
|
316
|
+
Style/NumericLiterals:
|
317
|
+
Enabled: false
|
318
|
+
|
319
|
+
Style/QuotedSymbols:
|
320
|
+
Enabled: true
|
321
|
+
|
174
322
|
Style/RaiseArgs:
|
175
323
|
Enabled: true
|
176
324
|
|
325
|
+
Style/RedundantArgument:
|
326
|
+
Enabled: true
|
327
|
+
|
177
328
|
Style/RedundantReturn:
|
178
329
|
Enabled: false
|
179
|
-
|
330
|
+
|
180
331
|
Style/RedundantSelf:
|
181
332
|
Enabled: true
|
182
333
|
|
334
|
+
Style/RedundantSelfAssignmentBranch:
|
335
|
+
Enabled: true
|
336
|
+
|
183
337
|
Style/RegexpLiteral:
|
184
338
|
Enabled: false
|
185
339
|
|
186
340
|
Style/PercentLiteralDelimiters:
|
187
341
|
Enabled: false
|
188
|
-
|
342
|
+
|
189
343
|
Style/StderrPuts:
|
190
|
-
Enabled: false
|
344
|
+
Enabled: false
|
191
345
|
|
192
346
|
Style/StringLiterals:
|
193
347
|
Enabled: true
|
194
348
|
|
349
|
+
Style/SwapValues:
|
350
|
+
Enabled: true
|
351
|
+
|
195
352
|
Style/TernaryParentheses:
|
196
353
|
Enabled: false
|
197
|
-
|
354
|
+
|
198
355
|
Style/UnlessElse:
|
199
|
-
Enabled: false
|
356
|
+
Enabled: false
|
357
|
+
|
358
|
+
# Rubocop complains when it doesn't find an explicit setting for the following cops:
|
359
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
360
|
+
Enabled: true
|
361
|
+
|
362
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
363
|
+
Enabled: true
|
364
|
+
|
365
|
+
Lint/DeprecatedOpenSSLConstant:
|
366
|
+
Enabled: true
|
367
|
+
|
368
|
+
Lint/DuplicateElsifCondition:
|
369
|
+
Enabled: true
|
370
|
+
|
371
|
+
Lint/DuplicateRescueException:
|
372
|
+
Enabled: true
|
373
|
+
|
374
|
+
Lint/EmptyConditionalBody:
|
375
|
+
Enabled: true
|
376
|
+
|
377
|
+
Lint/FloatComparison:
|
378
|
+
Enabled: true
|
379
|
+
|
380
|
+
Lint/MissingSuper:
|
381
|
+
Enabled: true
|
382
|
+
|
383
|
+
Lint/MixedRegexpCaptureTypes:
|
384
|
+
Enabled: true
|
385
|
+
|
386
|
+
Lint/OutOfRangeRegexpRef:
|
387
|
+
Enabled: true
|
388
|
+
|
389
|
+
Lint/SelfAssignment:
|
390
|
+
Enabled: true
|
391
|
+
|
392
|
+
Lint/TopLevelReturnWithArgument:
|
393
|
+
Enabled: true
|
394
|
+
|
395
|
+
Lint/UnreachableLoop:
|
396
|
+
Enabled: true
|
397
|
+
|
398
|
+
Style/ArrayCoercion:
|
399
|
+
Enabled: true
|
400
|
+
|
401
|
+
Style/BisectedAttrAccessor:
|
402
|
+
Enabled: true
|
403
|
+
|
404
|
+
Style/CaseLikeIf:
|
405
|
+
Enabled: true
|
406
|
+
|
407
|
+
Style/EndlessMethod:
|
408
|
+
Enabled: true
|
409
|
+
|
410
|
+
Style/ExplicitBlockArgument:
|
411
|
+
Enabled: true
|
412
|
+
|
413
|
+
Style/GlobalStdStream:
|
414
|
+
Enabled: true
|
415
|
+
|
416
|
+
Style/HashAsLastArrayItem:
|
417
|
+
Enabled: true
|
418
|
+
|
419
|
+
Style/HashConversion:
|
420
|
+
Enabled: true
|
421
|
+
|
422
|
+
Style/HashLikeCase:
|
423
|
+
Enabled: true
|
424
|
+
|
425
|
+
Style/IfWithBooleanLiteralBranches:
|
426
|
+
Enabled: true
|
427
|
+
|
428
|
+
Style/OptionalBooleanParameter:
|
429
|
+
Enabled: true
|
430
|
+
|
431
|
+
Style/RedundantAssignment:
|
432
|
+
Enabled: true
|
433
|
+
|
434
|
+
Style/RedundantFetchBlock:
|
435
|
+
Enabled: true
|
436
|
+
|
437
|
+
Style/RedundantFileExtensionInRequire:
|
438
|
+
Enabled: true
|
439
|
+
|
440
|
+
Style/RedundantRegexpCharacterClass:
|
441
|
+
Enabled: true
|
442
|
+
|
443
|
+
Style/RedundantRegexpEscape:
|
444
|
+
Enabled: true
|
445
|
+
|
446
|
+
Style/SingleArgumentDig:
|
447
|
+
Enabled: true
|
448
|
+
|
449
|
+
Style/SlicingWithRange:
|
450
|
+
Enabled: true
|
451
|
+
|
452
|
+
Style/StringChars:
|
453
|
+
Enabled: true
|
454
|
+
|
455
|
+
Style/StringConcatenation:
|
456
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
+
## [0.1.23] - 2021-09-04
|
2
|
+
- Remove dependencies towards `coverall`, `simplecov`
|
3
|
+
- Code restyling to please rubocop 1.19.1
|
4
|
+
|
5
|
+
* [CHANGE] File 'sequitur.gemspec' Remove dependencies towards `coverall`, `simplecov`
|
6
|
+
* [CHANGE] File 'sequitur.gemspec' Ruby version must be 2.5+
|
7
|
+
|
1
8
|
## [0.1.22] - 2019-08-18
|
2
|
-
- Code refactoring to use string frozen magic comments (as a consequence,
|
9
|
+
- Code refactoring to use string frozen magic comments (as a consequence, sequitur runs only on Rubies 2.3 or newer).
|
3
10
|
- Code restyling to please rubocop 0.7.40.
|
4
11
|
|
5
12
|
* [CHANGE] Files `Gemfile`, `.travis.yml`, `appveyor.yml` updated.
|
data/examples/integer_sample.rb
CHANGED
@@ -12,7 +12,7 @@ grammar = Sequitur.build_from(input_sequence)
|
|
12
12
|
|
13
13
|
|
14
14
|
# Use a formatter to display the grammar rules on the console output
|
15
|
-
formatter = Sequitur::Formatter::BaseText.new(
|
15
|
+
formatter = Sequitur::Formatter::BaseText.new($stdout)
|
16
16
|
|
17
17
|
# Now render the rules
|
18
18
|
formatter.render(grammar.visitor)
|
data/examples/porridge.rb
CHANGED
@@ -19,7 +19,7 @@ grammar = Sequitur.build_from(input_sequence)
|
|
19
19
|
|
20
20
|
# To display the grammar rules on the console output
|
21
21
|
# We use a formatter
|
22
|
-
formatter = Sequitur::Formatter::BaseText.new(
|
22
|
+
formatter = Sequitur::Formatter::BaseText.new($stdout)
|
23
23
|
|
24
24
|
# Now render the rules.
|
25
25
|
formatter.render(grammar.visitor)
|
data/examples/simple_case.rb
CHANGED
@@ -11,7 +11,7 @@ grammar = Sequitur.build_from(input_sequence)
|
|
11
11
|
|
12
12
|
# To display the grammar rules on the console output
|
13
13
|
# We use a formatter
|
14
|
-
formatter = Sequitur::Formatter::BaseText.new(
|
14
|
+
formatter = Sequitur::Formatter::BaseText.new($stdout)
|
15
15
|
|
16
16
|
# Now render the rules. Each rule is displayed with the format:
|
17
17
|
# rule_id : a_sequence_grammar_symbols.
|
data/examples/symbol_sample.rb
CHANGED
@@ -15,7 +15,7 @@ input_sequence = %i[
|
|
15
15
|
grammar = Sequitur.build_from(input_sequence)
|
16
16
|
|
17
17
|
# Use a formatter to display the grammar rules on the console output
|
18
|
-
formatter = Sequitur::Formatter::BaseText.new(
|
18
|
+
formatter = Sequitur::Formatter::BaseText.new($stdout)
|
19
19
|
|
20
20
|
# Now render the rules
|
21
21
|
formatter.render(grammar.visitor)
|
data/examples/word_sample.rb
CHANGED
@@ -20,7 +20,7 @@ grammar = Sequitur.build_from(input_sequence)
|
|
20
20
|
|
21
21
|
|
22
22
|
# Use a formatter to display the grammar rules on the console output
|
23
|
-
formatter = Sequitur::Formatter::BaseText.new(
|
23
|
+
formatter = Sequitur::Formatter::BaseText.new($stdout)
|
24
24
|
|
25
25
|
# Now render the rules
|
26
26
|
formatter.render(grammar.visitor)
|
data/lib/sequitur/constants.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
module Sequitur # Module used as a namespace
|
7
7
|
# The version number of the gem.
|
8
|
-
Version = '0.1.
|
8
|
+
Version = '0.1.23'
|
9
9
|
|
10
10
|
# Brief description of the gem.
|
11
11
|
Description = 'Ruby implementation of the Sequitur algorithm'
|
@@ -20,7 +20,7 @@ module Sequitur # Module used as a namespace
|
|
20
20
|
RootDir = begin
|
21
21
|
require 'pathname' # Load Pathname class from standard library
|
22
22
|
startdir = Pathname(__FILE__).dirname.parent.parent.expand_path
|
23
|
-
startdir
|
23
|
+
"#{startdir}/" # Append trailing slash character to it
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end # module
|
data/lib/sequitur/digram.rb
CHANGED
@@ -28,7 +28,7 @@ module Sequitur # Module for classes implementing the Sequitur algorithm
|
|
28
28
|
# the sequence symbol1 symbol2 appears.
|
29
29
|
def initialize(symbol1, symbol2, aProduction)
|
30
30
|
@symbols = [symbol1, symbol2]
|
31
|
-
@key = symbol1.hash.to_s(16)
|
31
|
+
@key = "#{symbol1.hash.to_s(16)}:#{symbol2.hash.to_s(16)}"
|
32
32
|
@production = aProduction
|
33
33
|
end
|
34
34
|
|
@@ -55,7 +55,7 @@ module Sequitur # Module for classes implementing the Sequitur algorithm
|
|
55
55
|
puts to_string if trace
|
56
56
|
prod = productions.delete_at(anIndex)
|
57
57
|
# TODO: remove output
|
58
|
-
puts(
|
58
|
+
puts("Removed: #{prod.to_string}") if trace
|
59
59
|
prod.clear_rhs
|
60
60
|
|
61
61
|
return prod
|
@@ -29,8 +29,8 @@ class SequiturGrammar < DynamicGrammar
|
|
29
29
|
CollisionDiagnosis = Struct.new(
|
30
30
|
:collision_found, # true if collision detected
|
31
31
|
:digram, # The digram involved in a collision
|
32
|
-
:productions # The productions where the digram occurs
|
33
|
-
|
32
|
+
:productions) # The productions where the digram occurs
|
33
|
+
|
34
34
|
|
35
35
|
|
36
36
|
# Assuming that a new input token was added to the start production,
|
@@ -107,9 +107,7 @@ describe SequiturGrammar do
|
|
107
107
|
raw_input = 'bbebeebebebbebee'
|
108
108
|
|
109
109
|
# Convert them into multichar strings
|
110
|
-
input = raw_input.chars.map
|
111
|
-
'letter_' + ch
|
112
|
-
end
|
110
|
+
input = raw_input.chars.map { |ch| "letter_#{ch}" }
|
113
111
|
|
114
112
|
# Creation
|
115
113
|
instance = SequiturGrammar.new(input.to_enum)
|
data/spec/spec_helper.rb
CHANGED
@@ -3,19 +3,6 @@
|
|
3
3
|
# File: spec_helper.rb
|
4
4
|
# Purpose: utility file that is loaded by all our RSpec files
|
5
5
|
|
6
|
-
require 'simplecov'
|
7
|
-
require 'coveralls'
|
8
|
-
|
9
|
-
Coveralls.wear!
|
10
|
-
|
11
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
|
12
|
-
[
|
13
|
-
SimpleCov::Formatter::HTMLFormatter,
|
14
|
-
Coveralls::SimpleCov::Formatter
|
15
|
-
]
|
16
|
-
)
|
17
|
-
|
18
|
-
|
19
6
|
require 'rspec' # Use the RSpec framework
|
20
7
|
require 'pp' # Use pretty-print for debugging purposes
|
21
8
|
|
@@ -29,5 +16,4 @@ RSpec.configure do |config|
|
|
29
16
|
config.full_backtrace = true
|
30
17
|
end
|
31
18
|
|
32
|
-
|
33
19
|
# End of file
|
metadata
CHANGED
@@ -1,115 +1,75 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequitur
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dimitri Geshef
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: coveralls
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.7.0
|
20
|
-
- - "~>"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '0.7'
|
23
|
-
type: :development
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 0.7.0
|
30
|
-
- - "~>"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0.7'
|
33
13
|
- !ruby/object:Gem::Dependency
|
34
14
|
name: rake
|
35
15
|
requirement: !ruby/object:Gem::Requirement
|
36
16
|
requirements:
|
37
|
-
- - "
|
17
|
+
- - "~>"
|
38
18
|
- !ruby/object:Gem::Version
|
39
19
|
version: 10.0.0
|
40
|
-
- - "
|
20
|
+
- - ">="
|
41
21
|
- !ruby/object:Gem::Version
|
42
22
|
version: 10.0.0
|
43
23
|
type: :development
|
44
24
|
prerelease: false
|
45
25
|
version_requirements: !ruby/object:Gem::Requirement
|
46
26
|
requirements:
|
47
|
-
- - "
|
27
|
+
- - "~>"
|
48
28
|
- !ruby/object:Gem::Version
|
49
29
|
version: 10.0.0
|
50
|
-
- - "
|
30
|
+
- - ">="
|
51
31
|
- !ruby/object:Gem::Version
|
52
32
|
version: 10.0.0
|
53
33
|
- !ruby/object:Gem::Dependency
|
54
34
|
name: rspec
|
55
35
|
requirement: !ruby/object:Gem::Requirement
|
56
36
|
requirements:
|
57
|
-
- - "
|
37
|
+
- - "~>"
|
58
38
|
- !ruby/object:Gem::Version
|
59
39
|
version: 3.0.0
|
60
|
-
- - "
|
40
|
+
- - ">="
|
61
41
|
- !ruby/object:Gem::Version
|
62
42
|
version: 3.0.0
|
63
43
|
type: :development
|
64
44
|
prerelease: false
|
65
45
|
version_requirements: !ruby/object:Gem::Requirement
|
66
46
|
requirements:
|
67
|
-
- - "
|
47
|
+
- - "~>"
|
68
48
|
- !ruby/object:Gem::Version
|
69
49
|
version: 3.0.0
|
70
|
-
- - "
|
50
|
+
- - ">="
|
71
51
|
- !ruby/object:Gem::Version
|
72
52
|
version: 3.0.0
|
73
53
|
- !ruby/object:Gem::Dependency
|
74
54
|
name: rubygems
|
75
55
|
requirement: !ruby/object:Gem::Requirement
|
76
56
|
requirements:
|
77
|
-
- - ">="
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: 2.0.0
|
80
57
|
- - "~>"
|
81
58
|
- !ruby/object:Gem::Version
|
82
59
|
version: '2.0'
|
83
|
-
type: :development
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
60
|
- - ">="
|
88
61
|
- !ruby/object:Gem::Version
|
89
62
|
version: 2.0.0
|
90
|
-
- - "~>"
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: '2.0'
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: simplecov
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - ">="
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: 0.8.0
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 0.8.0
|
103
63
|
type: :development
|
104
64
|
prerelease: false
|
105
65
|
version_requirements: !ruby/object:Gem::Requirement
|
106
66
|
requirements:
|
107
|
-
- - ">="
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 0.8.0
|
110
67
|
- - "~>"
|
111
68
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
69
|
+
version: '2.0'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 2.0.0
|
113
73
|
description: |
|
114
74
|
Ruby implementation of the Sequitur algorithm. This algorithm automatically
|
115
75
|
finds repetitions and hierarchical structures in a given sequence of input
|
@@ -127,7 +87,6 @@ files:
|
|
127
87
|
- ".rspec"
|
128
88
|
- ".rubocop.yml"
|
129
89
|
- ".ruby-gemset"
|
130
|
-
- ".simplecov"
|
131
90
|
- ".travis.yml"
|
132
91
|
- ".yardopts"
|
133
92
|
- CHANGELOG.md
|
@@ -179,15 +138,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
138
|
requirements:
|
180
139
|
- - ">="
|
181
140
|
- !ruby/object:Gem::Version
|
182
|
-
version: 2.
|
141
|
+
version: 2.5.0
|
183
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
143
|
requirements:
|
185
144
|
- - ">="
|
186
145
|
- !ruby/object:Gem::Version
|
187
146
|
version: '0'
|
188
147
|
requirements: []
|
189
|
-
rubygems_version: 3.
|
190
|
-
signing_key:
|
148
|
+
rubygems_version: 3.1.4
|
149
|
+
signing_key:
|
191
150
|
specification_version: 4
|
192
151
|
summary: Ruby implementation of the Sequitur algorithm
|
193
152
|
test_files:
|