
class Location
{

}

class Token
{
	this(Location _loc)
	{
		loc = _loc;
	}
	
	Location loc;
}


class NumberToken(T) : public Token
{
	T value;
//	char[] suffix;
	
	this(T _value/*, char[] _suffix*/, Location _loc)
	{
	    super(_loc);
	    value = _value;
//	    suffix = _suffix;
	}
}

alias NumberToken!(int)		IntToken;
alias NumberToken!(uint)	UIntToken;
alias NumberToken!(long)	LongToken;
alias NumberToken!(ulong)	ULongToken;
alias NumberToken!(real)	RealToken;
alias NumberToken!(ireal)	IRealToken;


