コード例 #1
0
ファイル: GenericScanner.php プロジェクト: nikophil/cmf-tests
 /**
  * Detect and consume line comments
  *
  * @param ReaderInterface $reader
  *
  * @return boolean
  */
 protected function consumeLineComments(ReaderInterface $reader)
 {
     $nextChar = $reader->currentChar();
     foreach ($this->context->getLineCommentDelimiters() as $delimiter) {
         if ($delimiter && $nextChar === $delimiter[0]) {
             for ($i = 1; $i <= strlen($delimiter); $i++) {
                 $reader->forward();
             }
             if ($reader->current() === $delimiter) {
                 // consume to end of line
                 $char = $reader->currentChar();
                 while (!$reader->isEof() && $char !== "\n") {
                     $char = $reader->forwardChar();
                 }
                 $token = new GenericToken(GenericToken::TK_COMMENT, $reader->consume());
                 $this->addToken($reader, $token);
                 return true;
             } else {
                 // Rewind the looked up characters
                 $reader->rewind();
                 return false;
             }
         }
     }
     return false;
 }