
// Copyright {Jagger Software Limited} 2003

#include "grammar/symbol_definition.hpp"

#include "contract/pre_condition.hpp"
#include <cstring>

using namespace ::std;

namespace grammar // keyed_symbol_definition - 'tors
{
    symbol_definition::symbol_definition(const key_type & key, const char * name)
        : key(key)
        , name(name)
    {
        PRE_CONDITION(name != 0);
        PRE_CONDITION(strlen(name) > 0);        
    }
}

namespace grammar // symbol_definition - streaming
{
    ostream & operator<<(ostream & out, const symbol_definition & to_write)
    {
        to_write.write(out);
        return out;
    }
}    

