protected function doScan(Scanner $scanner) { $quotechar = $scanner->token_type(); $ret = false; $string = ""; while ($token = $scanner->nextToken()) { if ($token == $quotechar) { $ret = true; break; } $string .= $scanner->token(); } if ($string && !$this->discard) { $scanner->pushResult($string); } return $ret; }
function handleMatch(Parser $parser, Scanner $scanner) { $comp1 = $scanner->popResult(); $comp2 = $scanner->popResult(); $scanner->pushResult(new BooleanAndExpression($comp1, $comp2)); }