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,10 +3,10 @@ require_relative '../../spec_helper'
3
3
  require_relative '../support/grammar_abc_helper'
4
4
 
5
5
  # Load the module under test
6
- require_relative '../../../lib/rley/parser/grm_items_builder'
6
+ require_relative '../../../lib/rley/base/grm_items_builder'
7
7
 
8
8
  module Rley # Open this namespace to avoid module qualifier prefixes
9
- module Parser # Open this namespace to avoid module qualifier prefixes
9
+ module Base # Open this namespace to avoid module qualifier prefixes
10
10
  describe 'Testing GrmItemsBuilder' do
11
11
  include GrmItemsBuilder # Use mix-in to test
12
12
  include GrammarABCHelper # Mix-in module with builder for grammar abc
@@ -2,7 +2,7 @@ require_relative '../../spec_helper'
2
2
  require 'stringio'
3
3
 
4
4
  require_relative '../support/grammar_abc_helper'
5
- require_relative '../../../lib/rley/tokens/token'
5
+ require_relative '../../../lib/rley/lexical/token'
6
6
  require_relative '../../../lib/rley/parser/gfg_earley_parser'
7
7
  require_relative '../../../lib/rley/ptree/parse_tree'
8
8
  require_relative '../../../lib/rley/parse_tree_visitor'
@@ -30,11 +30,11 @@ module Rley # Re-open the module to get rid of qualified names
30
30
  # for the language specified by gramma_abc
31
31
  let(:grm_abc_tokens1) do
32
32
  [
33
- Tokens::Token.new('a', a_),
34
- Tokens::Token.new('a', a_),
35
- Tokens::Token.new('b', b_),
36
- Tokens::Token.new('c', c_),
37
- Tokens::Token.new('c', c_)
33
+ Lexical::Token.new('a', a_),
34
+ Lexical::Token.new('a', a_),
35
+ Lexical::Token.new('b', b_),
36
+ Lexical::Token.new('c', c_),
37
+ Lexical::Token.new('c', c_)
38
38
  ]
39
39
  end
40
40
 
@@ -2,7 +2,7 @@ require_relative '../../spec_helper'
2
2
  require 'stringio'
3
3
 
4
4
  require_relative '../support/grammar_abc_helper'
5
- require_relative '../../../lib/rley/tokens/token'
5
+ require_relative '../../../lib/rley/lexical/token'
6
6
  require_relative '../../../lib/rley/parser/gfg_earley_parser'
7
7
  require_relative '../../../lib/rley/ptree/parse_tree'
8
8
  require_relative '../../../lib/rley/parse_tree_visitor'
@@ -30,11 +30,11 @@ module Rley # Re-open the module to get rid of qualified names
30
30
  # for the language specified by gramma_abc
31
31
  let(:grm_abc_tokens1) do
32
32
  [
33
- Tokens::Token.new('a', a_),
34
- Tokens::Token.new('a', a_),
35
- Tokens::Token.new('b', b_),
36
- Tokens::Token.new('c', c_),
37
- Tokens::Token.new('c', c_)
33
+ Lexical::Token.new('a', a_),
34
+ Lexical::Token.new('a', a_),
35
+ Lexical::Token.new('b', b_),
36
+ Lexical::Token.new('c', c_),
37
+ Lexical::Token.new('c', c_)
38
38
  ]
39
39
  end
40
40
 
@@ -2,7 +2,7 @@ require_relative '../../spec_helper'
2
2
  require 'stringio'
3
3
 
4
4
  require_relative '../support/grammar_abc_helper'
5
- require_relative '../../../lib/rley/tokens/token'
5
+ require_relative '../../../lib/rley/lexical/token'
6
6
  require_relative '../../../lib/rley/parser/gfg_earley_parser'
7
7
  require_relative '../../../lib/rley/ptree/parse_tree'
8
8
  require_relative '../../../lib/rley/parse_tree_visitor'
@@ -30,11 +30,11 @@ module Rley # Re-open the module to get rid of qualified names
30
30
  # for the language specified by gramma_abc
