class Haml::Parser

def process_line(text, index)

adds the appropriate code to `@precompiled`.
This method doesn't return anything; it simply processes the line and

Processes a single line of Haml.
def process_line(text, index)
  @index = index + 1
  case text[0]
  when DIV_CLASS; push div(text)
  when DIV_ID
    return push plain(text) if text[1] == ?{
    push div(text)
  when ELEMENT; push tag(text)
  when COMMENT; push comment(text[1..-1].strip)
  when SANITIZE
    return push plain(text[3..-1].strip, :escape_html) if text[1..2] == "=="
    return push script(text[2..-1].strip, :escape_html) if text[1] == SCRIPT
    return push flat_script(text[2..-1].strip, :escape_html) if text[1] == FLAT_SCRIPT
    return push plain(text[1..-1].strip, :escape_html) if text[1] == ?\s
    push plain(text)
  when SCRIPT
    return push plain(text[2..-1].strip) if text[1] == SCRIPT
    push script(text[1..-1])
  when FLAT_SCRIPT; push flat_script(text[1..-1])
  when SILENT_SCRIPT; push silent_script(text)
  when FILTER; push filter(text[1..-1].downcase)
  when DOCTYPE
    return push doctype(text) if text[0...3] == '!!!'
    return push plain(text[3..-1].strip, false) if text[1..2] == "=="
    return push script(text[2..-1].strip, false) if text[1] == SCRIPT
    return push flat_script(text[2..-1].strip, false) if text[1] == FLAT_SCRIPT
    return push plain(text[1..-1].strip, false) if text[1] == ?\s
    push plain(text)
  when ESCAPE; push plain(text[1..-1])
  else; push plain(text)
  end
end