sequitur 0.1.18 → 0.1.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aab8594b29205b00f9ea39da791ea0fbae413934
4
- data.tar.gz: 936518eec769379e776b2b034c52bd450872994d
3
+ metadata.gz: c5c6dfc81b67a8d8d53a1e33717bd32d187697aa
4
+ data.tar.gz: 92e35b2c2bdaa0978066d7606e8d0306aae9f648
5
5
  SHA512:
6
- metadata.gz: 95470830db25990b9988ec6c45766182d91537913c2a92ca037f47b62421a09f40ba9fb8b3b447287e163669befe77229853e918633c83f1a7ad444246365b61
7
- data.tar.gz: bf018a2bd8a38e00eb352c0d6226bb37c4fc7228724c3e47e2954714a911b6af7dc98ae15218f17c9ae18637d1813edae4e92e756de79b26157e183d5a54696f
6
+ metadata.gz: 4d5c93785c161cddeafc8dcf580ad16653558664b0c7f78c2c24a9e441db2ca27341059cf78b8e32c64659eafb3dac41d47af27e8253de138500e7422ab571c8
7
+ data.tar.gz: 8c7d05b82b0e8a6a5d71138cfdadda049f5284c7ea1da04d033040acb6bb90c931808fa9dcfbaf1ae2df6ceee534eb65ff388f8031300f1efe7f1cd7ea61c2f0
@@ -1,82 +1,196 @@
1
1
  AllCops:
2
2
  Exclude:
3
- - 'examples/**/*'
4
- - 'features/**/*'
5
- - 'gems/**/*'
3
+ - 'exp/**/*'
6
4
  - 'lab/**/*'
7
5
 
8
- AbcSize:
9
- Max: 20
10
-
11
- # This is disabled because some demos use UTF-8
12
- AsciiComments:
6
+ Layout/CaseIndentation:
13
7
  Enabled: false
14
-
15
- Attr:
8
+
9
+ Layout/CommentIndentation:
16
10
  Enabled: false
17
-
18
- CaseIndentation:
19
- IndentWhenRelativeTo: end
20
- IndentOneStep: true
21
11
 
22
- # Rubocop enforces the use of is_a? instead of kind_of?
23
- # Which is contrary to modelling practice.
24
- ClassCheck:
12
+ Layout/ElseAlignment:
25
13
  Enabled: false
26
-
27
- ClassLength:
28
- Max: 250
29
- CountComments: false
30
14
 
31
- ConstantName:
15
+ Layout/EmptyLines:
32
16
  Enabled: false
33
17
 
34
- CyclomaticComplexity:
18
+ Layout/EndAlignment:
35
19
  Enabled: false
36
-
37
- DefWithParentheses:
20
+
21
+ Layout/EndOfLine:
22
+ Enabled: true
23
+ EnforcedStyle: lf
24
+
25
+ Layout/IndentationWidth:
38
26
  Enabled: false
27
+
28
+ Layout/IndentationConsistency:
29
+ Enabled: true
39
30
 
40
- Documentation:
31
+ Layout/IndentHeredoc:
41
32
  Enabled: false
42
33
 
43
- EmptyLines:
44
- Enabled: false
34
+ Layout/MultilineHashBraceLayout:
35
+ Enabled: true
45
36
 
46
- Encoding:
47
- Enabled: false
37
+ Layout/SpaceAroundOperators:
38
+ Enabled: true
39
+
40
+ Layout/SpaceInsideParens:
41
+ Enabled: true
48
42
 