31
31
  let(:grm_abc_tokens1) do
32
32
  [
33
- Tokens::Token.new('a', a_),
34
- Tokens::Token.new('a', a_),
35
- Tokens::Token.new('b', b_),
36
- Tokens::Token.new('c', c_),
37
- Tokens::Token.new('c', c_)
33
+ Lexical::Token.new('a', a_),
34
+ Lexical::Token.new('a', a_),
35
+ Lexical::Token.new('b', b_),
36
+ Lexical::Token.new('c', c_),
37
+ Lexical::Token.new('c', c_)
38
38
  ]
39
39
  end
40
40
 
@@ -2,7 +2,7 @@ require_relative '../../spec_helper'
2
2
  require 'stringio'
3
3
 
4
4
  require_relative '../support/grammar_abc_helper'
5
- require_relative '../../../lib/rley/tokens/token'
5
+ require_relative '../../../lib/rley/lexical/token'
6
6
  require_relative '../../../lib/rley/parser/gfg_earley_parser'
7
7
  require_relative '../../../lib/rley/ptree/parse_tree'
8
8
  require_relative '../../../lib/rley/parse_tree_visitor'
@@ -30,11 +30,11 @@ module Rley # Re-open the module to get rid of qualified names
30
30
  # for the language specified by gramma_abc
31
31
  let(:grm_abc_tokens1) do
32
32
  [
33
- Tokens::Token.new('a', a_),
34
- Tokens::Token.new('a', a_),
35
- Tokens::Token.new('b', b_),
36
- Tokens::Token.new('c', c_),
37
- Tokens::Token.new('c', c_)
33
+ Lexical::Token.new('a', a_),
34
+ Lexical::Token.new('a', a_),
35
+ Lexical::Token.new('b', b_),
36
+ Lexical::Token.new('c', c_),
37
+ Lexical::Token.new('c', c_)
38
38
  ]
39
39
  end
40
40
 
@@ -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
  require_relative '../../../lib/rley/gfg/start_vertex'
8
8
  require_relative '../../../lib/rley/gfg/item_vertex'
9
9
 
@@ -25,7 +25,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
25
25
  let(:nt_sentence) { Rley::Syntax::NonTerminal.new('sentence') }
26
26
  let(:nt_b_sequence) { Rley::Syntax::NonTerminal.new('b_sequence') }
27
27
  let(:sample_prod) { build_prod(nt_sentence, t_a, nt_b_sequence, t_c) }
28
- let(:sample_item) { Parser::DottedItem.new(sample_prod, 1) }
28
+ let(:sample_item) { Base::DottedItem.new(sample_prod, 1) }
29
29
 
30
30
  let(:vertex1) { ItemVertex.new(sample_item) }
31
31
  let(:vertex2) { StartVertex.new('to') }
@@ -1,7 +1,7 @@
1
1
  require_relative '../../spec_helper'
2
2
 
3
3
  require_relative '../support/grammar_abc_helper'
4
- require_relative '../../../lib/rley/parser/grm_items_builder'
4
+ require_relative '../../../lib/rley/base/grm_items_builder'
5
5
 
6
6
  # Load the module under test
7
7
  require_relative '../../../lib/rley/gfg/grm_flow_graph'
@@ -15,7 +15,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
15
15
  # from the given grammar
16
16
  def build_items_for_grammar(aGrammar)
17
17
  helper = Object.new
18
- helper.extend(Parser::GrmItemsBuilder)
18
+ helper.extend(Base::GrmItemsBuilder)
19
19
  return helper.build_dotted_items(aGrammar)
20
20
  end
21
21
 
@@ -2,7 +2,7 @@ require_relative '../../spec_helper'
2
2
  require_relative '../../../lib/rley/syntax/terminal'
3
3
  require_relative '../../../lib/rley/syntax/non_terminal'
4
4
  require_relative '../../../lib/rley/syntax/production'
5
- require_relative '../../../lib/rley/parser/dotted_item'
5
+ require_relative '../../../lib/rley/base/dotted_item'
6
6
  require_relative '../../../lib/rley/gfg/shortcut_edge'
