rley 0.2.10 → 0.2.11

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YTA0ZWM0OGY5NTM0ZGJhYTYyMDMyOGEyMjk4Mzc0NTMxOWZkZmMxYw==
5
- data.tar.gz: !binary |-
6
- OGRhZDdiMzg5ZDA2YTA3YTZiZTBjYWYyOTFkOGJlNTVhNjk5YmVmZg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NTA0MTBkNzU4ZDdkNmNmOTA5YjBmNTY3Njg4ZDVkZGU5MmMzNzFmZWVlY2Fm
10
- YzUzZWI4MzU3NmZjYTBmYWQ0NjQzY2QxZjBlMTZlMGIxODY5ZDQ2NTM0ZDRk
11
- NTdjODAxZjViZmU2MThiNDhkNDEzNGI3MjVkMDg3MDI3ZTIwNTU=
12
- data.tar.gz: !binary |-
13
- NTFiZGZlZWI2NTU0ZjNmMzlhZjVmZTlkNmM3ZTFmZGFhYmNhYjcwNDQ5Zjdi
14
- NGRlMjkwZGJjZjMzNDMxOGM3NTIyYTdjNmQzYjQyMGI3ZjdiMDdjMmE5MDkz
15
- NzI5ZDRmZTQ1Zjg2YjFjYmVhMTJmNGYxZTViNTQzNTRlNjhiNjI=
2
+ SHA1:
3
+ metadata.gz: f8e948ad67fc54061db90c17fdd492a637d86ee5
4
+ data.tar.gz: 0ae31c54bb56f2b031c666da5e50a6e4c5b652ad
5
+ SHA512:
6
+ metadata.gz: 47625538467f3e61d2d49d566e9aede25def7faabd5685d21fa30c66c4a10dea1846631916f2a9c16e8abdf6778a6d596a0ad6abd1aef44bba45ff72905ee4d6
7
+ data.tar.gz: f4afa9d44afb07221b5418025a65bc8bd9a0bf9b98175344d6db6e3f6985bd1e719139efe6e5f2eede4eaa4cd359d43c536cdb4b06812f9a309d087c6c8f591c
@@ -1 +1 @@
1
- 1.9.3
1
+ 2.2.3
@@ -1,10 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.0
4
- - 2.0.0
5
3
  - 1.9.3
6
- - 1.9.2
7
- - jruby-19mode
4
+ - 2.0.0
5
+ - 2.1.0
6
+ - 2.2.0
7
+ - jruby-9.0.1.0
8
8
  - jruby-head
9
9
 
10
10
  # Workaround issue of jruby-head configuration on Travis CI
@@ -1,3 +1,9 @@
1
+ ### 0.2.11 / 2015-09-05
2
+ * [CHANGE] Code re-formatted to please Rubocop 0.34.0
3
+ * [CHANGE] File `.travis.yml`: added new Rubies: MRI 2.2.0 and JRuby 9.0.
4
+ * [CHANGE] File `rley.gemspec`: Upgraded gem versions in development dependencies
5
+ * [CHANGE] File `Gemfile`: Upgraded gem versions in development dependencies
6
+
1
7
  ### 0.2.10 / 2015-06-16
2
8
  * [CHANGE] Code re-formatted to please Rubocop 0.32.0
3
9
  * [FIX] File `.rubocop.yml`: disable some cop settings that were too loud.
data/Gemfile CHANGED
@@ -2,8 +2,8 @@ source 'https://rubygems.org'
2
2
  # Prevent Bundler to load the dependencies from our .gemspec file
3
3
 
4
4
  group :development do
5
- gem 'rake', '>= 0.8.0'
5
+ gem 'rake', '>= 10.0.0'
6
6
  gem 'rspec', '>= 3.0.0'
7
- gem 'simplecov', '>= 0.7.0'
7
+ gem 'simplecov', '>= 0.8.0'
8
8
  gem 'coveralls', '>= 0.7.0'
