亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lua.c

?? lua的即時(shí)編譯器。支持lua 5.1.2版本
?? C
字號(hào):
/*** $Id: lua.c,v 1.160 2006/06/02 15:34:00 roberto Exp $** Lua stand-alone interpreter** See Copyright Notice in lua.h*/#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#define lua_c#include "lua.h"#include "lauxlib.h"#include "lualib.h"#include "luajit.h"static lua_State *globalL = NULL;static const char *progname = LUA_PROGNAME;static void lstop (lua_State *L, lua_Debug *ar) {  (void)ar;  /* unused arg. */  lua_sethook(L, NULL, 0, 0);  luaL_error(L, "interrupted!");}static void laction (int i) {  signal(i, SIG_DFL); /* if another SIGINT happens before lstop,                              terminate process (default action) */  lua_sethook(globalL, lstop, LUA_MASKCALL | LUA_MASKRET | LUA_MASKCOUNT, 1);}static void print_usage (void) {  fprintf(stderr,  "usage: %s [options] [script [args]].\n"  "Available options are:\n"  "  -e stat  execute string " LUA_QL("stat") "\n"  "  -l name  require library " LUA_QL("name") "\n"  "  -j cmd   perform LuaJIT control command\n"  "  -O[lvl]  set LuaJIT optimization level\n"  "  -i       enter interactive mode after executing " LUA_QL("script") "\n"  "  -v       show version information\n"  "  --       stop handling options\n"  "  -        execute stdin and stop handling options\n"  ,  progname);  fflush(stderr);}static void l_message (const char *pname, const char *msg) {  if (pname) fprintf(stderr, "%s: ", pname);  fprintf(stderr, "%s\n", msg);  fflush(stderr);}static int report (lua_State *L, int status) {  if (status && !lua_isnil(L, -1)) {    const char *msg = lua_tostring(L, -1);    if (msg == NULL) msg = "(error object is not a string)";    l_message(progname, msg);    lua_pop(L, 1);  }  return status;}static int traceback (lua_State *L) {  lua_getfield(L, LUA_GLOBALSINDEX, "debug");  if (!lua_istable(L, -1)) {    lua_pop(L, 1);    return 1;  }  lua_getfield(L, -1, "traceback");  if (!lua_isfunction(L, -1)) {    lua_pop(L, 2);    return 1;  }  lua_pushvalue(L, 1);  /* pass error message */  lua_pushinteger(L, 2);  /* skip this function and traceback */  lua_call(L, 2, 1);  /* call debug.traceback */  return 1;}static int docall (lua_State *L, int narg, int clear) {  int status;  int base = lua_gettop(L) - narg;  /* function index */  lua_pushcfunction(L, traceback);  /* push traceback function */  lua_insert(L, base);  /* put it under chunk and args */  signal(SIGINT, laction);  status = lua_pcall(L, narg, (clear ? 0 : LUA_MULTRET), base);  signal(SIGINT, SIG_DFL);  lua_remove(L, base);  /* remove traceback function */  /* force a complete garbage collection in case of errors */  if (status != 0) lua_gc(L, LUA_GCCOLLECT, 0);  return status;}static void print_version (void) {  l_message(NULL, LUA_RELEASE "  " LUA_COPYRIGHT);  l_message(NULL, LUAJIT_VERSION "  " LUAJIT_COPYRIGHT ", " LUAJIT_URL);}static int getargs (lua_State *L, char **argv, int n) {  int narg;  int i;  int argc = 0;  while (argv[argc]) argc++;  /* count total number of arguments */  narg = argc - (n + 1);  /* number of arguments to the script */  luaL_checkstack(L, narg + 3, "too many arguments to script");  for (i=n+1; i < argc; i++)    lua_pushstring(L, argv[i]);  lua_createtable(L, narg, n + 1);  for (i=0; i < argc; i++) {    lua_pushstring(L, argv[i]);    lua_rawseti(L, -2, i - n);  }  return narg;}static int dofile (lua_State *L, const char *name) {  int status = luaL_loadfile(L, name) || docall(L, 0, 1);  return report(L, status);}static int dostring (lua_State *L, const char *s, const char *name) {  int status = luaL_loadbuffer(L, s, strlen(s), name) || docall(L, 0, 1);  return report(L, status);}static int dolibrary (lua_State *L, const char *name) {  lua_getglobal(L, "require");  lua_pushstring(L, name);  return report(L, lua_pcall(L, 1, 0, 0));}static const char *get_prompt (lua_State *L, int firstline) {  const char *p;  lua_getfield(L, LUA_GLOBALSINDEX, firstline ? "_PROMPT" : "_PROMPT2");  p = lua_tostring(L, -1);  if (p == NULL) p = (firstline ? LUA_PROMPT : LUA_PROMPT2);  lua_pop(L, 1);  /* remove global */  return p;}static int incomplete (lua_State *L, int status) {  if (status == LUA_ERRSYNTAX) {    size_t lmsg;    const char *msg = lua_tolstring(L, -1, &lmsg);    const char *tp = msg + lmsg - (sizeof(LUA_QL("<eof>")) - 1);    if (strstr(msg, LUA_QL("<eof>")) == tp) {      lua_pop(L, 1);      return 1;    }  }  return 0;  /* else... */}static int pushline (lua_State *L, int firstline) {  char buffer[LUA_MAXINPUT];  char *b = buffer;  size_t l;  const char *prmt = get_prompt(L, firstline);  if (lua_readline(L, b, prmt) == 0)    return 0;  /* no input */  l = strlen(b);  if (l > 0 && b[l-1] == '\n')  /* line ends with newline? */    b[l-1] = '\0';  /* remove it */  if (firstline && b[0] == '=')  /* first line starts with `=' ? */    lua_pushfstring(L, "return %s", b+1);  /* change it to `return' */  else    lua_pushstring(L, b);  lua_freeline(L, b);  return 1;}static int loadline (lua_State *L) {  int status;  lua_settop(L, 0);  if (!pushline(L, 1))    return -1;  /* no input */  for (;;) {  /* repeat until gets a complete line */    status = luaL_loadbuffer(L, lua_tostring(L, 1), lua_strlen(L, 1), "=stdin");    if (!incomplete(L, status)) break;  /* cannot try to add lines? */    if (!pushline(L, 0))  /* no more input? */      return -1;    lua_pushliteral(L, "\n");  /* add a new line... */    lua_insert(L, -2);  /* ...between the two lines */    lua_concat(L, 3);  /* join them */  }  lua_saveline(L, 1);  lua_remove(L, 1);  /* remove line */  return status;}static void dotty (lua_State *L) {  int status;  const char *oldprogname = progname;  progname = NULL;  while ((status = loadline(L)) != -1) {    if (status == 0) status = docall(L, 0, 0);    report(L, status);    if (status == 0 && lua_gettop(L) > 0) {  /* any result to print? */      lua_getglobal(L, "print");      lua_insert(L, 1);      if (lua_pcall(L, lua_gettop(L)-1, 0, 0) != 0)        l_message(progname, lua_pushfstring(L,                               "error calling " LUA_QL("print") " (%s)",                               lua_tostring(L, -1)));    }  }  lua_settop(L, 0);  /* clear stack */  fputs("\n", stdout);  fflush(stdout);  progname = oldprogname;}static int handle_script (lua_State *L, char **argv, int n) {  int status;  const char *fname;  int narg = getargs(L, argv, n);  /* collect arguments */  lua_setglobal(L, "arg");  fname = argv[n];  if (strcmp(fname, "-") == 0 && strcmp(argv[n-1], "--") != 0)     fname = NULL;  /* stdin */  status = luaL_loadfile(L, fname);  lua_insert(L, -(narg+1));  if (status == 0)    status = docall(L, narg, 0);  else    lua_pop(L, narg);        return report(L, status);}/* ---- start of LuaJIT extensions */static int loadjitmodule (lua_State *L, const char *notfound) {  lua_getglobal(L, "require");  lua_pushliteral(L, "jit.");  lua_pushvalue(L, -3);  lua_concat(L, 2);  if (lua_pcall(L, 1, 1, 0)) {    const char *msg = lua_tostring(L, -1);    if (msg && !strncmp(msg, "module ", 7)) {      l_message(progname, notfound);      return 1;    }    else      return report(L, 1);  }  lua_getfield(L, -1, "start");  lua_remove(L, -2);  /* drop module table */  return 0;}/* JIT engine control command: try jit library first or load add-on module */static int dojitcmd (lua_State *L, const char *cmd) {  const char *val = strchr(cmd, '=');  lua_pushlstring(L, cmd, val ? val - cmd : strlen(cmd));  lua_getglobal(L, "jit");  /* get jit.* table */  lua_pushvalue(L, -2);  lua_gettable(L, -2);  /* lookup library function */  if (!lua_isfunction(L, -1)) {    lua_pop(L, 2);  /* drop non-function and jit.* table, keep module name */    if (loadjitmodule(L, "unknown luaJIT command"))      return 1;  }  else {    lua_remove(L, -2);  /* drop jit.* table */  }  lua_remove(L, -2);  /* drop module name */  if (val) lua_pushstring(L, val+1);  return report(L, lua_pcall(L, val ? 1 : 0, 0, 0));}/* start optimizer */static int dojitopt (lua_State *L, const char *opt) {  lua_pushliteral(L, "opt");  if (loadjitmodule(L, "LuaJIT optimizer module not installed"))    return 1;  lua_remove(L, -2);  /* drop module name */  if (*opt) lua_pushstring(L, opt);  return report(L, lua_pcall(L, *opt ? 1 : 0, 0, 0));}/* ---- end of LuaJIT extensions *//* check that argument has no extra characters at the end */#define notail(x)	{if ((x)[2] != '\0') return -1;}static int collectargs (char **argv, int *pi, int *pv, int *pe) {  int i;  for (i = 1; argv[i] != NULL; i++) {    if (argv[i][0] != '-')  /* not an option? */        return i;    switch (argv[i][1]) {  /* option */      case '-':        notail(argv[i]);        return (argv[i+1] != NULL ? i+1 : 0);      case '\0':        return i;      case 'i':        notail(argv[i]);        *pi = 1;  /* go through */      case 'v':        notail(argv[i]);        *pv = 1;        break;      case 'e':        *pe = 1;  /* go through */      case 'j':  /* LuaJIT extension */      case 'l':        if (argv[i][2] == '\0') {          i++;          if (argv[i] == NULL) return -1;        }        break;      case 'O': break;  /* LuaJIT extension */      default: return -1;  /* invalid option */    }  }  return 0;}static int runargs (lua_State *L, char **argv, int n) {  int i;  for (i = 1; i < n; i++) {    if (argv[i] == NULL) continue;    lua_assert(argv[i][0] == '-');    switch (argv[i][1]) {  /* option */      case 'e': {        const char *chunk = argv[i] + 2;        if (*chunk == '\0') chunk = argv[++i];        lua_assert(chunk != NULL);        if (dostring(L, chunk, "=(command line)") != 0)          return 1;        break;      }      case 'l': {        const char *filename = argv[i] + 2;        if (*filename == '\0') filename = argv[++i];        lua_assert(filename != NULL);        if (dolibrary(L, filename))          return 1;  /* stop if file fails */        break;      }      case 'j': {  /* LuaJIT extension */        const char *cmd = argv[i] + 2;        if (*cmd == '\0') cmd = argv[++i];        lua_assert(cmd != NULL);        if (dojitcmd(L, cmd))          return 1;        break;      }      case 'O':  /* LuaJIT extension */        if (dojitopt(L, argv[i] + 2))          return 1;        break;      default: break;    }  }  return 0;}static int handle_luainit (lua_State *L) {  const char *init = getenv(LUA_INIT);  if (init == NULL) return 0;  /* status OK */  else if (init[0] == '@')    return dofile(L, init+1);  else    return dostring(L, init, "=" LUA_INIT);}struct Smain {  int argc;  char **argv;  int status;};static int pmain (lua_State *L) {  struct Smain *s = (struct Smain *)lua_touserdata(L, 1);  char **argv = s->argv;  int script;  int has_i = 0, has_v = 0, has_e = 0;  globalL = L;  if (argv[0] && argv[0][0]) progname = argv[0];  LUAJIT_VERSION_SYM();  /* linker-enforced version check */  lua_gc(L, LUA_GCSTOP, 0);  /* stop collector during initialization */  luaL_openlibs(L);  /* open libraries */  lua_gc(L, LUA_GCRESTART, 0);  s->status = handle_luainit(L);  if (s->status != 0) return 0;  script = collectargs(argv, &has_i, &has_v, &has_e);  if (script < 0) {  /* invalid args? */    print_usage();    s->status = 1;    return 0;  }  if (has_v) print_version();  s->status = runargs(L, argv, (script > 0) ? script : s->argc);  if (s->status != 0) return 0;  if (script)    s->status = handle_script(L, argv, script);  if (s->status != 0) return 0;  if (has_i)    dotty(L);  else if (script == 0 && !has_e && !has_v) {    if (lua_stdin_is_tty()) {      print_version();      dotty(L);    }    else dofile(L, NULL);  /* executes stdin as a file */  }  return 0;}int main (int argc, char **argv) {  int status;  struct Smain s;  lua_State *L = lua_open();  /* create state */  if (L == NULL) {    l_message(argv[0], "cannot create state: not enough memory");    return EXIT_FAILURE;  }  s.argc = argc;  s.argv = argv;  status = lua_cpcall(L, &pmain, &s);  report(L, status);  lua_close(L);  return (status || s.status) ? EXIT_FAILURE : EXIT_SUCCESS;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一级二级三级| 国内外成人在线| 蜜桃精品视频在线| 夫妻av一区二区| 欧洲av在线精品| 精品精品欲导航| 亚洲天堂免费看| 蜜臀av一级做a爰片久久| 国产suv精品一区二区三区| 欧美午夜精品久久久| 日韩女同互慰一区二区| 综合av第一页| 久久狠狠亚洲综合| 95精品视频在线| 日韩视频123| 亚洲少妇中出一区| 精品午夜一区二区三区在线观看| 99这里只有精品| 欧美videos大乳护士334| 亚洲视频免费看| 国产一区二区久久| 欧美三级中文字幕在线观看| 精品国产凹凸成av人网站| 亚洲特级片在线| 国产精品一区久久久久| 欧美日韩精品一区二区在线播放| 国产三级精品在线| 日韩专区欧美专区| 91老师片黄在线观看| 久久精品欧美日韩| 日韩av中文在线观看| 97久久超碰国产精品| 久久综合狠狠综合久久综合88| 亚洲国产另类精品专区| 成人18视频日本| 久久久久久久久久久久久夜| 日韩va欧美va亚洲va久久| 色乱码一区二区三区88| 国产精品天干天干在线综合| 久久er精品视频| 欧美日韩国产成人在线91| 1区2区3区欧美| 岛国一区二区在线观看| 精品精品国产高清一毛片一天堂| 国产iv一区二区三区| 欧美一区二区三区在线看| 亚洲综合丁香婷婷六月香| 波波电影院一区二区三区| 国产日韩欧美高清| 国内不卡的二区三区中文字幕 | 夜夜亚洲天天久久| 成人av资源在线观看| 久久久久久亚洲综合影院红桃| 日本不卡免费在线视频| 欧美美女直播网站| 亚洲一区电影777| 久久久99精品久久| 麻豆精品精品国产自在97香蕉| 欧美精品18+| 亚洲第一搞黄网站| 欧美视频一区二区三区四区| 亚洲精品久久7777| 色久综合一二码| 一区二区在线观看视频| 91成人网在线| 亚洲最新视频在线播放| 色拍拍在线精品视频8848| 亚洲精品中文字幕在线观看| 91日韩一区二区三区| 亚洲视频在线一区| 色综合天天做天天爱| 亚洲免费av高清| 在线免费亚洲电影| 亚洲伊人色欲综合网| 欧美午夜在线观看| 午夜精品久久久久久久久久| 9191成人精品久久| 麻豆成人在线观看| 精品国产乱码久久久久久久久| 精品一区免费av| 国产日本欧美一区二区| 成人av在线电影| 亚洲精品伦理在线| 欧美另类高清zo欧美| 麻豆专区一区二区三区四区五区| 欧美va亚洲va| 懂色av一区二区三区免费观看| 国产精品三级久久久久三级| 91香蕉国产在线观看软件| 亚洲一区二区视频| 欧美精品自拍偷拍| 精品亚洲成a人| 国产精品久久久久一区二区三区共| 99久久婷婷国产综合精品| 亚洲精品视频在线看| 欧美日韩三级视频| 麻豆精品在线播放| 中文字幕av一区二区三区高| 91免费看视频| 日韩精品一二三四| 久久久久综合网| 色婷婷精品久久二区二区蜜臀av| 亚洲制服丝袜av| 欧美va亚洲va国产综合| kk眼镜猥琐国模调教系列一区二区 | 夜夜嗨av一区二区三区| 欧美人与性动xxxx| 国产九色精品成人porny| 亚洲欧美一区二区三区国产精品| 91小视频免费观看| 免费在线成人网| 国产精品久久久久影院亚瑟| 欧美日韩mp4| 国产精品一区在线观看你懂的| 玉米视频成人免费看| 日韩午夜电影在线观看| 国产激情偷乱视频一区二区三区| 亚洲综合久久av| 久久久美女艺术照精彩视频福利播放| 91麻豆福利精品推荐| 精品一区二区久久久| 日韩美女久久久| 日韩欧美你懂的| 99久久久久久| 黄一区二区三区| 一区二区三区电影在线播| 精品国产成人在线影院| 在线免费亚洲电影| 盗摄精品av一区二区三区| 日韩国产成人精品| 亚洲人成在线播放网站岛国| 2023国产精品| 欧美久久一二区| 99久久精品国产一区| 激情深爱一区二区| 亚洲综合成人在线| 亚洲国产精品精华液ab| 日韩欧美国产一区二区三区| 日本久久一区二区| 国产成人精品午夜视频免费| 爽好多水快深点欧美视频| 1区2区3区欧美| 久久精品人人做人人爽人人| 欧美丰满一区二区免费视频| caoporn国产一区二区| 欧洲中文字幕精品| 国产91露脸合集magnet| 免费成人在线影院| 亚洲一区视频在线| 亚洲欧洲成人自拍| 亚洲国产经典视频| 精品免费99久久| 4438x成人网最大色成网站| 99精品视频在线免费观看| 国产超碰在线一区| 久久99国产精品麻豆| 日韩不卡一二三区| 亚洲国产精品嫩草影院| 亚洲欧美国产77777| 中文字幕一区三区| 中文字幕国产一区二区| 久久久91精品国产一区二区精品 | 日日噜噜夜夜狠狠视频欧美人 | 宅男噜噜噜66一区二区66| 欧美在线免费观看亚洲| 99久久精品免费观看| 成人黄色一级视频| 国产成+人+日韩+欧美+亚洲| 国产麻豆精品久久一二三| 国产在线不卡一卡二卡三卡四卡| 麻豆精品视频在线| 久久国产精品99久久人人澡| 日本欧美久久久久免费播放网| 亚洲国产综合在线| 一个色在线综合| 亚洲一区二区偷拍精品| 亚洲国产综合视频在线观看| 亚洲国产毛片aaaaa无费看| 亚洲一级片在线观看| 一区二区三区日韩| 夜夜爽夜夜爽精品视频| 亚洲资源在线观看| 亚洲丰满少妇videoshd| 婷婷中文字幕一区三区| 日韩精品91亚洲二区在线观看| 爽好多水快深点欧美视频| 日本人妖一区二区| 久久99精品国产| 国产精品一二三四五| 国产成人日日夜夜| 成人激情校园春色| 91热门视频在线观看| 欧美视频一区二区三区四区| 欧美猛男男办公室激情| 91精品国产综合久久精品 | 韩国精品在线观看| 国产成人免费视频精品含羞草妖精| 成人免费看黄yyy456| 色域天天综合网| 51精品国自产在线|