class Rattler::Parsers::Assert

Assert decorates a parser and succeeds or fails like the decorated parser but never consumes any input (zero-width positive lookahead).

Public Instance Methods

parse(scanner, rules, scope = ParserScope.empty) click to toggle source

Succeed or fail like the decorated parser but do not consume any input and return true on success.

@param (see Match#parse)

@return [Boolean] true if the decorated parser succeeds

# File lib/rattler/parsers/assert.rb, line 15
def parse(scanner, rules, scope = ParserScope.empty)
  pos = scanner.pos
  result = (child.parse(scanner, rules, scope) && true)
  scanner.pos = pos
  result
end