mirror of
https://github.com/lua/lua
synced 2024-11-22 04:41:23 +03:00
Tratamento do token $debug e $nodebug
This commit is contained in:
parent
a4a3357c1c
commit
70b1eb4e8b
34
lex.c
34
lex.c
@ -1,5 +1,8 @@
|
||||
char *rcs_lex = "$Id$";
|
||||
/*$Log$*/
|
||||
char *rcs_lex = "$Id: lex.c,v 1.1 1993/12/22 21:15:16 roberto Exp celes $";
|
||||
/*$Log: lex.c,v $
|
||||
* Revision 1.1 1993/12/22 21:15:16 roberto
|
||||
* Initial revision
|
||||
**/
|
||||
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
@ -84,17 +87,33 @@ int yylex ()
|
||||
yytextLast = yytext;
|
||||
switch (current)
|
||||
{
|
||||
case 0: return 0;
|
||||
case '\n': lua_linenumber++;
|
||||
case ' ':
|
||||
case '\t':
|
||||
save_and_next();
|
||||
next();
|
||||
continue;
|
||||
|
||||
case '$':
|
||||
next();
|
||||
while (isalnum(current) || current == '_')
|
||||
save_and_next();
|
||||
*yytextLast = 0;
|
||||
if (strcmp(yytext, "debug") == 0)
|
||||
{
|
||||
yylval.vInt = 1;
|
||||
return DEBUG;
|
||||
}
|
||||
else if (strcmp(yytext, "nodebug") == 0)
|
||||
{
|
||||
yylval.vInt = 0;
|
||||
return DEBUG;
|
||||
}
|
||||
return WRONGTOKEN;
|
||||
|
||||
case '-':
|
||||
save_and_next();
|
||||
if (current != '-') return '-';
|
||||
do { save_and_next(); } while (current != '\n' && current != 0);
|
||||
do { next(); } while (current != '\n' && current != 0);
|
||||
continue;
|
||||
|
||||
case '<':
|
||||
@ -195,11 +214,10 @@ fraction: while (isdigit(current)) save_and_next();
|
||||
yylval.vFloat = atof(yytext);
|
||||
return NUMBER;
|
||||
|
||||
default:
|
||||
default: /* also end of file */
|
||||
{
|
||||
int temp = current;
|
||||
save_and_next();
|
||||
return temp;
|
||||
return *yytext;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user