class RegexpTree::Rep

Public Class Methods

new(r, m=0, n=nil, greedy=true) click to toggle source
# File lib/regexptree.rb, line 291
def initialize(r, m=0, n=nil, greedy=true)
  @r = r
  @m = m
  @n = n
  @greedy = greedy
end

Public Instance Methods

case_insensitive?() click to toggle source
# File lib/regexptree.rb, line 298
def case_insensitive?
  @r.case_insensitive?
end
downcase() click to toggle source
# File lib/regexptree.rb, line 306
def downcase
  Rep.new(@r.downcase, @m, @n, @greedy)
end
multiline_insensitive?() click to toggle source
# File lib/regexptree.rb, line 302
def multiline_insensitive?
  @r.multiline_insensitive?
end
pretty_format(out) click to toggle source
# File lib/regexptree.rb, line 310
def pretty_format(out)
  @r.parenthesize(Elt).pretty_format(out)
  case @m
  when 0
    case @n
    when 0
      out.text '{0}'
    when 1
      out.text '?'
    when nil
      out.text '*'
    else
      out.text "{#{@m},#{@n}}"
    end
  when 1
    case @n
    when 1
    when nil
      out.text '+'
    else
      out.text "{#{@m},#{@n}}"
    end
  else
    if @m == @n
      out.text "{#{@m}}"
    else
      out.text "{#{@m},#{@n}}"
    end
  end
  out.text '?' unless @greedy
end