#include <libwccl/values/position.h>
#include <boost/lexical_cast.hpp>
namespace Wccl {

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

std::string Position::to_raw_string() const
{
	switch (val_) {
	case Nowhere:
		return "nowhere";
	case Begin:
		return "begin";
	case End:
		return "end";
	default:
		return boost::lexical_cast<std::string>(val_);
	}
}

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

} /* end ns Wccl */