9
9
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module Rley # Module used as a namespace
5
5
  # The version number of the gem.
6
- Version = '0.2.10'
6
+ Version = '0.2.11'
7
7
 
8
8
  # Brief description of the gem.
9
9
  Description = "Ruby implementation of the Earley's parsing algorithm"
@@ -36,7 +36,7 @@ module Rley # This module is used as a namespace
36
36
 
37
37
  # Return the index value of the last non-empty state set.
38
38
  def last_index()
39
- first_empty = state_sets.find_index(&:empty?)
39
+ first_empty = state_sets.find_index(&:empty?)
40
40
  if first_empty.nil?
41
41
  index = state_sets.size - 1
42
42
  else
@@ -50,19 +50,18 @@ module Rley # This module is used as a namespace
50
50
  def push_state(aDottedItem, anOrigin, anIndex, aReason)
51
51
  new_state = ParseState.new(aDottedItem, anOrigin)
52
52
  pushed = self[anIndex].push_state(new_state)
53
- if pushed && tracer.level > 0
54
- case aReason
55
- when :start_rule, :prediction
56
- tracer.trace_prediction(anIndex, new_state)
57
-
58
- when :scanning
59
- tracer.trace_scanning(anIndex, new_state)
60
-
61
- when :completion
62
- tracer.trace_completion(anIndex, new_state)
63
- else
64
- fail NotImplementedError, "Unknown push_state mode #{aReason}"
65
- end
53
+ return unless pushed && tracer.level > 0
54
+ case aReason
55
+ when :start_rule, :prediction
56
+ tracer.trace_prediction(anIndex, new_state)
57
+
58
+ when :scanning
59
+ tracer.trace_scanning(anIndex, new_state)
60
+
61
+ when :completion
62
+ tracer.trace_completion(anIndex, new_state)
63
+ else
64
+ fail NotImplementedError, "Unknown push_state mode #{aReason}"
66
65
  end
67
66
  end
68
67
  end # class
@@ -13,7 +13,7 @@ module Rley # This module is used as a namespace
13
13
  # An item with the dot at the end (i.e. after all rhs symbols)
14
14
  # is called a reduce item.
15
15
  # An item with a dot in front of a terminal is called a shift item.
16
- module Parser # This module is used as a namespace
16
+ module Parser # This module is used as a namespace
17
17
  class DottedItem
18
18
  # Production rule
19
19
  attr_reader(:production)
@@ -71,7 +71,7 @@ module Rley # This module is used as a namespace
71
71
  if before_position.nil?
72
72
  result = nil
73
73
  else
74
- result = production.rhs[before_position]
74
+ result = production.rhs[before_position]
75
75
  end
76
76
 
77
77
  return result
@@ -114,7 +114,7 @@ module Rley # This module is used as a namespace
114
114
  if rhs_size == 0
115
115
  index = -2 # Minus 2 at start/end of empty production
116
116
  elsif aPosition == rhs_size
117
- index = -1 # Minus 1 at end of non-empty production
117
+ index = -1 # Minus 1 at end of non-empty production
118
118
  else
119
119
  index = aPosition
120
120
  end
@@ -47,14 +47,14 @@ module Rley # This module is used as a namespace
47
47
  handle_error(result) if result.chart[i].empty?
48
48
  predicted = Set.new
49
49
  result.chart[i].each do |state|
50
- if state.complete? # End of production reached?
50
+ if state.complete? # End of production reached?
51
51
  completion(result, state, i, tracer)
52
52
  else
53
53
  next_symbol = state.next_symbol
54
54
  if next_symbol.kind_of?(Syntax::NonTerminal)
55
55
  unless predicted.include? next_symbol
56
56
  prediction(result, state, next_symbol, i, tracer)
57
- predicted << next_symbol # Avoid repeated predictions
57
+ predicted << next_symbol # Avoid repeated predictions
58
58
  end
59
59
  elsif i < last_token_index
60
60
  # Expecting a terminal symbol
