rley 0.5.05 → 0.5.06

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/examples/NLP/mini_en_demo.rb +1 -1
  4. data/examples/data_formats/JSON/json_lexer.rb +4 -4
  5. data/examples/general/calc_iter1/calc_lexer.rb +1 -1
  6. data/examples/general/calc_iter2/calc_ast_builder.rb +51 -23
  7. data/examples/general/calc_iter2/calc_ast_nodes.rb +27 -6
  8. data/examples/general/calc_iter2/calc_demo.rb +2 -1
  9. data/examples/general/calc_iter2/calc_grammar.rb +14 -5
  10. data/examples/general/calc_iter2/calc_lexer.rb +14 -5
  11. data/examples/general/calc_iter2/spec/calculator_spec.rb +140 -23
  12. data/lib/rley.rb +1 -1
  13. data/lib/rley/{parser → base}/base_parser.rb +5 -3
  14. data/lib/rley/{parser → base}/dotted_item.rb +27 -16
  15. data/lib/rley/{parser → base}/grm_items_builder.rb +4 -2
  16. data/lib/rley/constants.rb +1 -1
  17. data/lib/rley/formatter/base_formatter.rb +1 -0
  18. data/lib/rley/gfg/item_vertex.rb +16 -5
  19. data/lib/rley/gfg/non_terminal_vertex.rb +5 -0
  20. data/lib/rley/gfg/vertex.rb +1 -2
  21. data/lib/rley/lexical/token.rb +31 -0
  22. data/lib/rley/{tokens → lexical}/token_range.rb +8 -2
  23. data/lib/rley/parser/gfg_earley_parser.rb +2 -2
  24. data/lib/rley/parser/parse_tree_builder.rb +2 -2
  25. data/lib/rley/ptree/parse_tree_node.rb +2 -2
  26. data/lib/rley/sppf/sppf_node.rb +2 -2
  27. data/lib/rley/syntax/grammar.rb +5 -1
  28. data/lib/rley/syntax/grammar_builder.rb +2 -2
  29. data/lib/rley/syntax/terminal.rb +1 -1
  30. data/spec/rley/{parser → base}/dotted_item_spec.rb +2 -2
  31. data/spec/rley/{parser → base}/grm_items_builder_spec.rb +2 -2
  32. data/spec/rley/formatter/asciitree_spec.rb +6 -6
  33. data/spec/rley/formatter/bracket_notation_spec.rb +6 -6
  34. data/spec/rley/formatter/debug_spec.rb +6 -6
  35. data/spec/rley/formatter/json_spec.rb +6 -6
  36. data/spec/rley/gfg/call_edge_spec.rb +2 -2
  37. data/spec/rley/gfg/grm_flow_graph_spec.rb +2 -2
  38. data/spec/rley/gfg/item_vertex_spec.rb +9 -9
  39. data/spec/rley/gfg/return_edge_spec.rb +2 -2
  40. data/spec/rley/{tokens → lexical}/token_range_spec.rb +2 -2
  41. data/spec/rley/{tokens → lexical}/token_spec.rb +2 -2
  42. data/spec/rley/parse_forest_visitor_spec.rb +1 -1
  43. data/spec/rley/parse_tree_visitor_spec.rb +6 -6
  44. data/spec/rley/parser/ast_builder_spec.rb +1 -1
  45. data/spec/rley/parser/cst_builder_spec.rb +1 -1
  46. data/spec/rley/parser/error_reason_spec.rb +3 -3
  47. data/spec/rley/parser/gfg_chart_spec.rb +4 -4
  48. data/spec/rley/parser/gfg_earley_parser_spec.rb +3 -3
  49. data/spec/rley/parser/gfg_parsing_spec.rb +5 -5
  50. data/spec/rley/parser/groucho_spec.rb +1 -1
  51. data/spec/rley/parser/parse_entry_set_spec.rb +4 -4
  52. data/spec/rley/parser/parse_entry_spec.rb +4 -4
  53. data/spec/rley/parser/parse_state_spec.rb +7 -7
  54. data/spec/rley/parser/parse_tracer_spec.rb +5 -5
  55. data/spec/rley/parser/parse_walker_factory_spec.rb +1 -1
  56. data/spec/rley/ptree/non_terminal_node_spec.rb +1 -1
  57. data/spec/rley/sppf/alternative_node_spec.rb +4 -4
  58. data/spec/rley/sppf/non_terminal_node_spec.rb +2 -2
  59. data/spec/rley/support/ambiguous_grammar_helper.rb +2 -2
  60. data/spec/rley/support/expectation_helper.rb +1 -1
  61. data/spec/rley/support/grammar_ambig01_helper.rb +2 -2
  62. data/spec/rley/support/grammar_arr_int_helper.rb +3 -3
  63. data/spec/rley/support/grammar_b_expr_helper.rb +2 -2
  64. data/spec/rley/support/grammar_helper.rb +3 -3
  65. data/spec/rley/support/grammar_l0_helper.rb +2 -2
  66. data/spec/rley/support/grammar_pb_helper.rb +2 -2
  67. metadata +15 -15
  68. data/lib/rley/tokens/token.rb +0 -14
