sequitur 0.1.23 → 0.1.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +11 -437
  3. data/CHANGELOG.md +9 -0
  4. data/Gemfile +0 -2
  5. data/LICENSE.txt +1 -1
  6. data/README.md +2 -3
  7. data/Rakefile +0 -2
  8. data/appveyor.yml +10 -10
  9. data/examples/inductive_english.rb +35 -0
  10. data/examples/integer_sample.rb +0 -1
  11. data/examples/porridge.rb +9 -9
  12. data/examples/word_sample.rb +4 -5
  13. data/lib/sequitur/constants.rb +7 -4
  14. data/lib/sequitur/digram.rb +11 -11
  15. data/lib/sequitur/dynamic_grammar.rb +12 -12
  16. data/lib/sequitur/formatter/base_formatter.rb +2 -2
  17. data/lib/sequitur/formatter/base_text.rb +8 -9
  18. data/lib/sequitur/formatter/debug.rb +10 -4
  19. data/lib/sequitur/grammar_visitor.rb +7 -7
  20. data/lib/sequitur/production.rb +203 -205
  21. data/lib/sequitur/production_ref.rb +18 -20
  22. data/lib/sequitur/sequitur_grammar.rb +135 -137
  23. data/lib/sequitur/symbol_sequence.rb +29 -32
  24. data/lib/sequitur.rb +6 -6
  25. data/sig/lib/sequitur/constants.rbs +10 -0
  26. data/sig/lib/sequitur/digram.rbs +37 -0
  27. data/sig/lib/sequitur/dynamic_grammar.rbs +58 -0
  28. data/sig/lib/sequitur/formatter/base_formatter.rbs +20 -0
  29. data/sig/lib/sequitur/formatter/base_text.rbs +62 -0
  30. data/sig/lib/sequitur/formatter/debug.rbs +89 -0
  31. data/sig/lib/sequitur/production.rbs +120 -0
  32. data/sig/lib/sequitur/production_ref.rbs +73 -0
  33. data/sig/lib/sequitur/sequitur_grammar.rbs +55 -0
  34. data/sig/lib/sequitur/symbol_sequence.rbs +83 -0
  35. data/sig/lib/sequitur.rbs +9 -0
  36. data/spec/sequitur/digram_spec.rb +13 -12
  37. data/spec/sequitur/dynamic_grammar_spec.rb +5 -11
  38. data/spec/sequitur/formatter/base_text_spec.rb +70 -72
  39. data/spec/sequitur/formatter/debug_spec.rb +90 -92
  40. data/spec/sequitur/grammar_visitor_spec.rb +70 -71
  41. data/spec/sequitur/production_ref_spec.rb +92 -92
  42. data/spec/sequitur/production_spec.rb +30 -34
  43. data/spec/sequitur/sequitur_grammar_spec.rb +47 -46
  44. data/spec/sequitur/symbol_sequence_spec.rb +102 -105
  45. data/spec/spec_helper.rb +0 -1
  46. metadata +28 -17
  47. data/.travis.yml +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 281bd27d3f94acef7567bebbf56099c56a1dbc3c7df02d763ffd7793ff463b84
4
- data.tar.gz: ea7881682da31b7de732d4160951bf1591cb26ecc8008f14603a55e8c8620bbe
3
+ metadata.gz: f70c8a02c1bf095a4ace46d340afe5479ca74fca119c99018f635d629e10af79
4
+ data.tar.gz: d61df7bc573f20b46edddafb207a5e1c8b98f5a940337b3d3ddcda378aed5f98
5
5
  SHA512:
6
- metadata.gz: 553904778b8d61a96486e6f32ae0719d3a8b9f6ef99fb3b962f088f55097e6e23a5d75ca65c0ba916027a46d221deb5d7c9aed5a2927754d456c6f9e54658398
7
- data.tar.gz: 2c67d893f9ec2d1ffc2523261f170a76de8e15dcf75f6069efe716ff3f48a8314c39a10ee53edd2938db71933a931a356258c694acd1c4b516fb1ec6fabcecce
6
+ metadata.gz: a0be273d0ae70f7cade11ff86af7ae8f52ca4c697c471a8925ee3e75d230d4c0df261fba908e875413903a6ad6e0cba067ca5778e0d91d4fc35e74f00a00c536
7
+ data.tar.gz: a352a03ebefe1683e74a59e5d5766eafb44780c65af7f65fe2b6441d15d00193cd1d913976bd7b8cc2e4414a888ec5bd5d6bb0b184be8ecee196398629af1458
data/.rubocop.yml CHANGED
@@ -1,456 +1,30 @@
1
1
  AllCops:
2
2
  Exclude:
3
- - 'exp/**/*'
4
3
  - 'lab/**/*'
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
-
16
- Layout/CaseIndentation:
17
- Enabled: false
18
-
19
- Layout/ClosingHeredocIndentation:
20
- Enabled: false
21
-
22
- Layout/CommentIndentation:
23
- Enabled: false
24
-
25
- Layout/ElseAlignment:
26
- Enabled: false
27
-
28
- Layout/EmptyLines:
29
- Enabled: false
30
-
31
- Layout/EndAlignment:
32
- Enabled: false
33
-
4
+
34
5
  Layout/EndOfLine:
35
- Enabled: true
36
- EnforcedStyle: lf
37
-
38
- Layout/FirstArgumentIndentation:
39
- Enabled: false
40
-
41
- Layout/HashAlignment:
42
- Enabled: false
43
-
44
- Layout/IndentationWidth:
45
- Enabled: false
46
-
47
- Layout/IndentationConsistency:
48
- Enabled: true
49
-
50
- Layout/HeredocIndentation:
51
- Enabled: false
52
-
53
- Layout/LineEndStringConcatenationIndentation:
54
- Enabled: true
55
-
56
- Layout/MultilineHashBraceLayout:
57
- Enabled: true
58
-
59
- Layout/MultilineMethodCallBraceLayout:
60
- Enabled: true
61
- EnforcedStyle: same_line
62
-
63
- Layout/SpaceAroundOperators:
64
- Enabled: true
65
-
66
- Layout/SpaceBeforeBrackets:
67
- Enabled: true
68
-
69
- Layout/SpaceInsideParens:
70
- Enabled: true
71
-
72
- Layout/IndentationStyle:
73
- Enabled: true
74
-
75
- Layout/SpaceAroundMethodCallOperator:
76
- Enabled: true
77
-
78
- Layout/TrailingEmptyLines:
79
- Enabled: true
80
-
81
- Layout/TrailingWhitespace:
82
- Enabled: true
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
-
111
- Lint/Loop:
112
- Enabled: true
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
-
129
- Lint/RescueException:
130
- Enabled: true
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
-
150
- Lint/UnusedMethodArgument:
151
- Enabled: true
152
-
153
- Lint/UselessAccessModifier:
154
- Enabled: true
155
-
156
- Lint/Void:
157
- Enabled: false
158
-
159
- Lint/UselessAssignment:
160
- Enabled: true
6
+ Enabled: false # Make source portable!
161
7
 
162
8
  Metrics/AbcSize:
163
- Enabled: false
164
-
165
- Metrics/BlockLength:
166
- Enabled: true
167
- Max: 350
168
-
169
- Metrics/BlockNesting:
170
- Enabled: true
171
- Max: 5
9
+ Max: 22
172
10
 
173
11
  Metrics/ClassLength:
174
- Enabled: true
175
- Max: 450
176
-
12
+ Max: 150
13
+
177
14
  Metrics/CyclomaticComplexity:
178
- Enabled: false
179
-
180
- Layout/LineLength:
181
- Enabled: false
182
- Max: 90
15
+ Max: 10
183
16
 
184
17
  Metrics/MethodLength:
185
- Enabled: true
186
- Max: 60
187
-
188
- Metrics/ModuleLength:
189
- Enabled: true
190
- Max: 500
191
-
18
+ Max: 50
19
+
192
20
  Metrics/PerceivedComplexity:
193
- Enabled: false
194
-
195
- Naming/ConstantName:
196
- Enabled: false
197
-
198
- Naming/ClassAndModuleCamelCase:
199
- Enabled: false
200
-
201
- Naming/BlockParameterName:
202
- Enabled: true
203
-
204
- Naming/InclusiveLanguage:
205
- Enabled: true
21
+ Max: 10
206
22
 
207
23
  Naming/MethodParameterName:
208
24
  Enabled: false
209
-
210
- Naming/MethodName:
211
- Enabled: false
212
-
25
+
213
26
  Naming/VariableName:
214
27
  Enabled: false
215
28
 
