sequitur 0.1.18 → 0.1.19

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