public function parseSelector($filter = false
) { $selector =
new Node\Selector;
do { $first = true;
$group =
new Node\Group;
while (true
) { $combinator =
$this->
consumeCombinator();
if (!
$first && !
$combinator) { break;
} $parts =
$this->
parseSelectorParts();
if (!
count($parts)) { throw new Exception("Missing selector after combinator"
);
} $first = false;
$selCombinator =
new Node\Combinator;
$selCombinator->
setOperator( $combinator ?:
($filter ? null : " "
) );
foreach ($parts as $part) { $selCombinator->
addPart($part);
}