#include <libwccl/values/tset.h>
#include <sstream>

namespace Wccl {

const char* TSet::type_name = "TSet";

std::string TSet::to_raw_string() const
{
	return tag_.raw_dump();
}

std::string TSet::to_string(const Corpus2::Tagset& tagset) const
{
	return "{" + tagset.tag_to_symbol_string(tag_) + "}";
}

std::string TSet::var_repr(const std::string &var_name)
{
	std::stringstream ss;
	ss << "$t" << var_name;
	return ss.str();
}

void TSet::insert_symbol(const Corpus2::Tagset& tagset, const std::string& s)
{
	tag_.combine_with(tagset.parse_symbol(s));
}

} /* end ns Wccl */