@@ -64,7 +64,7 @@ module Rley # This module is used as a namespace
64
64
  # "format of dotted rule" + " | " + origin
65
65
  # @return [String]
66
66
  def to_s()
67
- return dotted_rule.to_s + " | #{origin}"
67
+ return dotted_rule.to_s + " | #{origin}"
68
68
  end
69
69
 
70
70
 
@@ -1,4 +1,4 @@
1
- require_relative 'parse_tree_node' # Load superclass
1
+ require_relative 'parse_tree_node' # Load superclass
2
2
 
3
3
  module Rley # This module is used as a namespace
4
4
  module PTree # This module is used as a namespace
@@ -9,14 +9,14 @@ module Rley # This module is used as a namespace
9
9
  def initialize(aTerminalSymbol, aRange)
10
10
  super(aTerminalSymbol, aRange)
11
11
  end
12
-
12
+
13
13
  # Emit a (formatted) string representation of the node.
14
14
  # Mainly used for diagnosis/debugging purposes.
15
15
  def to_string(indentation)
16
16
  value = token.nil? ? '(nil)' : token.lexeme
17
17
  super(indentation) + ": '#{value}'"
18
18
  end
19
-
19
+
20
20
  # Part of the 'visitee' role in Visitor design pattern.
21
21
  # @param aVisitor[ParseTreeVisitor] the visitor
22
22
  def accept(aVisitor)
@@ -9,7 +9,7 @@ module Rley # This module is used as a namespace
9
9
  attr_reader(:text)
10
10
 
11
11
  def initialize(aText)
12
- super(aText) # Do we need to separate the text from the name?
12
+ super(aText) # Do we need to separate the text from the name?
13
13
  @text = aText.dup
14
14
  end
15
15
 
@@ -12,7 +12,7 @@ require_relative '../../../lib/rley/formatter/debug'
12
12
  module Rley # Re-open the module to get rid of qualified names
13
13
  module Formatter
14
14
  describe Debug do
15
- include GrammarABCHelper # Mix-in module for grammar abc
15
+ include GrammarABCHelper # Mix-in module for grammar abc
16
16
 
17
17
  # Factory method. Build a production with the given sequence
18
18
  # of symbols as its rhs.
@@ -13,7 +13,7 @@ require_relative '../../../lib/rley/formatter/json'
13
13
  module Rley # Re-open the module to get rid of qualified names
14
14
  module Formatter
15
15
  describe Json do
16
- include GrammarABCHelper # Mix-in module with builder for grammar abc
16
+ include GrammarABCHelper # Mix-in module with builder for grammar abc
17
17
 
18
18
  # Factory method. Build a production with the given sequence
19
19
  # of symbols as its rhs.
@@ -21,12 +21,12 @@ module Rley # Re-open the module to get rid of qualified names
21
21
  builder = grammar_abc_builder
22
22
  builder.grammar
23
23
  end
24
-
24
+
25
25
  # Variables for the terminal symbols
26
26
  let(:a_) { grammar_abc.name2symbol['a'] }
27
27
  let(:b_) { grammar_abc.name2symbol['b'] }
28
28
  let(:c_) { grammar_abc.name2symbol['c'] }
29
-
29
+
30
30
  # Helper method that mimicks the output of a tokenizer
31
31
  # for the language specified by gramma_abc
32
32
  let(:grm_abc_tokens1) do
@@ -56,22 +56,22 @@ module Rley # Re-open the module to get rid of qualified names
56
56
  parse_result = parser.parse(grm_abc_tokens1)
57
57
  parse_result.parse_tree
58
58
  end
59
-
59
+
60
60
  let(:destination) { StringIO.new('', 'w') }
61
61
 
62
62
  context 'Standard creation & initialization:' do
63
63
  it 'should be initialized with an IO argument' do
64
64
  expect { Json.new(StringIO.new('', 'w')) }.not_to raise_error
65
65
  end
66
-
66
+
67
67
  it 'should know its output destination' do
68
68
  instance = Json.new(destination)
