protected function doScan(Scanner $scanner) { $quotechar = $scanner->tokenType(); $ret = false; $string = ""; while ($token = $scanner->nextToken()) { if ($token == $quotechar) { $ret = true; break; } $string .= $scanner->token(); } if ($string && !$this->discard) { $scanner->getContext()->pushResult($string); } return $ret; }
function handleMatch(Parser $parser, Scanner $scanner) { $varname = $scanner->getContext()->popResult(); $scanner->getContext()->pushResult(new VariableHandler($varname)); }
protected function push(Scanner $scanner) { $context = $scanner->getContext(); $context->pushResult($scanner->token()); }
protected function push(Scanner $scan) { $scan->getContext()->push($scan->token()); }
function handleMatch(Parser $parser, Scanner $scanner) { $comp1 = $scanner->getContext()->popResult(); $comp2 = $scanner->getContext()->popResult(); $scanner->getContext()->pushResult(new EqualsExpression($comp1, $comp2)); }
function handleMatch(Parser $parser, Scanner $scanner) { $value = $scanner->getContext()->popResult(); $scanner->getContext()->pushResult(new LiteralExpression($value)); }