Module: L43Peg::Parsers::EscapeParser

Extended by:
EscapeParser
Included in:
EscapeParser
Defined in:
lib/l43_peg/parsers/escape_parser.rb

Instance Method Summary collapse

Instance Method Details

#escape_parser(escape_char_set, escapees = nil, name: nil, with_box: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/l43_peg/parsers/escape_parser.rb', line 6

def escape_parser(escape_char_set, escapees=nil, name: nil, with_box: nil)
  name = name || "escape_parser(#{escape_char_set.inspect}, #{escapees.inspect})"
    s = Combinators.sequence(
      Parsers.char_parser(escape_char_set),
      Parsers.char_parser(escapees)
    )
  if with_box
    s.map(name:) { |_, escaped| escaped }.boxed(with_box)
  else
    s.map(name:) { |_, escaped| escaped }
  end
end