@@ -3,7 +3,7 @@ require_relative '../../spec_helper'
3
3
  require_relative '../../../lib/rley/syntax/terminal'
4
4
  require_relative '../../../lib/rley/syntax/non_terminal'
5
5
  require_relative '../../../lib/rley/syntax/production'
6
- require_relative '../../../lib/rley/parser/dotted_item'
6
+ require_relative '../../../lib/rley/base/dotted_item'
7
7
 
8
8
  # Load the class under test
9
9
  require_relative '../../../lib/rley/parser/parse_entry'
@@ -24,7 +24,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
24
24
  Syntax::Production.new(nt_sentence, [])
25
25
  end
26
26
 
27
- let(:dotted_rule) { DottedItem.new(sample_prod, 2) }
27
+ let(:dotted_rule) { Base::DottedItem.new(sample_prod, 2) }
28
28
  let(:origin_val) { 3 }
29
29
  let(:vertex_faked) { double('fake-vertex') }
30
30
  let(:vertex2) { double('vertex-mock') }
@@ -129,13 +129,13 @@ module Rley # Open this namespace to avoid module qualifier prefixes
129
129
  expect(instance2).not_to be_entry_entry
130
130
 
131
131
  # Case: item vertex not at begin of rhs
132
- d1 = DottedItem.new(sample_prod, 1)
132
+ d1 = Base::DottedItem.new(sample_prod, 1)
133
133
  v1 = GFG::ItemVertex.new(d1)
134
134
  instance3 = ParseEntry.new(v1, 3)
135
135
  expect(instance3).not_to be_entry_entry
136
136
 
137
137
  # Case: item vertex at end of rhs
138
- d2 = DottedItem.new(sample_prod, 0)
138
+ d2 = Base::DottedItem.new(sample_prod, 0)
139
139
  v2 = GFG::ItemVertex.new(d2)
140
140
  instance4 = ParseEntry.new(v2, 3)
141
141
  expect(instance4).to be_entry_entry
@@ -3,7 +3,7 @@ require_relative '../../spec_helper'
3
3
  require_relative '../../../lib/rley/syntax/terminal'
4
4
  require_relative '../../../lib/rley/syntax/non_terminal'
5
5
  require_relative '../../../lib/rley/syntax/production'
6
- require_relative '../../../lib/rley/parser/dotted_item'
6
+ require_relative '../../../lib/rley/base/dotted_item'
7
7
 
8
8
  # Load the class under test
9
9
  require_relative '../../../lib/rley/parser/parse_state'
@@ -29,7 +29,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
29
29
  end
30
30
 
31
31
  let(:origin_val) { 3 }
32
- let(:dotted_rule) { DottedItem.new(sample_prod, 2) }
32
+ let(:dotted_rule) { Base::DottedItem.new(sample_prod, 2) }
33
33
  let(:other_dotted_rule) { double('mock-dotted-item') }
34
34
 
