class Rattler::Compiler::Optimizer::JoinPredicateNestedMatch
A predicate and an adjacent skip of a Regexp match in a Sequence can be joined into a single skip of a Regexp match.
Protected Instance Methods
eligible_match?(parser)
click to toggle source
Calls superclass method
Rattler::Compiler::Optimizer::JoinPredicateBareMatch#eligible_match?
# File lib/rattler/compiler/optimizer/join_predicate_nested_match.rb, line 22 def eligible_match?(parser) parser.is_a? Skip and super parser.child end
prepare_pattern(parser)
click to toggle source
Calls superclass method
Rattler::Compiler::Optimizer::JoinPredicateBareMatch#prepare_pattern
# File lib/rattler/compiler/optimizer/join_predicate_nested_match.rb, line 18 def prepare_pattern(parser) super(parser.is_a?(Skip) ? parser.child : parser) end
reduce(*pair)
click to toggle source
Calls superclass method
Rattler::Compiler::Optimizer::JoinPredicateBareMatch#reduce
# File lib/rattler/compiler/optimizer/join_predicate_nested_match.rb, line 14 def reduce(*pair) pair.find {|_| _.is_a? Skip }.with_child super end