public function reset(): self
    {
        $this->position = 0;
        $this->current = isset($this->tokens[$this->position]) ? $this->tokens[$this->position] : self::$eoi;
        return $this;
    }