class RDoc::RubyLex
def read_escape
def read_escape escape = '' ch = getc escape << ch case ch when "\n", "\r", "\f" when "\\", "n", "t", "r", "f", "v", "a", "e", "b", "s" #" when /[0-7]/ ungetc ch 3.times do ch = getc escape << ch case ch when /[0-7]/ when nil break else ungetc break end end when "x" 2.times do ch = getc escape << ch case ch when /[0-9a-fA-F]/ when nil break else ungetc break end end when "M" ch = getc escape << ch if ch != '-' ungetc else ch = getc escape << ch if ch == "\\" #" escape << read_escape end end when "C", "c" #, "^" if ch == "C" and (ch = getc) != "-" escape << ch ungetc elsif (ch = getc) == "\\" #" escape << ch << read_escape end else # other characters end escape end