7
7
 
8
8
  # Load the class under test
@@ -27,8 +27,8 @@ module Rley # Open this namespace to avoid module qualifier prefixes
27
27
  let(:recursive_prod) { build_prod(nt_b_sequence, nt_b_sequence, t_b) }
28
28
  let(:b_prod) { build_prod(nt_b_sequence, t_b) }
29
29
  let(:empty_prod) { build_prod(nt_sentence) }
30
- let(:sample_item) { Parser::DottedItem.new(sample_prod, 1) }
31
- let(:next_item) { Parser::DottedItem.new(sample_prod, 2) }
30
+ let(:sample_item) { Base::DottedItem.new(sample_prod, 1) }
31
+ let(:next_item) { Base::DottedItem.new(sample_prod, 2) }
32
32
  subject { ItemVertex.new(sample_item) }
33
33
 
34
34
  context 'Initialization:' do
@@ -59,11 +59,11 @@ module Rley # Open this namespace to avoid module qualifier prefixes
59
59
  expect(subject).not_to be_complete
60
60
 
61
61
  # Case: dot at the end
62
- instance1 = ItemVertex.new(Parser::DottedItem.new(sample_prod, 3))
62
+ instance1 = ItemVertex.new(Base::DottedItem.new(sample_prod, 3))
63
63
  expect(instance1).to be_complete
64
64
 
65
65
  # Case: empty production
66
- instance2 = ItemVertex.new(Parser::DottedItem.new(empty_prod, 0))
66
+ instance2 = ItemVertex.new(Base::DottedItem.new(empty_prod, 0))
67
67
  expect(instance2).to be_complete
68
68
  end
69
69
 
@@ -77,11 +77,11 @@ module Rley # Open this namespace to avoid module qualifier prefixes
77
77
  expect(instance2.prev_symbol).to eq(nt_b_sequence)
78
78
 
79
79
  # Case: dot is at begin
80
- instance3 = ItemVertex.new(Parser::DottedItem.new(sample_prod, 0))
80
+ instance3 = ItemVertex.new(Base::DottedItem.new(sample_prod, 0))
81
81
  expect(instance3.prev_symbol).to be_nil
82
82
 
83
83
  # Case: empty production
84
- instance4 = ItemVertex.new(Parser::DottedItem.new(empty_prod, 0))
84
+ instance4 = ItemVertex.new(Base::DottedItem.new(empty_prod, 0))
85
85
  expect(instance4.prev_symbol).to be_nil
86
86
  end
87
87
 
@@ -95,11 +95,11 @@ module Rley # Open this namespace to avoid module qualifier prefixes
95
95
  expect(instance1.next_symbol).to eq(t_c)
96
96
 
97
97
  # Case: dot is at end
98
- instance2 = ItemVertex.new(Parser::DottedItem.new(sample_prod, 3))
98
+ instance2 = ItemVertex.new(Base::DottedItem.new(sample_prod, 3))
99
99
  expect(instance2.next_symbol).to be_nil
100
100
 
101
101
  # Case: empty production
102
- instance3 = ItemVertex.new(Parser::DottedItem.new(empty_prod, 0))
102
+ instance3 = ItemVertex.new(Base::DottedItem.new(empty_prod, 0))
103
103
  expect(instance3.next_symbol).to be_nil
104
104
  end
105
105
 
@@ -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
  require_relative '../../../lib/rley/gfg/end_vertex'
8
8
  require_relative '../../../lib/rley/gfg/item_vertex'
9
9
 
@@ -25,7 +25,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
25
25
  let(:nt_sentence) { Rley::Syntax::NonTerminal.new('sentence') }
26
26
  let(:nt_b_sequence) { Rley::Syntax::NonTerminal.new('b_sequence') }
27
27
  let(:sample_prod) { build_prod(nt_sentence, t_a, nt_b_sequence, t_c) }
28
- let(:sample_item) { Parser::DottedItem.new(sample_prod, 1) }
28
+ let(:sample_item) { Base::DottedItem.new(sample_prod, 1) }
29
29
 
