Class: Rattler::Parsers::Assert
- Inherits:
-
Predicate
- Object
- Util::Node
- Parser
- Predicate
- Rattler::Parsers::Assert
- Defined in:
- lib/rattler/parsers/assert.rb
Overview
Assert
decorates a parser and succeeds or fails like the decorated parser but never consumes any input.
Instance Method Summary collapse
-
#parse(scanner, rules, scope = {}) ⇒ Boolean
Succeed or fail like the decorated parser but do not consume any input and return
true
on success.
Methods inherited from Predicate
Methods included from Combining
Methods inherited from Parser
#&, #capturing?, #labeled?, #one_or_more, #optional, parsed, #skip, #variable_capture_count?, #with_ws, #zero_or_more, #|
Methods inherited from Util::Node
#==, [], #[], #attrs, #can_equal?, #child, #children, #each, #empty?, #eql?, #initialize, #inspect, #method_missing, #name, #respond_to?, #same_contents?, #to_graphviz, #with_attrs, #with_attrs!, #with_children
Constructor Details
This class inherits a constructor from Rattler::Util::Node
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Rattler::Util::Node
Instance Method Details
#parse(scanner, rules, scope = {}) ⇒ Boolean
Succeed or fail like the decorated parser but do not consume any input and return true
on success.
25 26 27 28 29 30 |
# File 'lib/rattler/parsers/assert.rb', line 25 def parse(scanner, rules, scope = {}) pos = scanner.pos result = (child.parse(scanner, rules, scope) && true) scanner.pos = pos result end |