49
- IndentationWidth :
43
+ Layout/Tab:
44
+ Enabled: true
45
+
46
+ Layout/TrailingBlankLines:
47
+ Enabled: true
48
+
49
+ Layout/TrailingWhitespace:
50
+ Enabled: true
51
+
52
+ Lint/Loop:
53
+ Enabled: true
54
+
55
+ Lint/RescueException:
56
+ Enabled: true
57
+
58
+ Lint/UnusedMethodArgument:
59
+ Enabled: true
60
+
61
+ Lint/UselessAccessModifier:
62
+ Enabled: true
63
+
64
+ Lint/Void:
65
+ Enabled: false
66
+
67
+ Lint/UselessAssignment:
68
+ Enabled: true
69
+
70
+ Metrics/AbcSize:
71
+ Enabled: false
72
+
73
+ Metrics/BlockLength:
74
+ Enabled: true
75
+ Max: 350
76
+
77
+ Metrics/ClassLength:
78
+ Enabled: true
79
+ Max: 350
80
+
81
+ Metrics/CyclomaticComplexity:
82
+ Enabled: false
83
+
84
+ Metrics/LineLength:
85
+ Enabled: false
86
+ Max: 90
87
+
88
+ Metrics/MethodLength:
89
+ Enabled: true
90
+ Max: 40
91
+
92
+ Metrics/ModuleLength:
93
+ Enabled: true
94
+ Max: 500
95
+
96
+ Metrics/PerceivedComplexity:
97
+ Enabled: false
98
+
99
+ Naming/ConstantName:
100
+ Enabled: false
101
+
102
+ Naming/ClassAndModuleCamelCase:
50
103
  Enabled: false
51
104
 
105
+ Naming/UncommunicativeBlockParamName:
106
+ Enabled: true
52
107
 
53
- # Avoid methods longer than 50 lines of code
54
- MethodLength:
55
- Max: 50
56
- CountComments: false
57
-
58
- # Avoid modules longer than 400 lines of code
59
- ModuleLength:
60
- Max: 400
61
-
62
- NonNilCheck:
108
+ Naming/UncommunicativeMethodParamName:
63
109
  Enabled: false
64
110
 
65
- NumericLiterals:
111
+ Naming/VariableName:
66
112
  Enabled: false
67
-
68
- RaiseArgs:
113
+
114
+ Style/Alias:
115
+ Enabled: true
116
+
117
+ Layout/AlignHash:
69
118
  Enabled: false
70
-
71
- RedundantReturn:
119
+
120
+ Style/AsciiComments:
121
+ Enabled: false
122
+
123
+ Style/BarePercentLiterals:
124
+ Enabled: false
125
+
126
+ Style/BlockComments:
72
127
  Enabled: false
73
128
 
74
- SpaceInsideBrackets:
129
+ Style/CharacterLiteral:
75
130
  Enabled: false
76
131
 
77
- TrailingWhitespace:
132
+ Style/ClassCheck:
133
+ Enabled: false
134
+
135
+ Style/ClassVars:
136
+ Enabled: false
137
+
138
+ Style/ColonMethodCall:
139
+ Enabled: false
140
+
141
+ Style/CommentAnnotation:
142
+ Enabled: false
143
+
144
+ Style/CommentedKeyword:
145
+ Enabled: false
146
+
147
+ Style/ConditionalAssignment:
148
+ Enabled: false
149
+
150
+ Style/DefWithParentheses:
151
+ Enabled: true
152
+
153
+ Style/Documentation:
154
+ Enabled: false
155
+
156
+ Style/ExpandPathArguments:
157
+ Enabled: false
158
+
159
+ Style/GuardClause:
160
+ Enabled: false
161
+
162
+ Style/IfUnlessModifier:
163
+ Enabled: false
164
+
165
+ Style/InverseMethods:
166
+ Enabled: true
167
+
168
+ Style/Next:
169
+ Enabled: false
170
+
171
+ Style/RaiseArgs:
172
+ Enabled: true
173
+
174
+ Style/RedundantReturn:
78
175
  Enabled: false
79
176
 
80
- VariableName:
177
+ Style/RedundantSelf:
178
+ Enabled: true
179
+
180
+ Style/RegexpLiteral:
181
+ Enabled: false
182
+
183
+ Style/PercentLiteralDelimiters:
184
+ Enabled: false
185
+
186
+ Style/StderrPuts:
187
+ Enabled: false
188
+
189
+ Style/StringLiterals:
190
+ Enabled: true
191
+
192
+ Style/TernaryParentheses:
81
193
  Enabled: false
82
194
 