30
30
  let(:vertex1) { EndVertex.new('from') }
31
31
  let(:vertex2) { ItemVertex.new(sample_item) }
@@ -1,10 +1,10 @@
1
1
  require_relative '../../spec_helper'
2
2
 
3
3
  # Load the class under test
4
- require_relative '../../../lib/rley/tokens/token_range'
4
+ require_relative '../../../lib/rley/lexical/token_range'
5
5
 
6
6
  module Rley # Open this namespace to avoid module qualifier prefixes
7
- module Tokens # Open this namespace to avoid module qualifier prefixes
7
+ module Lexical # Open this namespace to avoid module qualifier prefixes
8
8
  describe TokenRange do
9
9
  let(:sample_range) { { low: 0, high: 5 } }
10
10
 
@@ -3,10 +3,10 @@ require_relative '../../spec_helper'
3
3
  require_relative '../../../lib/rley/syntax/terminal'
4
4
 
5
5
  # Load the class under test
6
- require_relative '../../../lib/rley/tokens/token'
6
+ require_relative '../../../lib/rley/lexical/token'
7
7
 
8
8
  module Rley # Open this namespace to avoid module qualifier prefixes
9
- module Tokens # Open this namespace to avoid module qualifier prefixes
9
+ module Lexical # Open this namespace to avoid module qualifier prefixes
10
10
  describe Token do
11
11
  let(:lexeme) { '"some text"' }
12
12
  let(:sample_terminal) { Syntax::Terminal.new('if') }
@@ -2,7 +2,7 @@ require_relative '../spec_helper'
2
2
 
3
3
  require_relative './support/grammar_helper'
4
4
  require_relative './support/grammar_sppf_helper'
5
- require_relative '../../lib/rley/tokens/token'
5
+ require_relative '../../lib/rley/lexical/token'
6
6
  require_relative '../../lib/rley/parser/gfg_earley_parser'
7
7
  require_relative '../../lib/rley/sppf/non_terminal_node'
8
8
  require_relative '../../lib/rley/sppf/parse_forest'
@@ -1,7 +1,7 @@
1
1
  require_relative '../spec_helper'
2
2
 
3
3
  require_relative './support/grammar_abc_helper'
4
- require_relative '../../lib/rley/tokens/token'
4
+ require_relative '../../lib/rley/lexical/token'
5
5
  require_relative '../../lib/rley/parser/gfg_earley_parser'
6
6
  # Load the class under test
7
7
  require_relative '../../lib/rley/parse_tree_visitor'
@@ -24,11 +24,11 @@ module Rley # Open this namespace to avoid module qualifier prefixes
24
24
  # for the language specified by gramma_abc
25
25
  let(:grm_abc_tokens1) do
26
26
  [
27
- Tokens::Token.new('a', a_),
28
- Tokens::Token.new('a', a_),
29
- Tokens::Token.new('b', b_),
30
- Tokens::Token.new('c', c_),
31
- Tokens::Token.new('c', c_)
27
+ Lexical::Token.new('a', a_),
28
+ Lexical::Token.new('a', a_),
29
+ Lexical::Token.new('b', b_),
30
+ Lexical::Token.new('c', c_),
31
+ Lexical::Token.new('c', c_)
32
32
  ]
33
33
  end
34
34
 
@@ -168,7 +168,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
168
168
  end
169
169
 
170
170
  def create_range(low, high)
171
- return Tokens::TokenRange.new(low: low, high: high)
171
+ return Lexical::TokenRange.new(low: low, high: high)
172
172
  end
173
173
 
174
174
  context 'Initialization:' do
@@ -48,7 +48,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
48
48
  end
49
49
 
50
50
  def create_range(low, high)
51
- return Tokens::TokenRange.new(low: low, high: high)
51
+ return Lexical::TokenRange.new(low: low, high: high)
52
52
  end
53
53
 
54
54
  context 'Initialization:' do
@@ -1,5 +1,5 @@
1
1
  require_relative '../../spec_helper'