69
69
  expect(instance.output).to eq(destination)
70
70
  end
71
71
  end # context
72
-
73
-
74
- context 'Formatting events:' do
72
+
73
+
74
+ context 'Formatting events:' do
75
75
  it 'should render a parse tree in JSON' do
76
76
  instance = Json.new(destination)
77
77
  visitor = Rley::ParseTreeVisitor.new(grm_abc_ptree1)
@@ -1,6 +1,5 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
-
4
3
  require_relative './support/grammar_abc_helper'
5
4
  require_relative '../../lib/rley/parser/token'
6
5
  require_relative '../../lib/rley/parser/earley_parser'
@@ -9,7 +8,7 @@ require_relative '../../lib/rley/parse_tree_visitor'
9
8
 
10
9
  module Rley # Open this namespace to avoid module qualifier prefixes
11
10
  describe ParseTreeVisitor do
12
- include GrammarABCHelper # Mix-in module with builder for grammar abc
11
+ include GrammarABCHelper # Mix-in module with builder for grammar abc
13
12
 
14
13
  let(:grammar_abc) do
15
14
  builder = grammar_abc_builder
@@ -82,7 +82,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
82
82
  let(:nt_M) { Syntax::NonTerminal.new('M') }
83
83
  let(:nt_T) { Syntax::NonTerminal.new('T') }
84
84
  let(:plus) { Syntax::VerbatimSymbol.new('+') }
85
- let(:star) { Syntax::VerbatimSymbol.new('*') }
85
+ let(:star) { Syntax::VerbatimSymbol.new('*') }
86
86
  let(:integer) do
87
87
  integer_pattern = /[-+]?[0-9]+/ # Decimal notation
88
88
  Syntax::Literal.new('integer', integer_pattern)
@@ -9,7 +9,7 @@ require_relative '../support/grammar_abc_helper'
9
9
  module Rley # Open this namespace to avoid module qualifier prefixes
10
10
  module Parser # Open this namespace to avoid module qualifier prefixes
11
11
  describe ParseTreeBuilder do
12
- include GrammarABCHelper # Mix-in module with builder for grammar abc
12
+ include GrammarABCHelper # Mix-in module with builder for grammar abc
13
13
 
14
14
  let(:grammar_abc) do
15
15
  builder = grammar_abc_builder
@@ -159,9 +159,8 @@ SNIPPET
159
159
  subject.move_back # ...to S
160
160
  expect(subject.current_node.symbol).to eq(capital_s)
161
161
  end
162
-
162
+
163
163
  it 'should move through deeply nested structure' do
164
-
165
164
  end
166
165
  end # context
167
166
 
@@ -19,7 +19,7 @@ require_relative '../../../lib/rley/parser/parsing'
19
19
  module Rley # Open this namespace to avoid module qualifier prefixes
20
20
  module Parser # Open this namespace to avoid module qualifier prefixes
21
21
  describe Parsing do
22
- include GrammarABCHelper # Mix-in module with builder for grammar abc
22
+ include GrammarABCHelper # Mix-in module with builder for grammar abc
23
23
  include GrammarBExprHelper # Mix-in with builder for simple expressions
24
24
 
25
25
  # Grammar 1: A very simple language
@@ -71,7 +71,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
71
71
  it 'should know its chart object' do
72
72
  expect(subject.chart).to be_kind_of(Chart)
73
73
  end
74
-
74
+
75
75
  it 'should emit trace level 1 info' do
76
76
  tracer = ParseTracer.new(1, output, grm1_tokens)
77
77
  Parsing.new(start_dotted_rule, grm1_tokens, tracer)
@@ -358,7 +358,7 @@ P[0, 5]
358
358
  SNIPPET
359
359
  root_text = builder.root.to_string(0)
360
360
  expect(root_text).to eq(expected_text.chomp)
361
-
361
+
362
362
  expected_state = 'T => . integer | 0'
363
363
  expect(state_tracker.parse_state.to_s).to eq(expected_state)
