public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
return false;
Token other = obj as Token;
if (other.Value == Value && other.Line == Line && other.Position == Position)
return true;
return false;
}