2
- require_relative '../../../lib/rley/tokens/token'
2
+ require_relative '../../../lib/rley/lexical/token'
3
3
 
4
4
  # Load the class under test
5
5
  require_relative '../../../lib/rley/parser/error_reason'
@@ -62,7 +62,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
62
62
  describe UnexpectedToken do
63
63
  let(:err_lexeme) { '-' }
64
64
  let(:err_terminal) { Syntax::Terminal.new('MINUS') }
65
- let(:err_token) { Tokens::Token.new(err_lexeme, err_terminal) }
65
+ let(:err_token) { Lexical::Token.new(err_lexeme, err_terminal) }
66
66
  let(:terminals) do
67
67
  %w[PLUS LPAREN].map { |name| Syntax::Terminal.new(name) }
68
68
  end
@@ -93,7 +93,7 @@ MESSAGE_END
93
93
  describe PrematureInputEnd do
94
94
  let(:err_lexeme) { '+' }
95
95
  let(:err_terminal) { Syntax::Terminal.new('PLUS') }
96
- let(:err_token) { Tokens::Token.new(err_lexeme, err_terminal) }
96
+ let(:err_token) { Lexical::Token.new(err_lexeme, err_terminal) }
97
97
  let(:terminals) do
98
98
  %w[INT LPAREN].map { |name| Syntax::Terminal.new(name) }
99
99
  end
@@ -2,11 +2,11 @@ require_relative '../../spec_helper'
2
2
  require 'stringio'
3
3
 
4
4
  require_relative '../../../lib/rley/syntax/terminal'
5
- require_relative '../../../lib/rley/tokens/token'
5
+ require_relative '../../../lib/rley/lexical/token'
6
6
  require_relative '../../../lib/rley/gfg/start_vertex'
7
7
  require_relative '../../../lib/rley/parser/parse_entry'
8
8
  require_relative '../../../lib/rley/parser/parse_tracer'
9
- require_relative '../../../lib/rley/parser/grm_items_builder'
9
+ require_relative '../../../lib/rley/base/grm_items_builder'
10
10
  require_relative '../../../lib/rley/gfg/grm_flow_graph'
11
11
  require_relative '../support/grammar_abc_helper'
12
12
 
@@ -23,7 +23,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
23
23
  # from the given grammar
24
24
  def build_items_for_grammar(aGrammar)
25
25
  helper = Object.new
26
- helper.extend(Parser::GrmItemsBuilder)
26
+ helper.extend(Base::GrmItemsBuilder)
27
27
  return helper.build_dotted_items(aGrammar)
28
28
  end
29
29
 
@@ -39,7 +39,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
39
39
 
40
40
  let(:token_seq) do
41
41
  literals = %w[a a b c c]
42
- literals.map { |lexeme| Tokens::Token.new(lexeme, nil) }
42
+ literals.map { |lexeme| Lexical::Token.new(lexeme, nil) }
43
43
  end
44
44
 
45
45
  # Helper method. Create an array of dotted items
@@ -4,8 +4,8 @@ require_relative '../../../lib/rley/syntax/verbatim_symbol'
4
4
  require_relative '../../../lib/rley/syntax/non_terminal'
5
5
  require_relative '../../../lib/rley/syntax/production'
6
6
  require_relative '../../../lib/rley/syntax/grammar_builder'
7
- require_relative '../../../lib/rley/tokens/token'
8
- require_relative '../../../lib/rley/parser/dotted_item'
7
+ require_relative '../../../lib/rley/lexical/token'
8
+ require_relative '../../../lib/rley/base/dotted_item'
9
9
  require_relative '../../../lib/rley/parser/gfg_parsing'
10
10
 
11
11
  # Load builders and lexers for sample grammars
@@ -288,7 +288,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
288
288
  builder.add_terminals(t_x)
289
289
  builder.add_production('Ss' => %w[A A x])
290
290
  builder.add_production('A' => [])
291
- tokens = [ Tokens::Token.new('x', t_x) ]
291
+ tokens = [ Lexical::Token.new('x', t_x) ]
292
292
 