216
- Style/AccessorGrouping:
217
- Enabled: false
218
-
219
- Style/Alias:
220
- Enabled: true
221
-
222
- Style/ArgumentsForwarding:
223
- Enabled: true
224
-
225
- Style/AsciiComments:
226
- Enabled: false
227
-
228
- Style/BarePercentLiterals:
229
- Enabled: false
230
-
231
- Style/BlockComments:
232
- Enabled: false
233
-
234
- Style/CharacterLiteral:
235
- Enabled: false
236
-
237
- Style/ClassCheck:
238
- Enabled: false
239
-
240
- Style/ClassVars:
241
- Enabled: false
242
-
243
- Style/CollectionCompact:
244
- Enabled: true
245
-
246
- Style/ColonMethodCall:
247
- Enabled: false
248
-
249
- Style/CommentAnnotation:
250
- Enabled: false
251
-
252
29
  Style/CommentedKeyword:
253
- Enabled: false
254
-
255
- Style/ConditionalAssignment:
256
- Enabled: false
257
-
258
- Style/DefWithParentheses:
259
- Enabled: true
260
-
261
- Style/Documentation:
262
- Enabled: false
263
-
264
- Style/DocumentDynamicEvalDefinition:
265
- Enabled: false
266
-
267
- Style/EmptyElse:
268
- Enabled: true
269
- EnforcedStyle: empty
270
-
271
- Style/ExpandPathArguments:
272
- Enabled: false
273
-
274
- Style/ExponentialNotation:
275
- Enabled: true
276
-
277
- Style/GuardClause:
278
- Enabled: false
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
-
292
- Style/IfUnlessModifier:
293
- Enabled: false
294
-
295
- Style/InPatternThen:
296
- Enabled: true
297
-
298
- Style/InverseMethods:
299
- Enabled: false
300
-
301
- Style/MissingRespondToMissing:
302
- Enabled: false
303
-
304
- Style/MultilineInPatternThen:
305
- Enabled: true
306
-
307
- Style/NegatedIfElseCondition:
308
- Enabled: true
309
-
310
- Style/Next:
311
- Enabled: false
312
-
313
- Style/NilLambda:
314
- Enabled: true
315
-
316
- Style/NumericLiterals:
317
- Enabled: false
318
-
319
- Style/QuotedSymbols:
320
- Enabled: true
321
-
322
- Style/RaiseArgs:
323
- Enabled: true
324
-
325
- Style/RedundantArgument:
326
- Enabled: true
327
-
328
- Style/RedundantReturn:
329
- Enabled: false
330
-
331
- Style/RedundantSelf:
332
- Enabled: true
333
-
334
- Style/RedundantSelfAssignmentBranch:
335
- Enabled: true
336
-
337
- Style/RegexpLiteral:
338
- Enabled: false
339
-
340
- Style/PercentLiteralDelimiters:
341
- Enabled: false
342
-
343
- Style/StderrPuts:
344
- Enabled: false
345
-
346
- Style/StringLiterals:
347
- Enabled: true
348
-
349
- Style/SwapValues:
350
- Enabled: true
351
-
352
- Style/TernaryParentheses:
353
- Enabled: false
354
-
355
- Style/UnlessElse:
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
30
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## [0.1.25] - 2023-07-10
2
+ - First version using RBS (Ruby Type System): new folder `sig` with `*.rbs` files
3
+ - Yard documentation updated to align with RBS
4
+ - File `appveyor.yml` updated to cover Rubies 2.6, .., 3.1
5
+ - File `Gemfile`: removed dependencies to `simplecov` and `coverall`
6
+
7
+ ## [0.1.24] - 2023-07-01
8
+ - Code restyling to please rubocop 1.53.1
9
+
1
10
  ## [0.1.23] - 2021-09-04
2
11
  - Remove dependencies towards `coverall`, `simplecov`
3
12
  - Code restyling to please rubocop 1.19.1
data/Gemfile CHANGED
@@ -4,8 +4,6 @@ source 'https://rubygems.org'
4
4
  # Prevent Bundler to load the dependencies from our .gemspec file
5
5
 
6
6
  group :development do
7
- gem 'coveralls', '>= 0.7.0'
8
7
  gem 'rake', '>= 10.0.0'
9
8
  gem 'rspec', '>= 3.0.0'
