Class: PEG::Rule
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from ValueObject
#==
Constructor Details
#initialize(*children) ⇒ Rule
Returns a new instance of Rule.
23
24
25
|
# File 'lib/peg.rb', line 23
def initialize(*children)
@children = children
end
|
Instance Attribute Details
#children ⇒ Object
Returns the value of attribute children.
21
22
23
|
# File 'lib/peg.rb', line 21
def children
@children
end
|
Instance Method Details
#inspect ⇒ Object
49
50
51
52
|
# File 'lib/peg.rb', line 49
def inspect
repr = "#{self.class}.new(#{_inspect})"
@name ? repr + ".name(#{@name.inspect})" : repr
end
|
#name(value = nil) ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/peg.rb', line 27
def name(value=nil)
if value
@name = value
self
else
@name
end
end
|
#parse(source) ⇒ Object
36
37
38
39
40
41
42
43
|
# File 'lib/peg.rb', line 36
def parse(source)
node = match(source)
if node.text.length != source.length
raise SyntaxError.new source[node.text.length, 50].inspect
else
node
end
end
|
#result(text, children = []) ⇒ Object
45
46
47
|
# File 'lib/peg.rb', line 45
def result(text, children=[])
Node.new(text, children, @name)
end
|