Sha256: e54d57ee873345267e184f8abca7a07d5467c7bc6147366746bb22775206400b
Contents?: true
Size: 1022 Bytes
Versions: 115
Compression:
Stored size: 1022 Bytes
Contents
module Regexp::Expression # A sequence of expressions. Differs from a Subexpressions by how it handles # quantifiers, as it applies them to its last element instead of itself as # a whole subexpression. # # Used as the base class for the Alternation alternatives, Conditional # branches, and CharacterSet::Intersection intersected sequences. class Sequence < Regexp::Expression::Subexpression class << self def add_to(exp, params = {}, active_opts = {}) sequence = construct( level: exp.level, set_level: exp.set_level, conditional_level: params[:conditional_level] || exp.conditional_level, ts: params[:ts], ) sequence.options = active_opts exp.expressions << sequence sequence end end def ts (head = expressions.first) ? head.ts : @ts end def quantify(token, *args) extract_quantifier_target(token.text).quantify(token, *args) end end end
Version data entries
115 entries across 114 versions & 18 rubygems