public function parse($string)
{
$tokenizer = new Tokenizer();
$stream = new TokenStream($tokenizer->tokenize($string), $string);
try {
return $this->parseSelectorGroup($stream);
} catch (\Exception $e) {
$class = get_class($e);
throw new $class(sprintf('%s at %s -> %s', $e->getMessage(), implode($stream->getUsed(), ''), $stream->peek()), 0, $e);
}
}