195
+ Style/UnlessElse:
196
+ Enabled: false
@@ -1,23 +1,26 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - ruby-head
4
- - jruby-head
5
- - 2.3.3
6
- - 2.2.6
7
- - 2.1.9
8
- - 2.0.0
9
- - jruby
4
+ - jruby-head
5
+ - 2.5.1
6
+ - 2.4.4
7
+ - 2.3.7
8
+ - 2.2.10
9
+ - 2.1.10
10
+ - 2.0.0
11
+ - jruby
10
12
 
11
13
  matrix:
12
14
  allow_failures:
13
- - rvm: jruby
15
+ - rvm: jruby
14
16
  - rvm: ruby-head
15
17
  - rvm: jruby-head
18
+ fast_finish: true
16
19
 
17
20
  gemfile:
18
21
  - Gemfile
19
-
22
+
20
23
  # whitelist
21
- branches:
24
+ branches:
22
25
  only:
23
- - master
26
+ - master
@@ -1,3 +1,12 @@
1
+ ### 0.1.19 / 2018-05-16
2
+ Maintenance release.
3
+ * [CHANGE] File `.travis.yml`: updated Ruby versions.
4
+ * [CHANGE] File `appveyor.yml` updated Ruby versions, updated for syntax changes.
5
+ * [CHANGE] File 'sequitur.gemspec' Updated versions in dependencies.
6
+ * [CHANGE] File 'Gemfile' Updated versions in dependencies.
7
+ * [CHANGE] File 'Gemfile' Code re-styling to please Rubocop 0.55.0.
8
+
9
+
1
10
  ### 0.1.18 / 2016-12-21
2
11
  * [NEW] Added AppVeyor CI to Github commits. AppVeyor allows to build and test commits on Windows servers.
3
12
  This is complementary to Travis CI which does Linux builds.
data/Gemfile CHANGED
@@ -1,10 +1,9 @@
1
1
  source 'https://rubygems.org'
2
2
  # Prevent Bundler to load the dependencies from our .gemspec file
3
3
 
4
-
5
4
  group :development do
6
5
  gem 'coveralls', '>= 0.7.0'
7
- gem 'rake', '>= 10.0.0'
8
- gem 'rspec', '>= 2.1.0'
6
+ gem 'rake', '>= 10.0.0'
7
+ gem 'rspec', '>= 3.0.0'
9
8
  gem 'simplecov', '>= 0.8.0'
10
9
  end
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2017 Dimitri Geshef
1
+ Copyright (c) 2014-2018 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
@@ -248,4 +248,4 @@ More examples are available in the examples folder.
248
248
 
249
249
  Copyright
250
250
  ---------
