Пример #1
0
 protected function addToken(ReaderInterface $reader, Token $token)
 {
     $token->setLine($reader->getCurrentLine());
     $token->setRow($reader->getCurrentColumn());
     if ($token = $this->applyFilters($token)) {
         $this->queue->add($token);
     }
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 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);
 }