364
364
  expect(state_tracker.state_set_index).to eq(0)
@@ -398,7 +398,7 @@ P[0, 5]
398
398
  +- T[4, 5]
399
399
  +- integer[4, 5]: '4'
400
400
  SNIPPET
401
- actual = ptree.root.to_string(0)
401
+ actual = ptree.root.to_string(0)
402
402
  expect(actual).to eq(expected_text.chomp)
403
403
  end
404
404
  end # context
@@ -7,8 +7,8 @@ module Rley # Open this namespace to avoid module qualifier prefixes
7
7
  module PTree # Open this namespace to avoid module qualifier prefixes
8
8
  describe ParseTreeNode do
9
9
  let(:sample_symbol) { double('fake-symbol') }
10
- let(:sample_range) { { low: 0, high: 5 } }
11
-
10
+ let(:sample_range) { { low: 0, high: 5 } }
11
+
12
12
  subject { ParseTreeNode.new(sample_symbol, sample_range) }
13
13
 
14
14
  context 'Initialization:' do
@@ -20,7 +20,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
20
20
  it 'should know its symbol' do
21
21
  expect(subject.symbol).to eq(sample_symbol)
22
22
  end
23
-
23
+
24
24
  it 'should know its range' do
25
25
  expect(subject.range).to eq(sample_range)
26
26
  end
@@ -9,7 +9,7 @@ require_relative '../../../lib/rley/ptree/parse_tree'
9
9
  module Rley # Open this namespace to avoid module qualifier prefixes
10
10
  module PTree # Open this namespace to avoid module qualifier prefixes
11
11
  describe ParseTree do
12
- include GrammarABCHelper # Mix-in module with builder for grammar abc
12
+ include GrammarABCHelper # Mix-in module with builder for grammar abc
13
13
 
14
14
  let(:sample_grammar) do
15
15
  builder = grammar_abc_builder
@@ -67,11 +67,11 @@ module Rley # Open this namespace to avoid module qualifier prefixes
67
67
  expect(instance).not_to be_bounded
68
68
 
69
69
  # Case: only upper bound is set
70
- instance = TokenRange.new(high: 5)
70
+ instance = TokenRange.new(high: 5)
71
71
  expect(instance).not_to be_bounded
72
72
 
73
73
  # No bound is set
74
- instance = TokenRange.new({})
74
+ instance = TokenRange.new({})
75
75
  expect(instance).not_to be_bounded
76
76
  end
77
77
 
@@ -146,7 +146,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
146
146
 
147
147
  it 'should provide a text representation of itself' do
148
148
  # Case 1: not bound is set
149
- instance = TokenRange.new({})
149
+ instance = TokenRange.new({})
150
150
  expect(instance.to_string(0)).to eq('[?, ?]')
151
151
 
152
152
  # Case: only low bound is set
@@ -154,11 +154,11 @@ module Rley # Open this namespace to avoid module qualifier prefixes
154
154
  expect(instance.to_string(0)).to eq('[0, ?]')
155
155
 
156
156
  # Case: only upper bound is set
157
- instance = TokenRange.new(high: 5)
157
+ instance = TokenRange.new(high: 5)
158
158
  expect(instance.to_string(0)).to eq('[?, 5]')
159
159
 
160
160
  # Case: both bounds are set
161
- instance = TokenRange.new(low: 0, high: 5)
161
+ instance = TokenRange.new(low: 0, high: 5)
162
162
  expect(instance.to_string(0)).to eq('[0, 5]')
163
163
  end
164
164
  end
@@ -14,7 +14,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
14
14
  # having same lhs and the symbols sequence
15
15
  # in their rhs.
16
16
  def alternate_prods(aNonTerminal, sequences)
17
- prods = sequences.map do |symbs|
17
+ prods = sequences.map do |symbs|
18
18
  Production.new(aNonTerminal, symbs)
19
19
  end
20
20
 
@@ -34,7 +34,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
34
34
  end
35
35
 
