/** * 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; }