private function addValueToDirective()
    {
        $this->convert('trim');
        switch ($this->current_directive) {
            case self::DIRECTIVE_USERAGENT:
                $this->setCurrentUserAgent();
                break;
            case self::DIRECTIVE_CACHE_DELAY:
            case self::DIRECTIVE_CRAWL_DELAY:
                $this->convert('floatval');
                $this->addRule(false);
                break;
            case self::DIRECTIVE_HOST:
                $this->addHost();
                break;
            case self::DIRECTIVE_SITEMAP:
                $this->addSitemap();
                break;
            case self::DIRECTIVE_CLEAN_PARAM:
                $this->addCleanParam();
                break;
            case self::DIRECTIVE_ALLOW:
            case self::DIRECTIVE_DISALLOW:
                $this->addRule();
                break;
        }
        // clean-up
        $this->current_word = '';
        $this->switchState(self::STATE_ZERO_POINT);
    }