lib/regexp_parser/expression/sequence_operation.rb
module Regexp::Expression # abstract class class SequenceOperation < Regexp::Expression::Subexpression alias :sequences :expressions alias :operands :expressions alias :operator :text def starts_at expressions.first.starts_at end alias :ts :starts_at def <<(exp) expressions.last << exp end def add_sequence exp = self.class::OPERAND.new(level, set_level, conditional_level) exp.nesting_level = nesting_level + 1 expressions << exp exp end def quantify(token, text, min = nil, max = nil, mode = :greedy) sequences.last.last.quantify(token, text, min, max, mode) sequences.last.last.quantify(token, text, min, max, mode) end def to_s(format = :full) sequences.map { |e| e.to_s(format) }.join(text) sequences.map { |e| e.to_s(format) }.join(text) end end end