protected function lexPunctuation(int $code, int $line, int $column, Token $prev): ?Token
    {
        if (!isset(self::$codeTokenKindMap[$code])) {
            throw $this->createSyntaxErrorException();
        }

        return new Token(self::$codeTokenKindMap[$code], $this->position, $this->position + 1, $line, $column, $prev);
    }
protected function lexPunctuation(int $code, int $line, int $column, Token $prev): ?Token
    {
        if (!isset(self::$codeTokenKindMap[$code])) {
            throw $this->createSyntaxErrorException();
        }

        return new Token(self::$codeTokenKindMap[$code], $this->position, $this->position + 1, $line, $column, $prev);
    }
protected function lexPunctuation ( int $ code , int $ line , int $ column , Token $ prev ) : ? Token { if ( ! isset ( self :: $ codeTokenKindMap [ $ code ] ) ) { throw $ this -> createSyntaxErrorException ( ) ; } return new Token ( self :: $ codeTokenKindMap [ $ code ] , $ this -> position , $ this -> position + 1 , $ line , $ column , $ prev ) ; }
Reads a punctuation token from the source file.

@param int   $code
@param int   $line
@param int   $column
@param Token $prev
@return Token
@throws SyntaxErrorException
Reads a punctuation token from the source file .