| 3 |
tristanc |
1 |
/*
|
|
|
2 |
* The code below can be used to make a Lua core that does not contain the
|
|
|
3 |
* parsing modules (lcode, llex, lparser), which represent 35% of the total core.
|
|
|
4 |
* You'll only be able to load binary files and strings, precompiled with luac.
|
|
|
5 |
* (Of course, you'll have to build luac with the original parsing modules!)
|
|
|
6 |
*
|
|
|
7 |
* To use this module, simply compile it ("make noparser" does that) and list
|
|
|
8 |
* its object file before the Lua libraries. The linker should then not load
|
|
|
9 |
* the parsing modules. To try it, do "make luab".
|
|
|
10 |
*
|
|
|
11 |
* If you also want to avoid the dump module (ldump.o), define NODUMP.
|
|
|
12 |
* #define NODUMP
|
|
|
13 |
*/
|
|
|
14 |
|
|
|
15 |
#define LUA_CORE
|
|
|
16 |
|
|
|
17 |
#include "llex.h"
|
|
|
18 |
#include "lparser.h"
|
|
|
19 |
#include "lzio.h"
|
|
|
20 |
|
|
|
21 |
LUAI_FUNC void luaX_init (lua_State *L) {
|
|
|
22 |
UNUSED(L);
|
|
|
23 |
}
|
|
|
24 |
|
|
|
25 |
LUAI_FUNC Proto *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, const char *name) {
|
|
|
26 |
UNUSED(z);
|
|
|
27 |
UNUSED(buff);
|
|
|
28 |
UNUSED(name);
|
|
|
29 |
lua_pushliteral(L,"parser not loaded");
|
|
|
30 |
lua_error(L);
|
|
|
31 |
return NULL;
|
|
|
32 |
}
|
|
|
33 |
|
|
|
34 |
#ifdef NODUMP
|
|
|
35 |
#include "lundump.h"
|
|
|
36 |
|
|
|
37 |
LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip) {
|
|
|
38 |
UNUSED(f);
|
|
|
39 |
UNUSED(w);
|
|
|
40 |
UNUSED(data);
|
|
|
41 |
UNUSED(strip);
|
|
|
42 |
#if 1
|
|
|
43 |
UNUSED(L);
|
|
|
44 |
return 0;
|
|
|
45 |
#else
|
|
|
46 |
lua_pushliteral(L,"dumper not loaded");
|
|
|
47 |
lua_error(L);
|
|
|
48 |
#endif
|
|
|
49 |
}
|
|
|
50 |
#endif
|