aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-06-03 17:12:21 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-06-03 17:12:21 -0300
commitc398a02110d72422f2c2e1168376d751ec1269db (patch)
tree10224e1ed29d89bfe2c6392e88d0684eea07fab6
parentad7103ea3aed7f40a5cf7055af253b34320134bc (diff)
downloadlua-c398a02110d72422f2c2e1168376d751ec1269db.tar.gz
lua-c398a02110d72422f2c2e1168376d751ec1269db.tar.bz2
lua-c398a02110d72422f2c2e1168376d751ec1269db.zip
uses `isspace' to recognize space characters
-rw-r--r--llex.c52
1 files changed, 26 insertions, 26 deletions
diff --git a/llex.c b/llex.c
index 3e308753..14dc2902 100644
--- a/llex.c
+++ b/llex.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: llex.c,v 1.102 2002/05/16 18:39:46 roberto Exp roberto $ 2** $Id: llex.c,v 1.103 2002/06/03 14:09:57 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*/
@@ -306,15 +306,11 @@ int luaX_lex (LexState *LS, SemInfo *seminfo) {
306 for (;;) { 306 for (;;) {
307 switch (LS->current) { 307 switch (LS->current) {
308 308
309 case ' ': case '\t': case '\r': /* `\r' to avoid problems with DOS */ 309 case '\n': {
310 next(LS);
311 continue;
312
313 case '\n':
314 inclinenumber(LS); 310 inclinenumber(LS);
315 continue; 311 continue;
316 312 }
317 case '-': 313 case '-': {
318 next(LS); 314 next(LS);
319 if (LS->current != '-') return '-'; 315 if (LS->current != '-') return '-';
320 /* else is a comment */ 316 /* else is a comment */
@@ -325,41 +321,41 @@ int luaX_lex (LexState *LS, SemInfo *seminfo) {
325 while (LS->current != '\n' && LS->current != EOZ) 321 while (LS->current != '\n' && LS->current != EOZ)
326 next(LS); 322 next(LS);
327 continue; 323 continue;
328 324 }
329 case '[': 325 case '[': {
330 next(LS); 326 next(LS);
331 if (LS->current != '[') return '['; 327 if (LS->current != '[') return '[';
332 else { 328 else {
333 read_long_string(LS, seminfo); 329 read_long_string(LS, seminfo);
334 return TK_STRING; 330 return TK_STRING;
335 } 331 }
336 332 }
337 case '=': 333 case '=': {
338 next(LS); 334 next(LS);
339 if (LS->current != '=') return '='; 335 if (LS->current != '=') return '=';
340 else { next(LS); return TK_EQ; } 336 else { next(LS); return TK_EQ; }
341 337 }
342 case '<': 338 case '<': {
343 next(LS); 339 next(LS);
344 if (LS->current != '=') return '<'; 340 if (LS->current != '=') return '<';
345 else { next(LS); return TK_LE; } 341 else { next(LS); return TK_LE; }
346 342 }
347 case '>': 343 case '>': {
348 next(LS); 344 next(LS);
349 if (LS->current != '=') return '>'; 345 if (LS->current != '=') return '>';
350 else { next(LS); return TK_GE; } 346 else { next(LS); return TK_GE; }
351 347 }
352 case '~': 348 case '~': {
353 next(LS); 349 next(LS);
354 if (LS->current != '=') return '~'; 350 if (LS->current != '=') return '~';
355 else { next(LS); return TK_NE; } 351 else { next(LS); return TK_NE; }
356 352 }
357 case '"': 353 case '"':
358 case '\'': 354 case '\'': {
359 read_string(LS, LS->current, seminfo); 355 read_string(LS, LS->current, seminfo);
360 return TK_STRING; 356 return TK_STRING;
361 357 }
362 case '.': 358 case '.': {
363 next(LS); 359 next(LS);
364 if (LS->current == '.') { 360 if (LS->current == '.') {
365 next(LS); 361 next(LS);
@@ -374,12 +370,16 @@ int luaX_lex (LexState *LS, SemInfo *seminfo) {
374 read_number(LS, 1, seminfo); 370 read_number(LS, 1, seminfo);
375 return TK_NUMBER; 371 return TK_NUMBER;
376 } 372 }
377 373 }
378 case EOZ: 374 case EOZ: {
379 return TK_EOS; 375 return TK_EOS;
380 376 }
381 default: { 377 default: {
382 if (isdigit(LS->current)) { 378 if (isspace(LS->current)) {
379 next(LS);
380 continue;
381 }
382 else if (isdigit(LS->current)) {
383 read_number(LS, 0, seminfo); 383 read_number(LS, 0, seminfo);
384 return TK_NUMBER; 384 return TK_NUMBER;
385 } 385 }