code: private function expect($kind)
      {
          $token = $this->lexer->token;
  
          if ($token->kind === $kind) {
              $this->lexer->advance();
  
              return $token;
          }
  
          throw new SyntaxError(
              $this->lexer->source,
              $token->start,
              sprintf('Expected %s, found %s', $kind, $token->getDescription())
          );
      }
docs: If the next token is of the given kind, return that token after advancing
  the parser. Otherwise, do not change the parser state and return false.
  
  @param string $kind
  
  @return Token
  
  @throws SyntaxError