35
35
  # Default instantiation rule
@@ -77,7 +77,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
77
77
 
78
78
  it 'should know if the parsing is at the start of the production' do
79
79
  expect(subject).not_to be_predicted
80
- at_start = DottedItem.new(sample_prod, 0)
80
+ at_start = Base::DottedItem.new(sample_prod, 0)
81
81
 
82
82
  instance = ParseState.new(at_start, 0)
83
83
  expect(instance).to be_predicted
@@ -85,7 +85,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
85
85
 
86
86
  it 'should know if the parsing reached the end of the production' do
87
87
  expect(subject).not_to be_complete
88
- at_end = DottedItem.new(sample_prod, 3)
88
+ at_end = Base::DottedItem.new(sample_prod, 3)
89
89
 
90
90
  instance = ParseState.new(at_end, 2)
91
91
  expect(instance).to be_complete
@@ -97,12 +97,12 @@ module Rley # Open this namespace to avoid module qualifier prefixes
97
97
 
98
98
  it 'should know whether another instance follows this one' do
99
99
  expect(subject.precedes?(subject)).to eq(false)
100
- state1 = ParseState.new(DottedItem.new(sample_prod, 1), origin_val)
100
+ state1 = ParseState.new(Base::DottedItem.new(sample_prod, 1), origin_val)
101
101
  expect(state1.precedes?(subject)).to eq(true)
102
- state0 = ParseState.new(DottedItem.new(sample_prod, 0), origin_val)
102
+ state0 = ParseState.new(Base::DottedItem.new(sample_prod, 0), origin_val)
103
103
  expect(state0.precedes?(state1)).to eq(true)
104
104
  expect(state0.precedes?(subject)).to eq(false)
105
- state3 = ParseState.new(DottedItem.new(sample_prod, 3), origin_val)
105
+ state3 = ParseState.new(Base::DottedItem.new(sample_prod, 3), origin_val)
106
106
  expect(state3.precedes?(state0)).to eq(false)
107
107
  end
108
108
 
@@ -4,9 +4,9 @@ require 'stringio'
4
4
  require_relative '../../../lib/rley/syntax/terminal'
5
5
  require_relative '../../../lib/rley/syntax/non_terminal'
6
6
  require_relative '../../../lib/rley/syntax/production'
7
- require_relative '../../../lib/rley/parser/dotted_item'
7
+ require_relative '../../../lib/rley/base/dotted_item'
8
8
  require_relative '../../../lib/rley/parser/parse_state'
9
- require_relative '../../../lib/rley/tokens/token'
9
+ require_relative '../../../lib/rley/lexical/token'
10
10
 
11
11
  # Load the class under test
12
12
  require_relative '../../../lib/rley/parser/parse_tracer'
@@ -18,7 +18,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
18
18
 
19
19
  let(:token_seq) do
20
20
  literals = %w[I saw John with a dog]
21
- literals.map { |lexeme| Tokens::Token.new(lexeme, nil) }
21
+ literals.map { |lexeme| Lexical::Token.new(lexeme, nil) }
22
22
  end
23
23
 
24
24
  subject { ParseTracer.new(1, output, token_seq) }
@@ -68,8 +68,8 @@ SNIPPET
68
68
  end
69
69
 
70
70
  let(:origin_val) { 3 }
71
- let(:dotted_rule) { DottedItem.new(sample_prod, 2) }
72
- let(:complete_rule) { DottedItem.new(sample_prod, 3) }
71
+ let(:dotted_rule) { Base::DottedItem.new(sample_prod, 2) }
72
+ let(:complete_rule) { Base::DottedItem.new(sample_prod, 3) }
73
73
  let(:sample_parse_state) { ParseState.new(dotted_rule, origin_val) }
74
74
 
75
75
  # Factory method.
@@ -29,7 +29,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
29
29
  case entry
30
30
  when Parser::ParseEntry
31
31
  expect(entry.to_s).to eq(expectations[1])
32
- when Tokens::Token
32
+ when Lexical::Token
33
33
  expect(entry.lexeme).to eq(expectations[1])
