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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/examples/NLP/mini_en_demo.rb +1 -1
- data/examples/data_formats/JSON/json_lexer.rb +4 -4
- data/examples/general/calc_iter1/calc_lexer.rb +1 -1
- data/examples/general/calc_iter2/calc_ast_builder.rb +51 -23
- data/examples/general/calc_iter2/calc_ast_nodes.rb +27 -6
- data/examples/general/calc_iter2/calc_demo.rb +2 -1
- data/examples/general/calc_iter2/calc_grammar.rb +14 -5
- data/examples/general/calc_iter2/calc_lexer.rb +14 -5
- data/examples/general/calc_iter2/spec/calculator_spec.rb +140 -23
- data/lib/rley.rb +1 -1
- data/lib/rley/{parser → base}/base_parser.rb +5 -3
- data/lib/rley/{parser → base}/dotted_item.rb +27 -16
- data/lib/rley/{parser → base}/grm_items_builder.rb +4 -2
- data/lib/rley/constants.rb +1 -1
- data/lib/rley/formatter/base_formatter.rb +1 -0
- data/lib/rley/gfg/item_vertex.rb +16 -5
- data/lib/rley/gfg/non_terminal_vertex.rb +5 -0
- data/lib/rley/gfg/vertex.rb +1 -2
- data/lib/rley/lexical/token.rb +31 -0
- data/lib/rley/{tokens → lexical}/token_range.rb +8 -2
- data/lib/rley/parser/gfg_earley_parser.rb +2 -2
- data/lib/rley/parser/parse_tree_builder.rb +2 -2
- data/lib/rley/ptree/parse_tree_node.rb +2 -2
- data/lib/rley/sppf/sppf_node.rb +2 -2
- data/lib/rley/syntax/grammar.rb +5 -1
- data/lib/rley/syntax/grammar_builder.rb +2 -2
- data/lib/rley/syntax/terminal.rb +1 -1
- data/spec/rley/{parser → base}/dotted_item_spec.rb +2 -2
- data/spec/rley/{parser → base}/grm_items_builder_spec.rb +2 -2
- data/spec/rley/formatter/asciitree_spec.rb +6 -6
- data/spec/rley/formatter/bracket_notation_spec.rb +6 -6
- data/spec/rley/formatter/debug_spec.rb +6 -6
- data/spec/rley/formatter/json_spec.rb +6 -6
- data/spec/rley/gfg/call_edge_spec.rb +2 -2
- data/spec/rley/gfg/grm_flow_graph_spec.rb +2 -2
- data/spec/rley/gfg/item_vertex_spec.rb +9 -9
- data/spec/rley/gfg/return_edge_spec.rb +2 -2
- data/spec/rley/{tokens → lexical}/token_range_spec.rb +2 -2
- data/spec/rley/{tokens → lexical}/token_spec.rb +2 -2
- data/spec/rley/parse_forest_visitor_spec.rb +1 -1
- data/spec/rley/parse_tree_visitor_spec.rb +6 -6
- data/spec/rley/parser/ast_builder_spec.rb +1 -1
- data/spec/rley/parser/cst_builder_spec.rb +1 -1
- data/spec/rley/parser/error_reason_spec.rb +3 -3
- data/spec/rley/parser/gfg_chart_spec.rb +4 -4
- data/spec/rley/parser/gfg_earley_parser_spec.rb +3 -3
- data/spec/rley/parser/gfg_parsing_spec.rb +5 -5
- data/spec/rley/parser/groucho_spec.rb +1 -1
- data/spec/rley/parser/parse_entry_set_spec.rb +4 -4
- data/spec/rley/parser/parse_entry_spec.rb +4 -4
- data/spec/rley/parser/parse_state_spec.rb +7 -7
- data/spec/rley/parser/parse_tracer_spec.rb +5 -5
- data/spec/rley/parser/parse_walker_factory_spec.rb +1 -1
- data/spec/rley/ptree/non_terminal_node_spec.rb +1 -1
- data/spec/rley/sppf/alternative_node_spec.rb +4 -4
- data/spec/rley/sppf/non_terminal_node_spec.rb +2 -2
- data/spec/rley/support/ambiguous_grammar_helper.rb +2 -2
- data/spec/rley/support/expectation_helper.rb +1 -1
- data/spec/rley/support/grammar_ambig01_helper.rb +2 -2
- data/spec/rley/support/grammar_arr_int_helper.rb +3 -3
- data/spec/rley/support/grammar_b_expr_helper.rb +2 -2
- data/spec/rley/support/grammar_helper.rb +3 -3
- data/spec/rley/support/grammar_l0_helper.rb +2 -2
- data/spec/rley/support/grammar_pb_helper.rb +2 -2
- metadata +15 -15
- 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/
|
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/
|
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/
|
7
|
+
require_relative '../../../lib/rley/base/dotted_item'
|
8
8
|
require_relative '../../../lib/rley/parser/parse_state'
|
9
|
-
require_relative '../../../lib/rley/
|
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|
|
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
|
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
|
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/
|
8
|
-
require_relative '../../../lib/rley/
|
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
|
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) {
|
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/
|
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
|
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/
|
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::
|
32
|
+
Rley::Lexical::Token.new(lexeme, terminal)
|
33
33
|
end
|
34
34
|
|
35
35
|
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/
|
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::
|
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/
|
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::
|
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::
|
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/
|
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::
|
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/
|
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::
|
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::
|
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/
|
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::
|
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/
|
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::
|
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.
|
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-
|
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
|
-
-
|
221
|
-
-
|
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
|
data/lib/rley/tokens/token.rb
DELETED
@@ -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
|