private Token NextName(char? nch)
{
string name = nch.ToString();
nch = this.NextChar();
while (nch.HasValue && (char.IsLetterOrDigit(nch.Value) || nch.Value == '_'))
{
name += nch.Value;
nch = this.NextChar();
}
if (nch.HasValue)
this.PushChar(nch.Value);
Token token = new Token();
token.Value = name;
token.TokenType = TokenType.Name;
return token;
}