
// Copyright {Jagger Software Limited} 2003

#include "grammar/base.hpp"

#include "contract/pre_condition.hpp"

namespace grammar // base - 'tors
{
    base::base()
        : terminal_cache()
        , one_of_cache()
        , key()
    {
    }

    base::~base()
    {
    }
}

namespace grammar // base - implementation
{
    base::terminal::terminal(const char * symbol) 
        : literal(symbol) 
    {
        PRE_CONDITION(symbol != 0);
    }

    base::none_of::none_of(const char * symbol) 
        : literal(symbol) 
    {
        PRE_CONDITION(symbol != 0);
    }

    base::one_of::one_of(const char * symbol) 
        : literal(symbol) 
    {
        PRE_CONDITION(symbol != 0);
    }
}

