?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  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
  51.