kaiseki 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/kaiseki.rb +1 -1
- data/lib/node.rb +4 -0
- data/lib/parseable.rb +1 -1
- data/lib/result_filter.rb +1 -1
- data/lib/rule.rb +3 -1
- metadata +2 -2
data/lib/kaiseki.rb
CHANGED
data/lib/node.rb
CHANGED
data/lib/parseable.rb
CHANGED
data/lib/result_filter.rb
CHANGED
@@ -2,7 +2,7 @@ module Kaiseki
|
|
2
2
|
class FilterResult < PackageParser
|
3
3
|
attr_reader :node, :block
|
4
4
|
|
5
|
-
def initialize expected, node = Node.
|
5
|
+
def initialize expected, node = Node.default, &block
|
6
6
|
super expected
|
7
7
|
@node = node
|
8
8
|
@block = block
|
data/lib/rule.rb
CHANGED
@@ -60,7 +60,9 @@ module Kaiseki
|
|
60
60
|
|
61
61
|
def filter node = @name, &block
|
62
62
|
if @parseable
|
63
|
-
@grammar.nodes
|
63
|
+
unless @grammar.nodes.key? @name
|
64
|
+
@grammar.nodes[@name] = Node.default
|
65
|
+
end
|
64
66
|
@parseable = @parseable.filter node, &block
|
65
67
|
else
|
66
68
|
raise "parseable for rule #{@name.inspect} undefined"
|