10
- gem 'simplecov', '>= 0.8.0'
11
9
  end
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2019 Dimitri Geshef
1
+ Copyright (c) 2014-2023 Dimitri Geshef
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -3,9 +3,8 @@ Sequitur
3
3
  _Ruby gem implementing the Sequitur algorithm_
4
4
  [Homepage](https://github.com/famished-tiger/Sequitur)
5
5
 
6
- [![Linux Build Status](https://travis-ci.org/famished-tiger/Sequitur.svg?branch=master)](https://travis-ci.org/famished-tiger/Sequitur)
6
+
7
7
  [![Windows Build status](https://ci.appveyor.com/api/projects/status/nvi1be8mb0494dqw?svg=true)](https://ci.appveyor.com/project/famished-tiger/sequitur)
8
- [![Coverage Status](https://coveralls.io/repos/famished-tiger/Sequitur/badge.png?branch=master)](https://coveralls.io/r/famished-tiger/Sequitur)
9
8
  [![Gem Version](https://badge.fury.io/rb/sequitur.svg)](http://badge.fury.io/rb/sequitur)
10
9
  [![Inline docs](http://inch-ci.org/github/famished-tiger/Sequitur.svg?branch=master)](http://inch-ci.org/github/famished-tiger/Sequitur)
11
10
  [![Code Climate](https://codeclimate.com/github/famished-tiger/Sequitur.png)](https://codeclimate.com/github/famished-tiger/Sequitur)
@@ -247,4 +246,4 @@ More examples are available in the examples folder.
247
246
 
248
247
  Copyright
249
248
  ---------
250
- Copyright (c) 2014-2018, Dimitri Geshef. Sequitur is released under the MIT License see [LICENSE.txt](https://github.com/famished-tiger/Sequitur/blob/master/LICENSE.txt) for details.
249
+ Copyright (c) 2014-2013, Dimitri Geshef. Sequitur is released under the MIT License see [LICENSE.txt](https://github.com/famished-tiger/Sequitur/blob/master/LICENSE.txt) for details.
data/Rakefile CHANGED
@@ -19,12 +19,10 @@ RSpec::Core::RakeTask.new do |spec|
19
19
  spec.pattern = 'spec/**/*_spec.rb'
20
20
  end
21
21
 
22
-
23
22
  # Run RSpec tests
24
23
  desc 'Run tests, with RSpec'
25
24
  task test: [:spec]
26
25
 
27
-
28
26
  # Default rake task
29
27
  task default: :test
30
28
 
data/appveyor.yml CHANGED
@@ -2,19 +2,19 @@ version: '{build}'
2
2
  max_jobs: 5
3
3
  environment:
4
4
  matrix:
5
- - Ruby_version: 26-x64
6
- - Ruby_version: 25-x64
7
- - Ruby_version: 24-x64
8
- - Ruby_version: 23-x64
9
- - Ruby_version: 26
10
- - Ruby_version: 25
11
- - Ruby_version: 24
12
- - Ruby_version: 23
5
+ - Ruby_version: 31-x64
6
+ - Ruby_version: 30-x64
7
+ - Ruby_version: 27-x64
8
+ - Ruby_version: 31
9
+ - Ruby_version: 30
10
+ - Ruby_version: 27
13
11
 
12
+ # - gem update --system --source http://rubygems.org/
14
13
  install:
15
14
  - set PATH=C:\Ruby%Ruby_version%\bin;%PATH%
16
- - gem update --system
17
- - gem install bundler
15
+ - ruby --version
16
+ - gem install rubygems-update
17
+ - gem install bundler
18
18
  - bundle install --retry=3 --clean --force
19
19
 
20
20
  build: off
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Demo of sequitur gem: from a set of sentences, generate a context-free grammar
4
+
5
+ require 'engtagger'
6
+ require 'sequitur'
7
+
8
+ # Simple sentences taken from the first lesson of "Learn These Words First".
9
+ # ( https://learnthesewordsfirst.com/ )
10
+ sentences = <<~END_TEXT
11
+ Tony sees Lisa.
12
+ Tony sees something.
13
+ Lisa sees something.
14
+ Tony sees this thing.
15
+ Lisa sees the other thing.
16
+ END_TEXT
17
+
18
+ tagger = EngTagger.new
19
+ pairs = tagger.tag_pairs(sentences)
20
+ tag_sequence = pairs.map(&:last)
21
+
22
+ # Generate the grammar from the tag sequence
23
+ grammar = Sequitur.build_from(tag_sequence)
24
+
25
+ # Use a formatter to display the grammar rules on the console output
26
+ formatter = Sequitur::Formatter::BaseText.new($stdout)
27
+
28
+ # Now render the rules
29
+ formatter.render(grammar.visitor)
30
+ # Rendered output is:
31
+ # start : P1 nnp P2 P2 P4 nn P4 jj nn pp.
32
+ # P1 : nnp vbz.
33
+ # P2 : P3 nn.
34
+ # P3 : pp P1.
35
+ # P4 : P3 det.
@@ -10,7 +10,6 @@ input_sequence = [1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5]
10
10
  # Generate the grammar from the sequence
11
11
  grammar = Sequitur.build_from(input_sequence)
12
12
 
13
-
14
13
  # Use a formatter to display the grammar rules on the console output
15
14
  formatter = Sequitur::Formatter::BaseText.new($stdout)
16
15
 
data/examples/porridge.rb CHANGED
@@ -3,16 +3,16 @@
3
3
  require 'sequitur' # Load the Sequitur library
4
4
 
5
5
  # Purpose: demo to show that sequitur gem works on example from sequitur.info website
6
- input_sequence = <<-SNIPPET
7
- pease porridge hot,
8
- pease porridge cold,
9
- pease porridge in the pot,
10
- nine days old.
6
+ input_sequence = <<~SNIPPET
7
+ pease porridge hot,
8
+ pease porridge cold,
9
+ pease porridge in the pot,
10
+ nine days old.
11
11
 
12
- some like it hot,
13
- some like it cold,
14
- some like it in the pot,
15
- nine days old.
12
+ some like it hot,
13
+ some like it cold,
14
+ some like it in the pot,
15
+ nine days old.
16
16
  SNIPPET
17
17
 
18
18
  grammar = Sequitur.build_from(input_sequence)
@@ -7,10 +7,10 @@ require 'sequitur' # Load the Sequitur library
7
7
  #
8
8
 
9
9
  # Raw input is one String containing repeated sentences...
10
- raw_input = <<-SNIPPET
11
- Error: unknown character '?' at position 6
12
- Error: illegal character '%' at position 20
13
- Error: unknown character '/' at position 9
10
+ raw_input = <<~SNIPPET
11
+ Error: unknown character '?' at position 6
12
+ Error: illegal character '%' at position 20
13
+ Error: unknown character '/' at position 9
14
14
  SNIPPET
15
15
 
16
16
  # Convert into a sequence of words
@@ -18,7 +18,6 @@ input_sequence = raw_input.scan(/\w+/)
18
18
  # Generate the grammar from the sequence
19
19
  grammar = Sequitur.build_from(input_sequence)
20
20
 
21
-
22
21
  # Use a formatter to display the grammar rules on the console output
23
22
  formatter = Sequitur::Formatter::BaseText.new($stdout)
24
23
 
@@ -4,10 +4,12 @@
4
4
  # Purpose: definition of Sequitur constants.
5
5
 
6
6
  module Sequitur # Module used as a namespace
7
- # The version number of the gem.
8
- Version = '0.1.23'
7
+ # rubocop:disable Naming/ConstantName
9
8
 
10
- # Brief description of the gem.
9
+ # @return [String] The version number of the gem.
10
+ Version = '0.1.25'
11
+
12
+ # @return [String] Brief description of the gem.
11
13
  Description = 'Ruby implementation of the Sequitur algorithm'
12
14
 
13
15
  # Constant Sequitur::RootDir contains the absolute path of Sequitur's
@@ -16,13 +18,14 @@ module Sequitur # Module used as a namespace
16
18
  # The initialisation of constant RootDir is guarded in order
17
19
  # to avoid multiple initialisation (not allowed for constants)
18
20
 
19
- # The start folder of Sequitur.
21
+ # @return [String] The start folder of Sequitur.
20
22
  RootDir = begin
21
23
  require 'pathname' # Load Pathname class from standard library
22
24
  startdir = Pathname(__FILE__).dirname.parent.parent.expand_path
23
25
  "#{startdir}/" # Append trailing slash character to it
24
26
  end
25
27
  end
28
+ # rubocop:enable Naming/ConstantName
26
29
  end # module
27
30
 
28
31
  # End of file