protected function addToken(ReaderInterface $reader, Token $token) { $token->setLine($reader->getCurrentLine()); $token->setRow($reader->getCurrentColumn()); if ($token = $this->applyFilters($token)) { $this->queue->add($token); } }
/** * Detect and consume symbols * * @param ReaderInterface $reader * * @return boolean */ protected function consumeSymbols(ReaderInterface $reader) { $found = false; $nextChar = $reader->currentChar(); while (in_array($nextChar, $this->context->getSymbols())) { $found = true; $token = new GenericToken(GenericToken::TK_SYMBOL, $nextChar); $this->addToken($reader, $token); $reader->consume(); $nextChar = $reader->forwardChar(); } $reader->consume(); return $found; }
public function __construct(ReaderInterface $reader, $msg) { $msg = sprintf("SCANNER ERROR: %s at line %s, column %s.\nCurrent buffer \"%s\"", $msg, $reader->getCurrentLine(), $reader->getCurrentColumn(), $reader->consume()); parent::__construct($msg); }