34
34
  end
35
35
  else
@@ -10,7 +10,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
10
10
  describe NonTerminalNode do
11
11
  # Factory method. Generate a range from its boundary values.
12
12
  def range(low, high)
13
- return Tokens::TokenRange.new(low: low, high: high)
13
+ return Lexical::TokenRange.new(low: low, high: high)
14
14
  end
15
15
 
16
16
  let(:sample_symbol) do
@@ -4,8 +4,8 @@ require_relative '../../spec_helper'
4
4
  require_relative '../../../lib/rley/gfg/item_vertex'
5
5
  require_relative '../../../lib/rley/syntax/terminal'
6
6
  require_relative '../../../lib/rley/syntax/production'
7
- require_relative '../../../lib/rley/tokens/token_range'
8
- require_relative '../../../lib/rley/parser/dotted_item'
7
+ require_relative '../../../lib/rley/lexical/token_range'
8
+ require_relative '../../../lib/rley/base/dotted_item'
9
9
 
10
10
  # Load the class under test
11
11
  require_relative '../../../lib/rley/sppf/alternative_node'
@@ -15,7 +15,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
15
15
  describe AlternativeNode do
16
16
  # Factory method. Generate a range from its boundary values.
17
17
  def range(low, high)
18
- return Tokens::TokenRange.new(low: low, high: high)
18
+ return Lexical::TokenRange.new(low: low, high: high)
19
19
  end
20
20
 
21
21
  let(:t_a) { Syntax::Terminal.new('A') }
@@ -25,7 +25,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
25
25
  let(:sample_prod) do
26
26
  Syntax::Production.new(nt_sentence, [t_a, t_b, t_c])
27
27
  end
28
- let(:sample_item) { Parser::DottedItem.new(sample_prod, 3) }
28
+ let(:sample_item) { Base::DottedItem.new(sample_prod, 3) }
29
29
  let(:sample_vertex) { GFG::ItemVertex.new(sample_item) }
30
30
  let(:sample_range) { range(0, 3) }
31
31
 
@@ -2,7 +2,7 @@ require 'ostruct'
2
2
  require_relative '../../spec_helper'
3
3
 
4
4
  require_relative '../../../lib/rley/syntax/non_terminal'
5
- require_relative '../../../lib/rley/tokens/token_range'
5
+ require_relative '../../../lib/rley/lexical/token_range'
6
6
 
7
7
  # Load the class under test
8
8
  require_relative '../../../lib/rley/sppf/non_terminal_node'
@@ -12,7 +12,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
12
12
  describe NonTerminalNode do
13
13
  # Factory method. Generate a range from its boundary values.
14
14
  def range(low, high)
15
- return Tokens::TokenRange.new(low: low, high: high)
15
+ return Lexical::TokenRange.new(low: low, high: high)
16
16
  end
17
17
 
18
18
  let(:sample_symbol) do
@@ -1,6 +1,6 @@
1
1
  # Load the builder class
2
2
  require_relative '../../../lib/rley/syntax/grammar_builder'
3
- require_relative '../../../lib/rley/tokens/token'
3
+ require_relative '../../../lib/rley/lexical/token'
4
4
 
5
5
 
6
6
  module AmbiguousGrammarHelper
@@ -29,7 +29,7 @@ module AmbiguousGrammarHelper
29
29
  msg = "Unknown input text '#{lexeme}'"
30
30
  raise StandardError, msg
31
31
  end
32
- Rley::Tokens::Token.new(lexeme, terminal)
32
+ Rley::Lexical::Token.new(lexeme, terminal)
33
33
  end
34
34
 
35
35
  return tokens
@@ -1,5 +1,5 @@
1
1
  # Load the builder class
2
- require_relative '../../../lib/rley/tokens/token'
2
+ require_relative '../../../lib/rley/lexical/token'
3
3
 
4
4
 
5
5
  # Mixin module implementing expectation helper methods.
@@ -1,6 +1,6 @@
1
1
  # Load the builder class
