Class: Peg::Parser
Defined Under Namespace
Classes: Input
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#_debug, #_lookahead, #_many, #_map_result, #_satisfy, #_select, #_sequence
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
12
13
14
|
# File 'lib/peg.backup/parser.rb', line 12
def name
@name
end
|
#parse_fn ⇒ Object
Returns the value of attribute parse_fn.
12
13
14
|
# File 'lib/peg.backup/parser.rb', line 12
def parse_fn
@parse_fn
end
|
Class Method Details
.parse(parser, input) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/peg.backup/parser.rb', line 14
def self.parse(parser, input)
raise ArgumentError, "parser must be an instance of #{self}" unless self === parser
case input
when String
parser.parse_fn.(Peg::Parser::Input.new(input.grapheme_clusters))
when Peg::Parser::Input
parser.parse_fn.(input)
else
raise ArgumentError, "input must be a string or instance of Input" unless self.class === parser
end
end
|
Instance Method Details
#and(*parsers, name: nil) ⇒ Object
26
|
# File 'lib/peg.backup/parser.rb', line 26
def and(*parsers, name: nil) = _sequence([self, *parsers], name)
|
#debug(name: nil) ⇒ Object
28
|
# File 'lib/peg.backup/parser.rb', line 28
def debug(name: nil) = _debug(self, name:)
|
#many(name: nil, max: nil, min: 0) ⇒ Object
30
|
# File 'lib/peg.backup/parser.rb', line 30
def many(name: nil, max: nil, min: 0) = _many(self, name:, max:, min:)
|
#map(name: nil, &blk) ⇒ Object
31
|
# File 'lib/peg.backup/parser.rb', line 31
def map(name: nil, &blk) = Peg::Combinators.map(self, name:, &blk)
|
#or(*parsers, name: nil) ⇒ Object
33
|
# File 'lib/peg.backup/parser.rb', line 33
def or(*parsers, name: nil) = _select(self, *parsers, name:)
|
#satisfy(name: nil, &satisfier) ⇒ Object
35
|
# File 'lib/peg.backup/parser.rb', line 35
def satisfy(name: nil, &satisfier) = _satisfy(self, name:, &satisfier)
|