36
36
  # Grammar symbols for integer arithmetic expressions
37
- let(:number) { Literal.new('number', /\d+/) } # Positive integers only
37
+ let(:number) { Literal.new('number', /\d+/) } # Positive integers only
38
38
  let(:add_op) { NonTerminal.new('add_op') }
39
39
  let(:add_operators) { [grm1_ops['+'], grm1_ops['-']] }
40
40
  let(:mult_op) { NonTerminal.new('mult_op') }
@@ -41,7 +41,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
41
41
 
42
42
  context 'Provided services:' do
43
43
  it 'should compare compare with itself' do
44
- me = subject # Use another name to please Rubocop
44
+ me = subject # Use another name to please Rubocop
45
45
  expect(subject == me).to eq(true)
46
46
  end
47
47
 
metadata CHANGED
@@ -1,83 +1,101 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rley
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-16 00:00:00.000000000 Z
11
+ date: 2015-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.0
19
+ version: '10.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 10.0.0
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ! '>='
27
+ - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: 0.8.0
29
+ version: '10.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 10.0.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rspec
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ! '>='
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
40
+ - - ">="
32
41
  - !ruby/object:Gem::Version
33
42
  version: 3.0.0
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - ! '>='
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '3.0'
50
+ - - ">="
39
51
  - !ruby/object:Gem::Version
40
52
  version: 3.0.0
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: simplecov
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - ! '>='
57
+ - - ">="
46
58
  - !ruby/object:Gem::Version
47
- version: 0.7.0
59
+ version: 0.8.0
48
60
  type: :development
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
- - - ! '>='
64
+ - - ">="
53
65
  - !ruby/object:Gem::Version
54
- version: 0.7.0
66
+ version: 0.8.0
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: coveralls
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - ! '>='
71
+ - - ">="
60
72
  - !ruby/object:Gem::Version
61
73
  version: 0.7.0
62
74
  type: :development
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
66
- - - ! '>='
78
+ - - ">="
67
79
  - !ruby/object:Gem::Version
68
80
  version: 0.7.0
69
81
  - !ruby/object:Gem::Dependency
70
82
  name: rubygems
71
83
  requirement: !ruby/object:Gem::Requirement
72
84
  requirements:
73
- - - ! '>='
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.0'
88
+ - - ">="
74
89
  - !ruby/object:Gem::Version
75
90
  version: 2.0.0
76
91
  type: :development
77
92
  prerelease: false
78
93
  version_requirements: !ruby/object:Gem::Requirement
79
94
  requirements:
80
- - - ! '>='
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.0'
98
+ - - ">="
81
99
  - !ruby/object:Gem::Version
82
100
  version: 2.0.0
83
101
  description: A general parser using the Earley algorithm.
@@ -87,31 +105,31 @@ extensions: []
87
105
  extra_rdoc_files:
88
106
  - README.md
89
107
  files:
90
- - .rubocop.yml
91
- - .rspec
92
- - .ruby-gemset
93
- - .ruby-version
94
- - .simplecov
95
- - .travis.yml
96
- - .yardopts
97
- - Gemfile
98
- - Rakefile
108
+ - ".rspec"
109
+ - ".rubocop.yml"
110
+ - ".ruby-gemset"
111
+ - ".ruby-version"
112
+ - ".simplecov"
113
+ - ".travis.yml"
114
+ - ".yardopts"
99
115
  - CHANGELOG.md
116
+ - Gemfile
100
117
  - LICENSE.txt
101
118
  - README.md
102
- - examples/grammars/grammar_abc.rb
119
+ - Rakefile
103
120
  - examples/grammars/grammar_L0.rb
104
- - examples/parsers/demo-JSON/demo_json.rb
121
+ - examples/grammars/grammar_abc.rb
105
122
  - examples/parsers/demo-JSON/JSON_grammar.rb
106
123
  - examples/parsers/demo-JSON/JSON_lexer.rb
107
124
  - examples/parsers/demo-JSON/JSON_parser.rb
