class Sass::Engine

def parse_property_or_rule(line)

def parse_property_or_rule(line)
  scanner = StringScanner.new(line.text)
  hack_char = scanner.scan(/[:\*\.]|\#(?!\{)/)
  parser = Sass::SCSS::SassParser.new(scanner, @line)
  unless res = parser.parse_interp_ident
    return Tree::RuleNode.new(parse_interp(line.text))
  end
  res.unshift(hack_char) if hack_char
  if comment = scanner.scan(Sass::SCSS::RX::COMMENT)
    res << comment
  end
  name = line.text[0...scanner.pos]
  if scanner.scan(/\s*([:=])(?:\s|$)/)
    parse_property(name, res, scanner[1], scanner.rest, :new, line)
  else
    res.pop if comment
    Tree::RuleNode.new(res + parse_interp(scanner.rest))
  end
end