class Rattler::Compiler::Optimizer::JoinPredicateOrNestedMatch

A predicate and an adjacent skip of a Regexp match in a Choice can be joined into a single skip of a Regexp match.

Protected Instance Methods

eligible_match?(parser) click to toggle source
# File lib/rattler/compiler/optimizer/join_predicate_or_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
# File lib/rattler/compiler/optimizer/join_predicate_or_nested_match.rb, line 18
def prepare_pattern(parser)
  super(parser.is_a?(Skip) ? parser.child : parser)
end
reduce(*pair) click to toggle source
# File lib/rattler/compiler/optimizer/join_predicate_or_nested_match.rb, line 14
def reduce(*pair)
  pair.find {|_| _.is_a? Skip }.with_child super
end