251
- Copyright (c) 2014-2017, Dimitri Geshef. Sequitur is released under the MIT License see [LICENSE.txt](https://github.com/famished-tiger/Sequitur/blob/master/LICENSE.txt) for details.
251
+ 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.
@@ -2,19 +2,22 @@ version: '{build}'
2
2
  max_jobs: 3
3
3
  environment:
4
4
  matrix:
5
- - Ruby_version: 200
6
- - Ruby_version: 200-x64
7
- - Ruby_version: 21
8
- - Ruby_version: 21-x64
9
- - Ruby_version: 22
10
- - Ruby_version: 22-x64
5
+ - Ruby_version: 24
6
+ - Ruby_version: 24-x64
11
7
  - Ruby_version: 23
12
8
  - Ruby_version: 23-x64
9
+ - Ruby_version: 22
10
+ - Ruby_version: 22-x64
11
+ - Ruby_version: 21
12
+ - Ruby_version: 21-x64
13
+ - Ruby_version: 200
14
+ - Ruby_version: 200-x64
15
+
13
16
  install:
14
- - cmd: >-
15
- SET PATH=C:\Ruby%Ruby_version%\bin;%PATH%
17
+ - set PATH=C:\Ruby%Ruby_version%\bin;%PATH%
18
+ - bundle install --retry=3 --clean --force
16
19
 
17
- bundle install --retry=3 --clean
18
20
  build: off
21
+
19
22
  test_script:
20
- - cmd: bundle exec rake
23
+ - bundle exec rake
@@ -1,9 +1,9 @@
1
- require 'sequitur' # Load the Sequitur library
1
+ require 'sequitur' # Load the Sequitur library
2
2
 
3
3
  #
4
4
  # Purpose: show how to apply Sequitur on a stream of integer values
5
5
  #
6
- input_sequence = [1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5]
6
+ input_sequence = [1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5]
7
7
 
8
8
  # Generate the grammar from the sequence
9
9
  grammar = Sequitur.build_from(input_sequence)
@@ -23,11 +23,10 @@ formatter.render(grammar.visitor)
23
23
 
24
24
  # Playing a bit with the API
25
25
  # Access last symbol from rhs of start production:
26
- last_symbol_p0 = grammar.start.rhs.symbols[-1]
27
- puts last_symbol_p0 # => 5
26
+ last_symbol_p0 = grammar.start.rhs.symbols[-1]
27
+ puts last_symbol_p0 # => 5
28
28
 
29
29
  # Access first symbol from rhs of P1 production:
30
30
  first_symbol_p1 = grammar.productions[1].rhs.symbols[0]
31
31
 
32
- puts first_symbol_p1 # => 1
33
-
32
+ puts first_symbol_p1 # => 1
@@ -1,9 +1,7 @@
1
- require 'sequitur' # Load the Sequitur library
2
-
1
+ require 'sequitur' # Load the Sequitur library
3
2
 
4
3
  # Purpose: demo to show that sequitur gem works on example from sequitur.info website
5
- input_sequence =
6
- input = <<-SNIPPET
4
+ input_sequence = <<-SNIPPET
7
5
  pease porridge hot,
8
6
  pease porridge cold,
9
7
  pease porridge in the pot,
@@ -21,7 +19,7 @@ grammar = Sequitur.build_from(input_sequence)
21
19
  # We use a formatter
22
20
  formatter = Sequitur::Formatter::BaseText.new(STDOUT)
23
21
 
24
- # Now render the rules.
22
+ # Now render the rules.
25
23
  formatter.render(grammar.visitor)
26
24
 
27
25
  # Rendered output is:
@@ -38,4 +36,4 @@ formatter.render(grammar.visitor)
38
36
  # P9 : s o m P1 l i k P1 i t .
39
37
  # P10 : c P7.
40
38
  # P11 : P5 P9.
41
- # P12 : P6 t h P4 t P5 n P6 P1 d a y s P7 .
39
+ # P12 : P6 t h P4 t P5 n P6 P1 d a y s P7 .
@@ -1,8 +1,7 @@
1
- require 'sequitur' # Load the Sequitur library
2
-
1
+ require 'sequitur' # Load the Sequitur library
3
2
 
4
3
  # Purpose: show how to apply Sequitur on a stream of single characters
5
- input_sequence = 'ababcabcdabcde' # Let's analyze this string
4
+ input_sequence = 'ababcabcdabcde' # Let's analyze this string
6
5
 
7
6
  # The SEQUITUR algorithm will detect the repeated 'ab' pattern
8
7
  # and will generate a context-free grammar that represents the input string
@@ -14,9 +13,9 @@ formatter = Sequitur::Formatter::BaseText.new(STDOUT)
14
13
 
15
14
  # Now render the rules. Each rule is displayed with the format:
16
15
  # rule_id : a_sequence_grammar_symbols.
17
- # Where:
16
+ # Where:
18
17
  # - rule_id is either 'start' or a name like 'Pxxxx' (xxxx is a sequential number)
19
- # - a grammar symbol is either a terminal symbol
18
+ # - a grammar symbol is either a terminal symbol
20
19
  # (i.e. a character from the input) or a rule id
21
20
  formatter.render(grammar.visitor)
22
21
 
@@ -24,4 +23,4 @@ formatter.render(grammar.visitor)
24
23
  # start : P1 P2 P3 P3 e.
25
24
  # P1 : a b.
26
25
  # P2 : P1 c.
27
- # P3 : P2 d.
26
+ # P3 : P2 d.