2
2
  require_relative '../../../lib/rley/syntax/grammar_builder'
3
- require_relative '../../../lib/rley/tokens/token'
3
+ require_relative '../../../lib/rley/lexical/token'
4
4
 
5
5
 
6
6
  module GrammarAmbig01Helper
@@ -32,7 +32,7 @@ module GrammarAmbig01Helper
32
32
  msg = "Unknown input text '#{lexeme}'"
33
33
  raise StandardError, msg
34
34
  end
35
- Rley::Tokens::Token.new(lexeme, terminal)
35
+ Rley::Lexical::Token.new(lexeme, terminal)
36
36
  end
37
37
 
38
38
  return tokens
@@ -2,7 +2,7 @@ require 'strscan'
2
2
 
3
3
  # Load the builder class
4
4
  require_relative '../../../lib/rley/syntax/grammar_builder'
5
- require_relative '../../../lib/rley/tokens/token'
5
+ require_relative '../../../lib/rley/lexical/token'
6
6
 
7
7
 
8
8
  module GrammarArrIntHelper
@@ -32,13 +32,13 @@ module GrammarArrIntHelper
32
32
  lexeme = scanner.scan(/[\[,\]]/)
33
33
  if lexeme
34
34
  terminal = aGrammar.name2symbol[lexeme]
35
- tokens << Rley::Tokens::Token.new(lexeme, terminal)
35
+ tokens << Rley::Lexical::Token.new(lexeme, terminal)
36
36
  next
37
37
  end
38
38
  lexeme = scanner.scan(/^[-+]?\d+/)
39
39
  if lexeme
40
40
  terminal = aGrammar.name2symbol['integer']
41
- tokens << Rley::Tokens::Token.new(lexeme, terminal)
41
+ tokens << Rley::Lexical::Token.new(lexeme, terminal)
42
42
  else
43
43
  msg = "Unknown input text '#{lexeme}'"
44
44
  raise StandardError, msg
@@ -1,6 +1,6 @@
1
1
  # Load the builder class
2
2
  require_relative '../../../lib/rley/syntax/grammar_builder'
3
- require_relative '../../../lib/rley/tokens/token'
3
+ require_relative '../../../lib/rley/lexical/token'
4
4
 
5
5
 
6
6
  module GrammarBExprHelper
@@ -32,7 +32,7 @@ module GrammarBExprHelper
32
32
  msg = "Unknown input text '#{lexeme}'"
33
33
  raise StandardError, msg
34
34
  end
35
- Rley::Tokens::Token.new(lexeme, terminal)
35
+ Rley::Lexical::Token.new(lexeme, terminal)
36
36
  end
37
37
 
38
38
  return tokens
@@ -1,5 +1,5 @@
1
1
  # Load the builder class
2
- require_relative '../../../lib/rley/tokens/token'
2
+ require_relative '../../../lib/rley/lexical/token'
3
3
 
4
4
 
5
5
  # Mixin module implementing helper methods.
@@ -12,13 +12,13 @@ module GrammarHelper
12
12
  case lexeme
13
13
  when String
14
14
  terminal = aGrammar.name2symbol[lexeme]
15
- Rley::Tokens::Token.new(lexeme, terminal)
15
+ Rley::Lexical::Token.new(lexeme, terminal)
16
16
 
17
17
  when Hash # lexeme is reality a Hash: literal => terminal name
18
18
  sub_array = lexeme.to_a
19
19
  sub_array.map do |(literal, name)|
20
20
  terminal = aGrammar.name2symbol[name]
21
- Rley::Tokens::Token.new(literal, terminal)
21
+ Rley::Lexical::Token.new(literal, terminal)
22
22
  end
23
23
  end
24
24
  end
@@ -1,6 +1,6 @@
1
1
  # Load the builder class
2
2
  require_relative '../../../lib/rley/syntax/grammar_builder'
3
- require_relative '../../../lib/rley/tokens/token'
3
+ require_relative '../../../lib/rley/lexical/token'
4
4
 
5
5
 
6
6
  module GrammarL0Helper
