rley 0.2.10 → 0.2.11

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