125
+ - examples/parsers/demo-JSON/demo_json.rb
126
+ - examples/parsers/parsing_L0.rb
127
+ - examples/parsers/parsing_L1.rb
108
128
  - examples/parsers/parsing_abc.rb
109
129
  - examples/parsers/parsing_ambig.rb
110
130
  - examples/parsers/parsing_b_expr.rb
111
131
  - examples/parsers/parsing_err_expr.rb
112
132
  - examples/parsers/parsing_groucho.rb
113
- - examples/parsers/parsing_L0.rb
114
- - examples/parsers/parsing_L1.rb
115
133
  - examples/parsers/tracing_parser.rb
116
134
  - examples/recognizers/recognizer_abc.rb
117
135
  - lib/rley.rb
@@ -119,6 +137,7 @@ files:
119
137
  - lib/rley/formatter/base_formatter.rb
120
138
  - lib/rley/formatter/debug.rb
121
139
  - lib/rley/formatter/json.rb
140
+ - lib/rley/parse_tree_visitor.rb
122
141
  - lib/rley/parser/chart.rb
123
142
  - lib/rley/parser/dotted_item.rb
124
143
  - lib/rley/parser/earley_parser.rb
@@ -129,7 +148,6 @@ files:
129
148
  - lib/rley/parser/parsing.rb
130
149
  - lib/rley/parser/state_set.rb
131
150
  - lib/rley/parser/token.rb
132
- - lib/rley/parse_tree_visitor.rb
133
151
  - lib/rley/ptree/non_terminal_node.rb
134
152
  - lib/rley/ptree/parse_tree.rb
135
153
  - lib/rley/ptree/parse_tree_node.rb
@@ -146,6 +164,7 @@ files:
146
164
  - lib/rley/syntax/verbatim_symbol.rb
147
165
  - spec/rley/formatter/debug_spec.rb
148
166
  - spec/rley/formatter/json_spec.rb
167
+ - spec/rley/parse_tree_visitor_spec.rb
149
168
  - spec/rley/parser/chart_spec.rb
150
169
  - spec/rley/parser/dotted_item_spec.rb
151
170
  - spec/rley/parser/earley_parser_spec.rb
@@ -155,7 +174,6 @@ files:
155
174
  - spec/rley/parser/parsing_spec.rb
156
175
  - spec/rley/parser/state_set_spec.rb
157
176
  - spec/rley/parser/token_spec.rb
158
- - spec/rley/parse_tree_visitor_spec.rb
159
177
  - spec/rley/ptree/non_terminal_node_spec.rb
160
178
  - spec/rley/ptree/parse_tree_node_spec.rb
161
179
  - spec/rley/ptree/parse_tree_spec.rb
@@ -178,30 +196,27 @@ homepage: https://github.com/famished-tiger/Rley
178
196
  licenses:
179
197
  - MIT
180
198
  metadata: {}
181
- post_install_message: ! '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182
-
199
+ post_install_message: |
200
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
183
201
  Thank you for installing Rley...
184
-
185
202
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186
-
187
- '
188
203
  rdoc_options:
189
204
  - --charset=UTF-8 --exclude="examples|features|spec"
190
205
  require_paths:
191
206
  - lib
192
207
  required_ruby_version: !ruby/object:Gem::Requirement
193
208
  requirements:
194
- - - ! '>='
209
+ - - ">="
195
210
  - !ruby/object:Gem::Version
196
211
  version: 1.9.3
197
212
  required_rubygems_version: !ruby/object:Gem::Requirement
198
213
  requirements:
199
- - - ! '>='
214
+ - - ">="
200
215
  - !ruby/object:Gem::Version
201
216
  version: '0'
202
217
  requirements: []
203
218
  rubyforge_project:
204
- rubygems_version: 2.0.3
219
+ rubygems_version: 2.4.5.1
205
220
  signing_key:
206
221
  specification_version: 4
207
222
  summary: Ruby implementation of the Earley's parsing algorithm