293
293
  instance = GFGEarleyParser.new(builder.grammar)
294
294
  expect { instance.parse(tokens) }.not_to raise_error
@@ -5,11 +5,11 @@ require_relative '../../../lib/rley/syntax/non_terminal'
5
5
  require_relative '../../../lib/rley/syntax/verbatim_symbol'
6
6
  require_relative '../../../lib/rley/syntax/production'
7
7
  require_relative '../../../lib/rley/syntax/grammar_builder'
8
- require_relative '../../../lib/rley/parser/dotted_item'
9
- require_relative '../../../lib/rley/tokens/token'
8
+ require_relative '../../../lib/rley/base/dotted_item'
9
+ require_relative '../../../lib/rley/lexical/token'
10
10
  require_relative '../../../lib/rley/parser/parse_tracer'
11
11
  require_relative '../../../lib/rley/gfg/grm_flow_graph'
12
- require_relative '../../../lib/rley/parser/grm_items_builder'
12
+ require_relative '../../../lib/rley/base/grm_items_builder'
13
13
  require_relative '../support/grammar_abc_helper'
14
14
  require_relative '../support/grammar_b_expr_helper'
15
15
  require_relative '../support/grammar_helper'
@@ -30,7 +30,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
30
30
  # from the given grammar
31
31
  def build_items_for_grammar(aGrammar)
32
32
  helper = Object.new
33
- helper.extend(Parser::GrmItemsBuilder)
33
+ helper.extend(Base::GrmItemsBuilder)
34
34
  return helper.build_dotted_items(aGrammar)
35
35
  end
36
36
 
@@ -298,7 +298,7 @@ SNIPPET
298
298
 
299
299
  let(:token_seq1) do
300
300
  %w[a a b c c].map do |letter|
301
- Tokens::Token.new(letter, sample_grammar1.name2symbol[letter])
301
+ Lexical::Token.new(letter, sample_grammar1.name2symbol[letter])
302
302
  end
303
303
  end
304
304
 
@@ -54,7 +54,7 @@ module Rley # Open this namespace to avoid module qualifier prefixes
54
54
  raise StandardError, "Word '#{word}' not found in lexicon"
55
55
  end
56
56
  terminal = aGrammar.name2symbol[term_name]
57
- Rley::Tokens::Token.new(word, terminal)
57
+ Rley::Lexical::Token.new(word, terminal)
58
58
  end
59
59
 
60
60
  return tokens
@@ -1,7 +1,7 @@
1
1
  require_relative '../../spec_helper'
2
2
 
3
3
  require_relative '../../../lib/rley/syntax/production'
4
- require_relative '../../../lib/rley/parser/dotted_item'
4
+ require_relative '../../../lib/rley/base/dotted_item'
5
5
  require_relative '../../../lib/rley/gfg/item_vertex'
6
6
  require_relative '../../../lib/rley/parser/parse_entry'
7
7
 
@@ -25,9 +25,9 @@ module Rley # Open this namespace to avoid module qualifier prefixes
25
25
  let(:nt_sentence) { Rley::Syntax::NonTerminal.new('Sentence') }
26
26
  let(:sample_prod) { build_prod(nt_sentence, t_a, t_b, t_b, nt_rep_c) }
27
27
 
28
- let(:sample_item1) { Parser::DottedItem.new(sample_prod, 1) }
29
- let(:sample_item2) { Parser::DottedItem.new(sample_prod, 2) }
30
- let(:sample_item3) { Parser::DottedItem.new(sample_prod, 3) }
28
+ let(:sample_item1) { Base::DottedItem.new(sample_prod, 1) }
29
+ let(:sample_item2) { Base::DottedItem.new(sample_prod, 2) }
30
+ let(:sample_item3) { Base::DottedItem.new(sample_prod, 3) }
31
31
 
32
32
  let(:vertex1) { GFG::ItemVertex.new(sample_item1) }
33
33
  let(:entry1) { ParseEntry.new(vertex1, 2) }