@@ -73,7 +73,7 @@ module GrammarL0Helper
73
73
  raise StandardError, "Word '#{word}' not found in lexicon"
74
74
  end
75
75
  terminal = aGrammar.name2symbol[term_name]
76
- Rley::Tokens::Token.new(word, terminal)
76
+ Rley::Lexical::Token.new(word, terminal)
77
77
  end
78
78
 
79
79
  return tokens
@@ -1,6 +1,6 @@
1
1
  # Load the builder class
2
2
  require_relative '../../../lib/rley/syntax/grammar_builder'
3
- require_relative '../../../lib/rley/tokens/token'
3
+ require_relative '../../../lib/rley/lexical/token'
4
4
 
5
5
 
6
6
  # Utility class.
@@ -38,7 +38,7 @@ class GrammarPBHelper
38
38
  msg = "Unknown input text '#{lexeme}'"
39
39
  raise StandardError, msg
40
40
  end
41
- Rley::Tokens::Token.new(lexeme, terminal)
41
+ Rley::Lexical::Token.new(lexeme, terminal)
42
42
  end
43
43
 
44
44
  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.5.05
4
+ version: 0.5.06
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-04 00:00:00.000000000 Z
11
+ date: 2017-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
@@ -154,6 +154,9 @@ files:
154
154
  - examples/general/calc_iter2/calc_parser.rb
155
155
  - examples/general/calc_iter2/spec/calculator_spec.rb
156
156
  - lib/rley.rb
157
+ - lib/rley/base/base_parser.rb
158
+ - lib/rley/base/dotted_item.rb
159
+ - lib/rley/base/grm_items_builder.rb
157
160
  - lib/rley/constants.rb
158
161
  - lib/rley/formatter/asciitree.rb
159
162
  - lib/rley/formatter/base_formatter.rb
@@ -172,16 +175,15 @@ files:
172
175
  - lib/rley/gfg/shortcut_edge.rb
173
176
  - lib/rley/gfg/start_vertex.rb
174
177
  - lib/rley/gfg/vertex.rb
178
+ - lib/rley/lexical/token.rb
179
+ - lib/rley/lexical/token_range.rb
175
180
  - lib/rley/parse_forest_visitor.rb
176
181
  - lib/rley/parse_tree_visitor.rb
177
- - lib/rley/parser/base_parser.rb
178
182
  - lib/rley/parser/cst_builder.rb
179
- - lib/rley/parser/dotted_item.rb
180
183
  - lib/rley/parser/error_reason.rb
181
184
  - lib/rley/parser/gfg_chart.rb
182
185
  - lib/rley/parser/gfg_earley_parser.rb
183
186
  - lib/rley/parser/gfg_parsing.rb
184
- - lib/rley/parser/grm_items_builder.rb
185
187
  - lib/rley/parser/parse_entry.rb
186
188
  - lib/rley/parser/parse_entry_set.rb
187
189
  - lib/rley/parser/parse_entry_tracker.rb
@@ -217,8 +219,8 @@ files:
217
219
  - lib/rley/syntax/symbol_seq.rb
218
220
  - lib/rley/syntax/terminal.rb
219
221
  - lib/rley/syntax/verbatim_symbol.rb
220
- - lib/rley/tokens/token.rb
221
- - lib/rley/tokens/token_range.rb
222
+ - spec/rley/base/dotted_item_spec.rb
223
+ - spec/rley/base/grm_items_builder_spec.rb
222
224
  - spec/rley/formatter/asciitree_spec.rb
223
225
  - spec/rley/formatter/bracket_notation_spec.rb
224
226
  - spec/rley/formatter/debug_spec.rb
@@ -235,17 +237,17 @@ files:
235
237
  - spec/rley/gfg/shortcut_edge_spec.rb
236
238
  - spec/rley/gfg/start_vertex_spec.rb
237
239
  - spec/rley/gfg/vertex_spec.rb
240
+ - spec/rley/lexical/token_range_spec.rb
241
+ - spec/rley/lexical/token_spec.rb
238
242
  - spec/rley/parse_forest_visitor_spec.rb
