aboutsummaryrefslogtreecommitdiff
path: root/llex.c
diff options
context:
space:
mode:
Diffstat (limited to 'llex.c')
-rw-r--r--llex.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/llex.c b/llex.c
index 015e3210..19a8950c 100644
--- a/llex.c
+++ b/llex.c
@@ -1,11 +1,10 @@
1/* 1/*
2** $Id: llex.c,v 2.29 2008/12/26 11:55:57 roberto Exp roberto $ 2** $Id: llex.c,v 2.30 2009/02/11 18:25:20 roberto Exp roberto $
3** Lexical Analyzer 3** Lexical Analyzer
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
6 6
7 7
8#include <ctype.h>
9#include <locale.h> 8#include <locale.h>
10#include <string.h> 9#include <string.h>
11 10
@@ -14,6 +13,7 @@
14 13
15#include "lua.h" 14#include "lua.h"
16 15
16#include "lctype.h"
17#include "ldo.h" 17#include "ldo.h"
18#include "llex.h" 18#include "llex.h"
19#include "lobject.h" 19#include "lobject.h"
@@ -77,7 +77,7 @@ void luaX_init (lua_State *L) {
77const char *luaX_token2str (LexState *ls, int token) { 77const char *luaX_token2str (LexState *ls, int token) {
78 if (token < FIRST_RESERVED) { 78 if (token < FIRST_RESERVED) {
79 lua_assert(token == cast(unsigned char, token)); 79 lua_assert(token == cast(unsigned char, token));
80 return (isprint(token)) ? luaO_pushfstring(ls->L, LUA_QL("%c"), token) : 80 return (lisprint(token)) ? luaO_pushfstring(ls->L, LUA_QL("%c"), token) :
81 luaO_pushfstring(ls->L, "char(%d)", token); 81 luaO_pushfstring(ls->L, "char(%d)", token);
82 } 82 }
83 else { 83 else {
@@ -200,13 +200,13 @@ static void trydecpoint (LexState *ls, SemInfo *seminfo) {
200 200
201/* LUA_NUMBER */ 201/* LUA_NUMBER */
202static void read_numeral (LexState *ls, SemInfo *seminfo) { 202static void read_numeral (LexState *ls, SemInfo *seminfo) {
203 lua_assert(isdigit(ls->current)); 203 lua_assert(lisdigit(ls->current));
204 do { 204 do {
205 save_and_next(ls); 205 save_and_next(ls);
206 } while (isdigit(ls->current) || ls->current == '.'); 206 } while (lisdigit(ls->current) || ls->current == '.');
207 if (check_next(ls, "Ee")) /* `E'? */ 207 if (check_next(ls, "Ee")) /* `E'? */
208 check_next(ls, "+-"); /* optional exponent sign */ 208 check_next(ls, "+-"); /* optional exponent sign */
209 while (isalnum(ls->current) || ls->current == '_') 209 while (lisalnum(ls->current) || ls->current == '_')
210 save_and_next(ls); 210 save_and_next(ls);
211 save(ls, '\0'); 211 save(ls, '\0');
212 buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ 212 buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */
@@ -290,7 +290,7 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
290 case '\r': save(ls, '\n'); inclinenumber(ls); continue; 290 case '\r': save(ls, '\n'); inclinenumber(ls); continue;
291 case EOZ: continue; /* will raise an error next loop */ 291 case EOZ: continue; /* will raise an error next loop */
292 default: { 292 default: {
293 if (!isdigit(ls->current)) 293 if (!lisdigit(ls->current))
294 save_and_next(ls); /* handles \\, \", \', and \? */ 294 save_and_next(ls); /* handles \\, \", \', and \? */
295 else { /* \xxx */ 295 else { /* \xxx */
296 int i = 0; 296 int i = 0;
@@ -298,7 +298,7 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
298 do { 298 do {
299 c = 10*c + (ls->current-'0'); 299 c = 10*c + (ls->current-'0');
300 next(ls); 300 next(ls);
301 } while (++i<3 && isdigit(ls->current)); 301 } while (++i<3 && lisdigit(ls->current));
302 if (c > UCHAR_MAX) 302 if (c > UCHAR_MAX)
303 lexerror(ls, "escape sequence too large", TK_STRING); 303 lexerror(ls, "escape sequence too large", TK_STRING);
304 save(ls, c); 304 save(ls, c);
@@ -389,7 +389,7 @@ static int llex (LexState *ls, SemInfo *seminfo) {
389 return TK_DOTS; /* ... */ 389 return TK_DOTS; /* ... */
390 else return TK_CONCAT; /* .. */ 390 else return TK_CONCAT; /* .. */
391 } 391 }
392 else if (!isdigit(ls->current)) return '.'; 392 else if (!lisdigit(ls->current)) return '.';
393 else { 393 else {
394 read_numeral(ls, seminfo); 394 read_numeral(ls, seminfo);
395 return TK_NUMBER; 395 return TK_NUMBER;
@@ -399,21 +399,21 @@ static int llex (LexState *ls, SemInfo *seminfo) {
399 return TK_EOS; 399 return TK_EOS;
400 } 400 }
401 default: { 401 default: {
402 if (isspace(ls->current)) { 402 if (lisspace(ls->current)) {
403 lua_assert(!currIsNewline(ls)); 403 lua_assert(!currIsNewline(ls));
404 next(ls); 404 next(ls);
405 continue; 405 continue;
406 } 406 }
407 else if (isdigit(ls->current)) { 407 else if (lisdigit(ls->current)) {
408 read_numeral(ls, seminfo); 408 read_numeral(ls, seminfo);
409 return TK_NUMBER; 409 return TK_NUMBER;
410 } 410 }
411 else if (isalpha(ls->current) || ls->current == '_') { 411 else if (lisalpha(ls->current) || ls->current == '_') {
412 /* identifier or reserved word */ 412 /* identifier or reserved word */
413 TString *ts; 413 TString *ts;
414 do { 414 do {
415 save_and_next(ls); 415 save_and_next(ls);
416 } while (isalnum(ls->current) || ls->current == '_'); 416 } while (lisalnum(ls->current) || ls->current == '_');
417 ts = luaX_newstring(ls, luaZ_buffer(ls->buff), 417 ts = luaX_newstring(ls, luaZ_buffer(ls->buff),
418 luaZ_bufflen(ls->buff)); 418 luaZ_bufflen(ls->buff));
419 if (ts->tsv.reserved > 0) /* reserved word? */ 419 if (ts->tsv.reserved > 0) /* reserved word? */