rley 0.5.05 → 0.5.06

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