Module: L43Peg::Combinators::DebugParser

Extended by:
DebugParser
Included in:
DebugParser
Defined in:
lib/l43_peg/combinators/debug_parser.rb

Constant Summary collapse

MIN_LEVEL =
1
DEFAULT_LEVEL =
5
MAX_LEVEL =
10

Instance Method Summary collapse

Instance Method Details

#parse_with_debug(parser:, name:, level:) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/l43_peg/combinators/debug_parser.rb', line 10

def parse_with_debug(parser:, name:, level:)
  level = _normalize_level(level)
  -> (input, cache, name1=nil) do
    _report_input(input, cache:, level:, name: name1||name)
    case parser.(input, cache:)
    in Success => success
      _report_success(success, name: name1||name, level:)
    in Failure => failure
      _report_failure(failure, name: name1||name, level:)
    end
  end
end