239
243
  - spec/rley/parse_tree_visitor_spec.rb
240
244
  - spec/rley/parser/ambiguous_parse_spec.rb
241
245
  - spec/rley/parser/ast_builder_spec.rb
242
246
  - spec/rley/parser/cst_builder_spec.rb
243
- - spec/rley/parser/dotted_item_spec.rb
244
247
  - spec/rley/parser/error_reason_spec.rb
245
248
  - spec/rley/parser/gfg_chart_spec.rb
246
249
  - spec/rley/parser/gfg_earley_parser_spec.rb
247
250
  - spec/rley/parser/gfg_parsing_spec.rb
248
- - spec/rley/parser/grm_items_builder_spec.rb
249
251
  - spec/rley/parser/groucho_spec.rb
250
252
  - spec/rley/parser/parse_entry_set_spec.rb
251
253
  - spec/rley/parser/parse_entry_spec.rb
@@ -281,8 +283,6 @@ files:
281
283
  - spec/rley/syntax/symbol_seq_spec.rb
282
284
  - spec/rley/syntax/terminal_spec.rb
283
285
  - spec/rley/syntax/verbatim_symbol_spec.rb
284
- - spec/rley/tokens/token_range_spec.rb
285
- - spec/rley/tokens/token_spec.rb
286
286
  - spec/spec_helper.rb
287
287
  homepage: https://github.com/famished-tiger/Rley
288
288
  licenses:
@@ -313,6 +313,8 @@ signing_key:
313
313
  specification_version: 4
314
314
  summary: Ruby implementation of the Earley's parsing algorithm
315
315
  test_files:
316
+ - spec/rley/base/dotted_item_spec.rb
317
+ - spec/rley/base/grm_items_builder_spec.rb
316
318
  - spec/rley/formatter/asciitree_spec.rb
317
319
  - spec/rley/formatter/bracket_notation_spec.rb
318
320
  - spec/rley/formatter/debug_spec.rb
@@ -329,15 +331,15 @@ test_files:
329
331
  - spec/rley/gfg/shortcut_edge_spec.rb
330
332
  - spec/rley/gfg/start_vertex_spec.rb
331
333
  - spec/rley/gfg/vertex_spec.rb
334
+ - spec/rley/lexical/token_range_spec.rb
335
+ - spec/rley/lexical/token_spec.rb
332
336
  - spec/rley/parser/ambiguous_parse_spec.rb
333
337
  - spec/rley/parser/ast_builder_spec.rb
334
338
  - spec/rley/parser/cst_builder_spec.rb
335
- - spec/rley/parser/dotted_item_spec.rb
336
339
  - spec/rley/parser/error_reason_spec.rb
337
340
  - spec/rley/parser/gfg_chart_spec.rb
338
341
  - spec/rley/parser/gfg_earley_parser_spec.rb
339
342
  - spec/rley/parser/gfg_parsing_spec.rb
340
- - spec/rley/parser/grm_items_builder_spec.rb
341
343
  - spec/rley/parser/groucho_spec.rb
342
344
  - spec/rley/parser/parse_entry_set_spec.rb
343
345
  - spec/rley/parser/parse_entry_spec.rb
@@ -365,5 +367,3 @@ test_files:
365
367
  - spec/rley/syntax/symbol_seq_spec.rb
366
368
  - spec/rley/syntax/terminal_spec.rb
367
369
  - spec/rley/syntax/verbatim_symbol_spec.rb
368
- - spec/rley/tokens/token_range_spec.rb
369
- - spec/rley/tokens/token_spec.rb
@@ -1,14 +0,0 @@
1
- module Rley # This module is used as a namespace
2
- module Tokens # This module is used as a namespace
3
- class Token
4
- attr_reader(:lexeme)
5
- attr_reader(:terminal)
6
-
7
- def initialize(theLexeme, aTerminal)
8
- @lexeme = theLexeme
9
- @terminal = aTerminal
10
- end
11
- end # class
12
- end # module
13
- end # module
14
- # End of file