rley 0.7.06 → 0.7.07

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
  SHA256:
3
- metadata.gz: 530d84f2a821ca2a7e9a62dde68b6c70107b9539ca4f50842f035691c6b9f858
4
- data.tar.gz: fee6189c812d4062ff148d206806bf9816280babce84b311066edf016406e9f7
3
+ metadata.gz: 8743db90e9729925d8de083101f27d1688577e92ad054818c01f8c78d064ff8d
4
+ data.tar.gz: e341eb57fa04f6e6e2f37f271c2cf42f05762faf614a04dad309073105541ea2
5
5
  SHA512:
6
- metadata.gz: c58d32795908e5b570db16519ce9e3506813bee14f3cf914938625c4820dd7a138b6d1cb18991fc340cf4e6a4777e7b57c293e1c5cd47ae81fde2c884581208b
7
- data.tar.gz: 246245e61c7a2dcda26117f8d3819f85c12dffa0917a400dcff6e22fff805930b9faf4b37c09e0202753bac0f170272db5b818e78c27047bef4a13dc510f94e9
6
+ metadata.gz: c676f6e8e529eb2cf8349681c36bb60942f9efe4e4533bba34e845855af62e40ab881db9374b1c2ccc047e4769d671565c24d3ee1f61f21f98cadbbbcfa7643f
7
+ data.tar.gz: 6e6cea550503348f75f8ffb4ed253e3b3a8506f8e45dfa751efb43a47845c9bef2ef036e0905c46cc8cb7ee24fa809514465ef29386481f38dac0f933ff26f66
@@ -53,20 +53,20 @@ EndOfLine:
53
53
 
54
54
  IndentationWidth:
55
55
  Enabled: false
56
-
56
+
57
57
  Layout/BlockAlignment:
58
58
  Enabled: false
59
59
 
60
60
  Layout/ClosingHeredocIndentation:
61
61
  Enabled: false
62
-
63
- # Enabled after end of support of Rubies < 2.3
64
- Layout/IndentHeredoc:
62
+
63
+
64
+ Layout/HeredocIndentation:
65
65
  Enabled: false
66
66
 
67
67
  Layout/SpaceInsideArrayLiteralBrackets:
68
- Enabled: false
69
-
68
+ Enabled: false
69
+
70
70
  Metrics/AbcSize:
71
71
  Max: 50
72
72
 
@@ -83,7 +83,10 @@ Metrics/ModuleLength:
83
83
  Metrics/PerceivedComplexity:
84
84
  Enabled: true
85
85
  Max: 50
86
-
86
+
87
+ Naming/ClassAndModuleCamelCase:
88
+ Enabled: false
89
+
87
90
  # Disable this because it produces false negatives
88
91
  Naming/HeredocDelimiterNaming:
89
92
  Enabled: false
@@ -91,7 +94,7 @@ Naming/HeredocDelimiterNaming:
91
94
  Naming/MethodName:
92
95
  Enabled: false
93
96
 
94
- Naming/UncommunicativeMethodParamName:
97
+ Naming/MethodParameterName:
95
98
  Enabled: false
96
99
 
97
100
  NonNilCheck:
@@ -108,13 +111,16 @@ RedundantReturn:
108
111
 
109
112
  Style/CommentedKeyword:
110
113
  Enabled: false
111
-
112
- Style/ConditionalAssignment:
114
+
115
+ Style/ConditionalAssignment:
116
+ Enabled: false
117
+
118
+ Style/IfUnlessModifier:
113
119
  Enabled: false
114
-
120
+
115
121
  Style/Lambda:
116
122
  Enabled: false
117
-
123
+
118
124
  Style/MissingRespondToMissing:
119
125
  Enabled: false
120
126
 
data/.simplecov CHANGED
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  # .simplecov
2
3
  # Configuration
3
4
 
4
5
  SimpleCov.start do
5
6
  # Remove all files that match /spec/ in their path
6
- add_filter "/spec/"
7
- end
7
+ add_filter '/spec/'
8
+ end
@@ -9,13 +9,13 @@ script:
9
9
  - bundle exec rake
10
10
 
11
11
  rvm:
12
- - 2.6.3
13
- - 2.5.5
14
- - 2.4.6
15
- - 2.3.8
12
+ - 2.7.1
13
+ - 2.6.6
14
+ - 2.5.8
15
+ - 2.4.10
16
16
  - ruby-head
17
- - jruby-9.1.9.0
18
- - jruby-head
17
+ - jruby-head
18
+ before_install: gem install bundler -v 2.0.2
19
19
 
20
20
  matrix:
21
21
  allow_failures:
@@ -1,3 +1,7 @@
1
+ ### 0.7.07 / 2020-11-16
2
+ - Code restyling to please rubocop 0.93.1
3
+ * [CHANGE] File `.travis.yml`: updated Ruby versions, drop support for Ruby 2.3.x
4
+
1
5
  ### 0.7.06 / 2019-11-22
2
6
  - [FIX] Method `ParseForestBuilder#process_end_entry`: Added a guard expression to prevent nil error.
3
7
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  module Rley # Module used as a namespace
7
7
  # The version number of the gem.
8
- Version = '0.7.06'
8
+ Version = '0.7.07'
9
9
 
10
10
  # Brief description of the gem.
11
11
  Description = "Ruby implementation of the Earley's parsing algorithm"
