original_string: protected function comment() {
          $tok = $this->scanner->current();
          $comment = '';
  
          // <!-->. Emit an empty comment because 8.2.4.46 says to.
          if ($tok == '>') {
              // Parse error. Emit the comment token.
              $this->parseError("Expected comment data, got '>'");
              $this->events->comment('');
              $this->scanner->next();
              return true;
          }
  
          // Replace NULL with the replacement char.
          if ($tok == "\0") {
              $tok = HTML5_Parser_UTF8Utils::FFFD;
          }
          while (!$this->isCommentEnd()) {
              $comment .= $tok;
              $tok = $this->scanner->next();
          }
  
          $this->events->comment($comment);
          $this->scanner->next();
          return true;
      }
code: protected function comment() {
          $tok = $this->scanner->current();
          $comment = '';
  
          // <!-->. Emit an empty comment because 8.2.4.46 says to.
          if ($tok == '>') {
              // Parse error. Emit the comment token.
              $this->parseError("Expected comment data, got '>'");
              $this->events->comment('');
              $this->scanner->next();
              return true;
          }
  
          // Replace NULL with the replacement char.
          if ($tok == "\0") {
              $tok = HTML5_Parser_UTF8Utils::FFFD;
          }
          while (!$this->isCommentEnd()) {
              $comment .= $tok;
              $tok = $this->scanner->next();
          }
  
          $this->events->comment($comment);
          $this->scanner->next();
          return true;
      }
code_tokens: protected function comment ( ) { $ tok = $ this -> scanner -> current ( ) ; $ comment = '' ; // <!-->. Emit an empty comment because 8.2.4.46 says to. if ( $ tok == '>' ) { // Parse error. Emit the comment token. $ this -> parseError ( "Expected comment data, got '>'" ) ; $ this -> events -> comment ( '' ) ; $ this -> scanner -> next ( ) ; return true ; } // Replace NULL with the replacement char. if ( $ tok == "\0" ) { $ tok = HTML5_Parser_UTF8Utils :: FFFD ; } while ( ! $ this -> isCommentEnd ( ) ) { $ comment .= $ tok ; $ tok = $ this -> scanner -> next ( ) ; } $ this -> events -> comment ( $ comment ) ; $ this -> scanner -> next ( ) ; return true ; }
docstring: Read a comment.
  
  Expects the first tok to be inside of the comment.
docstring_tokens: Read a comment .