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 |