Module: L43Peg::Combinators::Choice

Extended by:
Choice
Included in:
Choice
Defined in:
lib/l43_peg/combinators/choice.rb

Instance Method Summary collapse

Instance Method Details

#choice(*parsers, name:) ⇒ Object



6
7
8
9
# File 'lib/l43_peg/combinators/choice.rb', line 6

def choice(*parsers, name:)
  name ||= "option(#{parsers.flatten.map(&:name).join(", ")})"
  parser = Parser.new(name) {|input, _name=nil| _choice(input:, name:, parsers: parsers.flatten)}
end