private Token ParseNumber(StringReader reader)
{
StringBuilder builder = new StringBuilder();
while (true)
{
char value = (char)reader.Peek();
if (char.IsDigit(value))
{
reader.Read();
builder.Append(value);
}
else if (value == '.')
{
reader.Read();
builder.Append('.');
}
else
{
break;
}
}
double convertedValue = Convert.ToDouble(builder.ToString(), CultureInfo.InvariantCulture);
return new Token(TokenType.Numeric, convertedValue);
}