summaryrefslogtreecommitdiff
path: root/source3/lua-5.1.4/src/llex.h
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-09-19 08:01:23 +0200
committerVolker Lendecke <vl@samba.org>2008-12-17 12:57:18 +0100
commit390f19b649b85a8f8ab762c6a4e9d1a3d23d3f47 (patch)
tree9f9506e36222640d23b086d62b32de940c526a98 /source3/lua-5.1.4/src/llex.h
parent081f8883bafc11ca7c08f868ec19f1ea32071837 (diff)
downloadsamba-390f19b649b85a8f8ab762c6a4e9d1a3d23d3f47.tar.gz
samba-390f19b649b85a8f8ab762c6a4e9d1a3d23d3f47.tar.bz2
samba-390f19b649b85a8f8ab762c6a4e9d1a3d23d3f47.zip
Add the Lua distibution from http://www.lua.org/ftp/lua-5.1.4.tar.gz
Available under the MIT license. Adding it to see how the build farm likes it. They claim to be 100% pure ANSI C and compile everywhere. Lets see. If it breaks badly, we can remove it again.
Diffstat (limited to 'source3/lua-5.1.4/src/llex.h')
-rw-r--r--source3/lua-5.1.4/src/llex.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/source3/lua-5.1.4/src/llex.h b/source3/lua-5.1.4/src/llex.h
new file mode 100644
index 0000000000..a9201cee48
--- /dev/null
+++ b/source3/lua-5.1.4/src/llex.h
@@ -0,0 +1,81 @@
+/*
+** $Id: llex.h,v 1.58.1.1 2007/12/27 13:02:25 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
+
+/* maximum length of a reserved word */
+#define TOKEN_LEN (sizeof("function")/sizeof(char))
+
+
+/*
+* 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_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_NUMBER,
+ TK_NAME, TK_STRING, TK_EOS
+};
+
+/* number of reserved words */
+#define NUM_RESERVED (cast(int, TK_WHILE-FIRST_RESERVED+1))
+
+
+/* array with token `names' */
+LUAI_DATA const char *const luaX_tokens [];
+
+
+typedef union {
+ lua_Number r;
+ TString *ts;
+} SemInfo; /* semantics information */
+
+
+typedef struct Token {
+ int token;
+ SemInfo seminfo;
+} Token;
+
+
+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; /* `FuncState' is private to the parser */
+ struct lua_State *L;
+ ZIO *z; /* input stream */
+ Mbuffer *buff; /* buffer for tokens */
+ TString *source; /* current source 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);
+LUAI_FUNC TString *luaX_newstring (LexState *ls, const char *str, size_t l);
+LUAI_FUNC void luaX_next (LexState *ls);
+LUAI_FUNC void luaX_lookahead (LexState *ls);
+LUAI_FUNC void luaX_lexerror (LexState *ls, const char *msg, int token);
+LUAI_FUNC void luaX_syntaxerror (LexState *ls, const char *s);
+LUAI_FUNC const char *luaX_token2str (LexState *ls, int token);
+
+
+#endif