LUA_NUMBER */
| 6903 | |
| 6904 | /* LUA_NUMBER */ |
| 6905 | static void read_numeral (LexState *ls, SemInfo *seminfo) { |
| 6906 | lua_assert(isdigit(ls->current)); |
| 6907 | do { |
| 6908 | save_and_next(ls); |
| 6909 | } while (isdigit(ls->current) || ls->current == '.'); |
| 6910 | if (check_next(ls, "Ee")) /* `E'? */ |
| 6911 | check_next(ls, "+-"); /* optional exponent sign */ |
| 6912 | while (isalnum(ls->current) || ls->current == '_') |
| 6913 | save_and_next(ls); |
| 6914 | save(ls, '\0'); |
| 6915 | buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ |
| 6916 | if (!luaO_str2d(luaZ_buffer(ls->buff), &seminfo->r)) /* format error? */ |
| 6917 | trydecpoint(ls, seminfo); /* try to update decimal point separator */ |
| 6918 | } |
| 6919 | |
| 6920 | |
| 6921 | static int skip_sep (LexState *ls) { |
no test coverage detected