@@ -155,6 +155,7 @@ module Rley # This module is used as a namespace
155
155
  # Restore path
156
156
  @curr_path = entry2path_to_alt[anEntry].dup
157
157
  raise StandardError, 'path is nil' if curr_path.nil?
158
+
158
159
  create_alternative_node(anEntry)
159
160
 
160
161
  when :revisit
@@ -245,6 +246,7 @@ module Rley # This module is used as a namespace
245
246
  # Optionally add the node to the current path
246
247
  def add_subnode(aNode, addToPath = true)
247
248
  raise StandardError, 'node is nil' if aNode.nil?
249
+
248
250
  curr_parent.add_subnode(aNode) unless curr_path.empty?
249
251
  curr_path << aNode if addToPath
250
252
  end
@@ -32,11 +32,11 @@ module Rley # This module is used as a namespace
32
32
  end
33
33
  rescue StopIteration
34
34
  # Do nothing: gobble the exception
35
- rescue StandardError => exc
36
- if exc.message =~ /^Ambiguous/
35
+ rescue StandardError => e
36
+ if e.message =~ /^Ambiguous/
37
37
  $stderr.puts parsing
38
38
  end
39
- raise exc
39
+ raise e
40
40
  end
41
41
 
42
42
  a_builder.done!
@@ -91,6 +91,7 @@ module Rley # This module is used as a namespace
91
91
  if succ.dotted_item.production.nullable?
92
92
  succ_entry = apply_rule(start_entry, succ, pos, pos, :nullable_rule)
93
93
  next unless succ_entry.exit_entry?
94
+
94
95
  apply_rule(succ_entry, end_vertex, pos, pos, :nullable_rule)
95
96
  end
96
97
  end
@@ -52,12 +52,10 @@ module Rley # Open this namespace to avoid module qualifier prefixes
52
52
  def tokenizer(aText, aGrammar)
53
53
  pos = Rley::Lexical::Position.new(1, 2) # Dummy position
54
54
  tokens = aText.scan(/\S+/).map do |word|
55
- term_name = Groucho_lexicon[word]
56
- if term_name.nil?
57
- raise StandardError, "Word '#{word}' not found in lexicon"
58
- end
55
+ term = Groucho_lexicon[word]
56
+ raise StandardError, "Word '#{word}' not found in lexicon" if term.nil?
59
57
 
60
- terminal = aGrammar.name2symbol[term_name]
58
+ terminal = aGrammar.name2symbol[term]
61
59
  Rley::Lexical::Token.new(word, terminal, pos)
62
60
  end
63
61
 
@@ -252,9 +252,6 @@ SNIPPET
252
252
  end
253
253
 
254
254
  =begin
255
-
256
-
257
-
258
255
  it 'should retrieve the parse states that expect a given terminal' do
259
256
  item1 = DottedItem.new(prod_A1, 2)
260
257
  item2 = DottedItem.new(prod_A1, 1)
@@ -303,7 +300,7 @@ SNIPPET
303
300
 
304
301
  it 'should give a text representation of itself' do
305
302
  repr = subject.to_s
306
- expect(repr).to match /^success\? true/
303
+ expect(repr).to match(/^success\? true/)
307
304
 
308
305
  # Let's test the last chart state only
309
306
  expectation = <<REPR
@@ -47,13 +47,13 @@ module Rley # Open this namespace to avoid module qualifier prefixes
47
47
  # contains a hidden left recursion and a cycle
48
48
  builder = Syntax::GrammarBuilder.new do
49
49
  add_terminals('a', 'b')
50
- rule'Phi' => 'S'
51
- rule'S' => %w[A T]
52
- rule'S' => %w[a T]
53
- rule'A' => 'a'
54
- rule'A' => %w[B A]
55
- rule'B' => []
56
- rule'T' => %w[b b b]
50
+ rule 'Phi' => 'S'
51
+ rule 'S' => %w[A T]
52
+ rule 'S' => %w[a T]
53
+ rule 'A' => 'a'
54
+ rule 'A' => %w[B A]
55
+ rule 'B' => []
56
+ rule 'T' => %w[b b b]
57
57
  end
58
58
  builder.grammar
59
59
  end
@@ -78,13 +78,11 @@ module GrammarL0Helper
78
78
  word = scanner.scan(/\S+/)
79
79
  break unless word
80
80
 
81
- term_name = lexicon_l0[word]
82
- if term_name.nil?
83
- raise StandardError, "Word '#{word}' not found in lexicon"
84
- end
81
+ term = lexicon_l0[word]
82
+ raise StandardError, "Word '#{word}' not found in lexicon" if term.nil?
85
83
 
86
84
  pos = Rley::Lexical::Position.new(1, curr_pos + 1)
87
- tokens << Rley::Lexical::Token.new(word, term_name, pos)
85
+ tokens << Rley::Lexical::Token.new(word, term, pos)
88
86
  end
89
87
 
90
88
  return tokens
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rley
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.06
4
+ version: 0.7.07
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-22 00:00:00.000000000 Z
11
+ date: 2020-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
@@ -307,7 +307,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
307
307
  requirements:
308
308
  - - ">="
309
309
  - !ruby/object:Gem::Version
310
- version: 2.3.0
310
+ version: 2.4.0
311
311
  required_rubygems_version: !ruby/object:Gem::Requirement
312
312
  requirements:
313
313
  - - ">="