| Index: third_party/lua/src/llex.h
|
| diff --git a/third_party/lua/src/llex.h b/third_party/lua/src/llex.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9ca8a29948c1fb9ef311ea96820ae52a3aa7889b
|
| --- /dev/null
|
| +++ b/third_party/lua/src/llex.h
|
| @@ -0,0 +1,78 @@
|
| +/*
|
| +** $Id: llex.h,v 1.72 2011/11/30 12:43:51 roberto Exp $
|
| +** Lexical Analyzer
|
| +** See Copyright Notice in lua.h
|
| +*/
|
| +
|
| +#ifndef llex_h
|
| +#define llex_h
|
| +
|
| +#include "lobject.h"
|
| +#include "lzio.h"
|
| +
|
| +
|
| +#define FIRST_RESERVED 257
|
| +
|
| +
|
| +
|
| +/*
|
| +* WARNING: if you change the order of this enumeration,
|
| +* grep "ORDER RESERVED"
|
| +*/
|
| +enum RESERVED {
|
| + /* terminal symbols denoted by reserved words */
|
| + TK_AND = FIRST_RESERVED, TK_BREAK,
|
| + TK_DO, TK_ELSE, TK_ELSEIF, TK_END, TK_FALSE, TK_FOR, TK_FUNCTION,
|
| + TK_GOTO, TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT,
|
| + TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE,
|
| + /* other terminal symbols */
|
| + TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_DBCOLON, TK_EOS,
|
| + TK_NUMBER, TK_NAME, TK_STRING
|
| +};
|
| +
|
| +/* number of reserved words */
|
| +#define NUM_RESERVED (cast(int, TK_WHILE-FIRST_RESERVED+1))
|
| +
|
| +
|
| +typedef union {
|
| + lua_Number r;
|
| + TString *ts;
|
| +} SemInfo; /* semantics information */
|
| +
|
| +
|
| +typedef struct Token {
|
| + int token;
|
| + SemInfo seminfo;
|
| +} Token;
|
| +
|
| +
|
| +/* state of the lexer plus state of the parser when shared by all
|
| + functions */
|
| +typedef struct LexState {
|
| + int current; /* current character (charint) */
|
| + int linenumber; /* input line counter */
|
| + int lastline; /* line of last token `consumed' */
|
| + Token t; /* current token */
|
| + Token lookahead; /* look ahead token */
|
| + struct FuncState *fs; /* current function (parser) */
|
| + struct lua_State *L;
|
| + ZIO *z; /* input stream */
|
| + Mbuffer *buff; /* buffer for tokens */
|
| + struct Dyndata *dyd; /* dynamic structures used by the parser */
|
| + TString *source; /* current source name */
|
| + TString *envn; /* environment variable name */
|
| + char decpoint; /* locale decimal point */
|
| +} LexState;
|
| +
|
| +
|
| +LUAI_FUNC void luaX_init (lua_State *L);
|
| +LUAI_FUNC void luaX_setinput (lua_State *L, LexState *ls, ZIO *z,
|
| + TString *source, int firstchar);
|
| +LUAI_FUNC TString *luaX_newstring (LexState *ls, const char *str, size_t l);
|
| +LUAI_FUNC void luaX_next (LexState *ls);
|
| +LUAI_FUNC int luaX_lookahead (LexState *ls);
|
| +LUAI_FUNC l_noret luaX_syntaxerror (LexState *ls, const char *s);
|
| +LUAI_FUNC const char *luaX_token2str (LexState *ls, int token);
|
| +
|
| +
|
| +#endif
|
|
|