Go to the documentation of this file.
25 #define next(LS) (LS->current = zgetc(LS->z))
32 "and",
"break",
"do",
"else",
"elseif",
33 "end",
"false",
"for",
"function",
"if",
34 "in",
"local",
"nil",
"not",
"or",
"repeat",
35 "return",
"then",
"true",
"until",
"while",
"*name",
36 "..",
"...",
"==",
">=",
"<=",
"~=",
37 "*number",
"*string",
"<eof>"
80 const char *lasttoken;
159 #define checkbuffer(LS, len) \
160 if (((len)+MAXNOCHECK)*sizeof(char) > luaZ_sizebuffer((LS)->buff)) \
161 luaZ_openspace((LS)->L, (LS)->buff, (len)+EXTRABUFF)
163 #define save(LS, c, l) \
164 (luaZ_buffer((LS)->buff)[l++] = cast(char, c))
165 #define save_and_next(LS, l) (save(LS, LS->current, l), next(LS))
188 if (comma)
save(LS,
'.', l);
199 "ambiguous syntax (decimal point x string concatenation)",
238 "unfinished long comment",
TK_EOS);
250 if (cont == 0)
goto endloop;
291 case 'a':
save(LS,
'\a', l);
next(LS);
break;
292 case 'b':
save(LS,
'\b', l);
next(LS);
break;
293 case 'f':
save(LS,
'\f', l);
next(LS);
break;
294 case 'n':
save(LS,
'\n', l);
next(LS);
break;
295 case 'r':
save(LS,
'\r', l);
next(LS);
break;
296 case 't':
save(LS,
'\t', l);
next(LS);
break;
297 case 'v':
save(LS,
'\v', l);
next(LS);
break;
309 }
while (++i<3 && isdigit(LS->
current));
339 if (LS->
current !=
'-')
return '-';
351 if (LS->
current !=
'[')
return '[';
359 if (LS->
current !=
'=')
return '=';
364 if (LS->
current !=
'=')
return '<';
369 if (LS->
current !=
'=')
return '>';
374 if (LS->
current !=
'=')
return '~';
392 else if (!isdigit(LS->
current))
return '.';
406 else if (isdigit(LS->
current)) {