private Token NextName(char ch)
{
string value = ch.ToString();
TokenType type = char.IsUpper(ch) || ch == '_' ? TokenType.Variable : TokenType.Atom;
int ich;
for (ich = this.NextChar(); ich != -1 && IsNameChar((char)ich); ich = this.NextChar())
value += (char)ich;
this.PushChar(ich);
return new Token(value, type);
}