vendor: 引入 Lua 5.0.3 官方源码 (lua_5.0 分支)

桥接层适配尚未完成。Lua 5.0 与 5.1+ 差异显著:
- 无 linit.c/loslib.c(luaopen_os 混于 liolib.c)
- 无 luaL_setfuncs/lua_getextraspace/lua_isinteger
- 无 LUA_REGISTRYINDEX 现代用法差异需逐一核对
后续移植需按 ADAPTATION.md 指引重写 I/O 重定向与 typed interop 层
This commit is contained in:
JianFeeeee
2026-08-25 10:14:33 +08:00
parent 80880edbce
commit 95d474ea07
65 changed files with 9165 additions and 27114 deletions

View File

@ -1,40 +1,34 @@
/*
** $Id: lundump.h $
** load precompiled Lua chunks
** $Id: lundump.h,v 1.30 2003/04/07 20:34:20 lhf Exp $
** load pre-compiled Lua chunks
** See Copyright Notice in lua.h
*/
#ifndef lundump_h
#define lundump_h
#include <limits.h>
#include "llimits.h"
#include "lobject.h"
#include "lzio.h"
/* data to catch conversion errors */
#define LUAC_DATA "\x19\x93\r\n\x1a\n"
#define LUAC_INT -0x5678
#define LUAC_INST 0x12345678
#define LUAC_NUM cast_num(-370.5)
/*
** Encode major-minor version in one byte, one nibble for each
*/
#define LUAC_VERSION (LUA_VERSION_MAJOR_N*16+LUA_VERSION_MINOR_N)
#define LUAC_FORMAT 0 /* this is the official format */
/* load one chunk; from lundump.c */
LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, Table *anchor,
const char* name, int fixed);
Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff);
/* find byte order; from lundump.c */
int luaU_endianness (void);
/* dump one chunk; from ldump.c */
LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w,
void* data, int strip);
void luaU_dump (lua_State* L, const Proto* Main, lua_Chunkwriter w, void* data);
/* print one chunk; from print.c */
void luaU_print (const Proto* Main);
/* definitions for headers of binary files */
#define LUA_SIGNATURE "\033Lua" /* binary files start with "<esc>Lua" */
#define VERSION 0x50 /* last format change was in 5.0 */
#define VERSION0 0x50 /* last major change was in 5.0 */
/* a multiple of PI for testing native format */
/* multiplying by 1E7 gives non-trivial integer values */
#define TEST_NUMBER ((lua_Number)3.14159265358979323846E7)
#endif