152 std::string lexeme(
line.data() + lex_pos,
curr_char - lex_pos);
168 if (!digit) eflag =
true;
187 if (!digit) eflag =
true;
192 while (!isspace(ch) && !ispunct(ch)) {
200 std::string lexeme(
line.data() + lex_pos,
curr_char - lex_pos);
205 "Invalid numeric token \"" + lexeme +
"\".");
207 int power = expsig * expval - places;
210 for (places = power; places > 0; places--)
213 for (places = -power; places > 0; places--)