aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lapi.c4
-rw-r--r--lauxlib.c4
-rw-r--r--lauxlib.h4
-rw-r--r--lbuffer.c4
-rw-r--r--lbuiltin.c4
-rw-r--r--lcode.c4
-rw-r--r--ldblib.c4
-rw-r--r--ldebug.c4
-rw-r--r--ldo.c4
-rw-r--r--lfunc.c4
-rw-r--r--lgc.c4
-rw-r--r--liolib.c4
-rw-r--r--llex.c4
-rw-r--r--lmathlib.c4
-rw-r--r--lmem.c4
-rw-r--r--lobject.c4
-rw-r--r--lparser.c4
-rw-r--r--lref.c4
-rw-r--r--lstate.c9
-rw-r--r--lstring.c4
-rw-r--r--lstrlib.c4
-rw-r--r--ltable.c4
-rw-r--r--ltests.c3
-rw-r--r--ltm.c4
-rw-r--r--lua.c205
-rw-r--r--lua.h10
-rw-r--r--lualib.h4
-rw-r--r--lundump.c4
-rw-r--r--lvm.c4
-rw-r--r--makefile111
30 files changed, 228 insertions, 210 deletions
diff --git a/lapi.c b/lapi.c
index 291d04c1..92f08ede 100644
--- a/lapi.c
+++ b/lapi.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lapi.c,v 1.84 2000/06/08 17:48:31 roberto Exp roberto $ 2** $Id: lapi.c,v 1.85 2000/06/12 13:52:05 roberto Exp roberto $
3** Lua API 3** Lua API
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <string.h> 8#include <string.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lapi.h" 12#include "lapi.h"
diff --git a/lauxlib.c b/lauxlib.c
index 1a057b2d..a657c2c0 100644
--- a/lauxlib.c
+++ b/lauxlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.c,v 1.28 2000/05/24 13:54:49 roberto Exp roberto $ 2** $Id: lauxlib.c,v 1.29 2000/06/12 13:52:05 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -14,8 +14,6 @@
14** With care, these functions can be used by other libraries. 14** With care, these functions can be used by other libraries.
15*/ 15*/
16 16
17#define LUA_REENTRANT
18
19#include "lua.h" 17#include "lua.h"
20 18
21#include "lauxlib.h" 19#include "lauxlib.h"
diff --git a/lauxlib.h b/lauxlib.h
index 70b5d26a..1898e95e 100644
--- a/lauxlib.h
+++ b/lauxlib.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.h,v 1.17 1999/12/29 16:24:03 roberto Exp roberto $ 2** $Id: lauxlib.h,v 1.18 2000/05/24 13:54:49 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -45,7 +45,7 @@ void luaL_oldbuffer (lua_State *L, size_t old);
45char *luaL_buffer (lua_State *L); 45char *luaL_buffer (lua_State *L);
46 46
47 47
48#ifdef LUA_REENTRANT 48#ifndef LUA_SINGLESTATE
49 49
50/* 50/*
51** =============================================================== 51** ===============================================================
diff --git a/lbuffer.c b/lbuffer.c
index 5361ba75..7e0ecdbf 100644
--- a/lbuffer.c
+++ b/lbuffer.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lbuffer.c,v 1.13 2000/05/24 13:54:49 roberto Exp roberto $ 2** $Id: lbuffer.c,v 1.14 2000/06/12 13:52:05 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <stdio.h> 8#include <stdio.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lauxlib.h" 12#include "lauxlib.h"
diff --git a/lbuiltin.c b/lbuiltin.c
index dd479e94..6ece42e3 100644
--- a/lbuiltin.c
+++ b/lbuiltin.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lbuiltin.c,v 1.117 2000/06/30 14:35:17 roberto Exp roberto $ 2** $Id: lbuiltin.c,v 1.118 2000/08/04 19:38:35 roberto Exp roberto $
3** Built-in functions 3** Built-in functions
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -19,8 +19,6 @@
19#include <stdlib.h> 19#include <stdlib.h>
20#include <string.h> 20#include <string.h>
21 21
22#define LUA_REENTRANT
23
24#include "lua.h" 22#include "lua.h"
25 23
26#include "lapi.h" 24#include "lapi.h"
diff --git a/lcode.c b/lcode.c
index 86121331..08068f01 100644
--- a/lcode.c
+++ b/lcode.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lcode.c,v 1.44 2000/08/08 20:42:07 roberto Exp roberto $ 2** $Id: lcode.c,v 1.45 2000/08/09 14:49:13 roberto Exp roberto $
3** Code generator for Lua 3** Code generator for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include "stdlib.h" 8#include "stdlib.h"
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lcode.h" 12#include "lcode.h"
diff --git a/ldblib.c b/ldblib.c
index 4d7afb57..45edc8c2 100644
--- a/ldblib.c
+++ b/ldblib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldblib.c,v 1.16 2000/05/24 13:54:49 roberto Exp roberto $ 2** $Id: ldblib.c,v 1.17 2000/06/12 13:52:05 roberto Exp roberto $
3** Interface from Lua to its debug API 3** Interface from Lua to its debug API
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -9,8 +9,6 @@
9#include <stdlib.h> 9#include <stdlib.h>
10#include <string.h> 10#include <string.h>
11 11
12#define LUA_REENTRANT
13
14#include "lua.h" 12#include "lua.h"
15 13
16#include "lauxlib.h" 14#include "lauxlib.h"
diff --git a/ldebug.c b/ldebug.c
index 40d1a003..57d01b49 100644
--- a/ldebug.c
+++ b/ldebug.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldebug.c,v 1.29 2000/08/08 18:26:05 roberto Exp roberto $ 2** $Id: ldebug.c,v 1.30 2000/08/08 20:42:07 roberto Exp roberto $
3** Debug Interface 3** Debug Interface
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lapi.h" 12#include "lapi.h"
diff --git a/ldo.c b/ldo.c
index 0e6859af..a18dadd9 100644
--- a/ldo.c
+++ b/ldo.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldo.c,v 1.82 2000/08/04 19:38:35 roberto Exp roberto $ 2** $Id: ldo.c,v 1.83 2000/08/08 20:42:07 roberto Exp roberto $
3** Stack and Call structure of Lua 3** Stack and Call structure of Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -10,8 +10,6 @@
10#include <stdlib.h> 10#include <stdlib.h>
11#include <string.h> 11#include <string.h>
12 12
13#define LUA_REENTRANT
14
15#include "lua.h" 13#include "lua.h"
16 14
17#include "lauxlib.h" 15#include "lauxlib.h"
diff --git a/lfunc.c b/lfunc.c
index 9b8d83f2..9e8d3a67 100644
--- a/lfunc.c
+++ b/lfunc.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lfunc.c,v 1.27 2000/08/08 18:26:05 roberto Exp roberto $ 2** $Id: lfunc.c,v 1.28 2000/08/08 20:42:07 roberto Exp roberto $
3** Auxiliary functions to manipulate prototypes and closures 3** Auxiliary functions to manipulate prototypes and closures
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lfunc.h" 12#include "lfunc.h"
diff --git a/lgc.c b/lgc.c
index 4391316f..0548fa04 100644
--- a/lgc.c
+++ b/lgc.c
@@ -1,11 +1,9 @@
1/* 1/*
2** $Id: lgc.c,v 1.60 2000/08/07 20:21:34 roberto Exp roberto $ 2** $Id: lgc.c,v 1.61 2000/08/08 20:42:07 roberto Exp roberto $
3** Garbage Collector 3** Garbage Collector
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
6 6
7#define LUA_REENTRANT
8
9#include "lua.h" 7#include "lua.h"
10 8
11#include "ldo.h" 9#include "ldo.h"
diff --git a/liolib.c b/liolib.c
index d41e91e8..fc75999b 100644
--- a/liolib.c
+++ b/liolib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: liolib.c,v 1.67 2000/06/12 13:52:05 roberto Exp roberto $ 2** $Id: liolib.c,v 1.68 2000/06/20 17:13:21 roberto Exp roberto $
3** Standard I/O (and system) library 3** Standard I/O (and system) library
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -11,8 +11,6 @@
11#include <string.h> 11#include <string.h>
12#include <time.h> 12#include <time.h>
13 13
14#define LUA_REENTRANT
15
16#include "lua.h" 14#include "lua.h"
17 15
18#include "lauxlib.h" 16#include "lauxlib.h"
diff --git a/llex.c b/llex.c
index 49824b24..b5b1fca8 100644
--- a/llex.c
+++ b/llex.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: llex.c,v 1.65 2000/06/21 18:13:56 roberto Exp roberto $ 2** $Id: llex.c,v 1.66 2000/08/08 20:42:07 roberto Exp roberto $
3** Lexical Analyzer 3** Lexical Analyzer
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -9,8 +9,6 @@
9#include <stdio.h> 9#include <stdio.h>
10#include <string.h> 10#include <string.h>
11 11
12#define LUA_REENTRANT
13
14#include "lua.h" 12#include "lua.h"
15 13
16#include "lauxlib.h" 14#include "lauxlib.h"
diff --git a/lmathlib.c b/lmathlib.c
index 9399e7c0..86850cc9 100644
--- a/lmathlib.c
+++ b/lmathlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lmathlib.c,v 1.24 2000/03/10 18:37:44 roberto Exp roberto $ 2** $Id: lmathlib.c,v 1.25 2000/06/12 13:52:05 roberto Exp roberto $
3** Standard mathematical library 3** Standard mathematical library
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -8,8 +8,6 @@
8#include <stdlib.h> 8#include <stdlib.h>
9#include <math.h> 9#include <math.h>
10 10
11#define LUA_REENTRANT
12
13#include "lua.h" 11#include "lua.h"
14 12
15#include "lauxlib.h" 13#include "lauxlib.h"
diff --git a/lmem.c b/lmem.c
index 79a3e335..9841092a 100644
--- a/lmem.c
+++ b/lmem.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lmem.c,v 1.34 2000/06/26 19:28:31 roberto Exp roberto $ 2** $Id: lmem.c,v 1.35 2000/08/04 19:38:35 roberto Exp roberto $
3** Interface to Memory Manager 3** Interface to Memory Manager
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "ldo.h" 12#include "ldo.h"
diff --git a/lobject.c b/lobject.c
index 4c2f427d..d6d3f9c4 100644
--- a/lobject.c
+++ b/lobject.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lobject.c,v 1.42 2000/06/26 19:28:31 roberto Exp roberto $ 2** $Id: lobject.c,v 1.43 2000/06/30 14:35:17 roberto Exp roberto $
3** Some generic functions over Lua objects 3** Some generic functions over Lua objects
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7#include <ctype.h> 7#include <ctype.h>
8#include <stdlib.h> 8#include <stdlib.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lobject.h" 12#include "lobject.h"
diff --git a/lparser.c b/lparser.c
index 18fb02cb..ef4a57ab 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 1.105 2000/08/08 20:48:55 roberto Exp roberto $ 2** $Id: lparser.c,v 1.106 2000/08/09 14:49:13 roberto Exp roberto $
3** LL(1) Parser and code generator for Lua 3** LL(1) Parser and code generator for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -8,8 +8,6 @@
8#include <stdio.h> 8#include <stdio.h>
9#include <string.h> 9#include <string.h>
10 10
11#define LUA_REENTRANT
12
13#include "lua.h" 11#include "lua.h"
14 12
15#include "lcode.h" 13#include "lcode.h"
diff --git a/lref.c b/lref.c
index 26889cfb..7f144ba6 100644
--- a/lref.c
+++ b/lref.c
@@ -1,12 +1,10 @@
1/* 1/*
2** $Id: lref.c,v 1.15 2000/06/30 14:35:17 roberto Exp roberto $ 2** $Id: lref.c,v 1.16 2000/08/07 20:21:34 roberto Exp roberto $
3** reference mechanism 3** reference mechanism
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
6 6
7 7
8#define LUA_REENTRANT
9
10#include "lua.h" 8#include "lua.h"
11 9
12#include "lapi.h" 10#include "lapi.h"
diff --git a/lstate.c b/lstate.c
index 85357c00..5049c753 100644
--- a/lstate.c
+++ b/lstate.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstate.c,v 1.30 2000/08/04 19:38:35 roberto Exp roberto $ 2** $Id: lstate.c,v 1.31 2000/08/08 20:42:07 roberto Exp roberto $
3** Global State 3** Global State
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <stdarg.h> 8#include <stdarg.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lauxlib.h" 12#include "lauxlib.h"
@@ -24,9 +22,6 @@
24#include "ltm.h" 22#include "ltm.h"
25 23
26 24
27lua_State *lua_state = NULL;
28
29
30lua_State *lua_newstate (int stacksize, int put_builtin) { 25lua_State *lua_newstate (int stacksize, int put_builtin) {
31 struct lua_longjmp myErrorJmp; 26 struct lua_longjmp myErrorJmp;
32 lua_State *L = luaM_new(NULL, lua_State); 27 lua_State *L = luaM_new(NULL, lua_State);
@@ -75,6 +70,8 @@ lua_State *lua_newstate (int stacksize, int put_builtin) {
75} 70}
76 71
77 72
73extern lua_State *lua_state;
74
78void lua_close (lua_State *L) { 75void lua_close (lua_State *L) {
79 luaC_collect(L, 1); /* collect all elements */ 76 luaC_collect(L, 1); /* collect all elements */
80 LUA_ASSERT(L->rootproto == NULL, "list should be empty"); 77 LUA_ASSERT(L->rootproto == NULL, "list should be empty");
diff --git a/lstring.c b/lstring.c
index f70e967e..1b0551c3 100644
--- a/lstring.c
+++ b/lstring.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstring.c,v 1.40 2000/06/30 14:35:17 roberto Exp $ 2** $Id: lstring.c,v 1.41 2000/08/04 19:38:35 roberto Exp roberto $
3** String table (keeps all strings handled by Lua) 3** String table (keeps all strings handled by Lua)
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7 7
8#include <string.h> 8#include <string.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lmem.h" 12#include "lmem.h"
diff --git a/lstrlib.c b/lstrlib.c
index 9d03a85e..16066499 100644
--- a/lstrlib.c
+++ b/lstrlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstrlib.c,v 1.44 2000/06/12 13:52:05 roberto Exp roberto $ 2** $Id: lstrlib.c,v 1.45 2000/06/12 14:37:18 roberto Exp roberto $
3** Standard library for string operations and pattern-matching 3** Standard library for string operations and pattern-matching
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -11,8 +11,6 @@
11#include <stdlib.h> 11#include <stdlib.h>
12#include <string.h> 12#include <string.h>
13 13
14#define LUA_REENTRANT
15
16#include "lua.h" 14#include "lua.h"
17 15
18#include "lauxlib.h" 16#include "lauxlib.h"
diff --git a/ltable.c b/ltable.c
index fefd4043..604129c5 100644
--- a/ltable.c
+++ b/ltable.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltable.c,v 1.51 2000/08/04 19:38:35 roberto Exp roberto $ 2** $Id: ltable.c,v 1.52 2000/08/07 20:21:34 roberto Exp roberto $
3** Lua tables (hash) 3** Lua tables (hash)
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -18,8 +18,6 @@
18*/ 18*/
19 19
20 20
21#define LUA_REENTRANT
22
23#include "lua.h" 21#include "lua.h"
24 22
25#include "lauxlib.h" 23#include "lauxlib.h"
diff --git a/ltests.c b/ltests.c
index 233775aa..26e9d9e3 100644
--- a/ltests.c
+++ b/ltests.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltests.c,v 1.31 2000/08/08 18:26:05 roberto Exp roberto $ 2** $Id: ltests.c,v 1.32 2000/08/08 20:42:07 roberto Exp roberto $
3** Internal Module for Debugging of the Lua Implementation 3** Internal Module for Debugging of the Lua Implementation
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -10,6 +10,7 @@
10#include <stdlib.h> 10#include <stdlib.h>
11#include <string.h> 11#include <string.h>
12 12
13#define LUA_SINGLESTATE
13 14
14#include "lua.h" 15#include "lua.h"
15 16
diff --git a/ltm.c b/ltm.c
index a6f39155..1cb7647f 100644
--- a/ltm.c
+++ b/ltm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltm.c,v 1.44 2000/08/04 19:38:35 roberto Exp roberto $ 2** $Id: ltm.c,v 1.45 2000/08/07 20:21:34 roberto Exp roberto $
3** Tag methods 3** Tag methods
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -8,8 +8,6 @@
8#include <stdio.h> 8#include <stdio.h>
9#include <string.h> 9#include <string.h>
10 10
11#define LUA_REENTRANT
12
13#include "lua.h" 11#include "lua.h"
14 12
15#include "lauxlib.h" 13#include "lauxlib.h"
diff --git a/lua.c b/lua.c
index a97530d6..2d363585 100644
--- a/lua.c
+++ b/lua.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.c,v 1.42 2000/06/30 19:17:08 roberto Exp roberto $ 2** $Id: lua.c,v 1.43 2000/08/04 19:38:35 roberto Exp roberto $
3** Lua stand-alone interpreter 3** Lua stand-alone interpreter
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -10,11 +10,15 @@
10#include <stdlib.h> 10#include <stdlib.h>
11#include <string.h> 11#include <string.h>
12 12
13#define LUA_SINGLESTATE
14
13#include "lua.h" 15#include "lua.h"
14 16
15#include "luadebug.h" 17#include "luadebug.h"
16#include "lualib.h" 18#include "lualib.h"
17 19
20lua_State *lua_state = NULL;
21
18 22
19#ifndef PROMPT 23#ifndef PROMPT
20#define PROMPT "> " 24#define PROMPT "> "
@@ -26,6 +30,16 @@
26static int isatty (int x) { return x==0; } /* assume stdin is a tty */ 30static int isatty (int x) { return x==0; } /* assume stdin is a tty */
27#endif 31#endif
28 32
33
34/*
35** global options
36*/
37struct Options {
38 int toclose;
39 int stacksize;
40};
41
42
29typedef void (*handler)(int); /* type for signal actions */ 43typedef void (*handler)(int); /* type for signal actions */
30 44
31static void laction (int i); 45static void laction (int i);
@@ -35,6 +49,19 @@ static lua_Hook old_linehook = NULL;
35static lua_Hook old_callhook = NULL; 49static lua_Hook old_callhook = NULL;
36 50
37 51
52#ifdef USERINIT
53extern void USERINIT (void);
54#else
55#define USERINIT userinit
56void userinit (void) {
57 lua_iolibopen();
58 lua_strlibopen();
59 lua_mathlibopen();
60 lua_dblibopen();
61}
62#endif
63
64
38static handler lreset (void) { 65static handler lreset (void) {
39 return signal(SIGINT, laction); 66 return signal(SIGINT, laction);
40} 67}
@@ -75,7 +102,6 @@ static void print_message (void) {
75 "usage: lua [options]. Available options are:\n" 102 "usage: lua [options]. Available options are:\n"
76 " - execute stdin as a file\n" 103 " - execute stdin as a file\n"
77 " -c close lua when exiting\n" 104 " -c close lua when exiting\n"
78 " -d turn debug on\n"
79 " -e stat execute string `stat'\n" 105 " -e stat execute string `stat'\n"
80 " -f name execute file `name' with remaining arguments in table `arg'\n" 106 " -f name execute file `name' with remaining arguments in table `arg'\n"
81 " -i enter interactive mode with prompt\n" 107 " -i enter interactive mode with prompt\n"
@@ -122,17 +148,20 @@ static void l_getargs (void) {
122} 148}
123 149
124 150
125static void file_input (const char *argv) { 151static int file_input (const char *argv) {
126 int result = ldo(lua_dofile, argv); 152 int result = ldo(lua_dofile, argv);
127 if (result) { 153 if (result) {
128 if (result == LUA_ERRFILE) { 154 if (result == LUA_ERRFILE) {
129 fprintf(stderr, "lua: cannot execute file "); 155 fprintf(stderr, "lua: cannot execute file ");
130 perror(argv); 156 perror(argv);
131 } 157 }
132 exit(1); 158 return EXIT_FAILURE;
133 } 159 }
160 else
161 return EXIT_SUCCESS;
134} 162}
135 163
164
136/* maximum length of an input string */ 165/* maximum length of an input string */
137#ifndef MAXINPUT 166#ifndef MAXINPUT
138#define MAXINPUT BUFSIZ 167#define MAXINPUT BUFSIZ
@@ -175,92 +204,114 @@ static void manual_input (int version, int prompt) {
175} 204}
176 205
177 206
178int main (int argc, char *argv[]) { 207static int handle_argv (char *argv[], struct Options *opt) {
179 int toclose = 0; 208 if (opt->stacksize > 0) argv++; /* skip option `-s' (if present) */
180 int status = EXIT_SUCCESS; 209 if (*argv == NULL) { /* no more arguments? */
181 int i = 1;
182 int stacksize = 0;
183 if (i < argc && argv[1][0] == '-' && argv[1][1] == 's') {
184 stacksize = atoi(&argv[1][2]);
185 if (stacksize == 0) {
186 fprintf(stderr, "lua: invalid stack size ('%s')\n", &argv[1][2]);
187 exit(EXIT_FAILURE);
188 }
189 i++;
190 }
191 lua_state = lua_newstate(stacksize, 1);
192 lua_userinit();
193 lua_pushuserdata(argv);
194 lua_pushcclosure(l_getargs, 1);
195 lua_setglobal("getargs");
196 if (i >= argc) { /* no other arguments? */
197 if (isatty(0)) { 210 if (isatty(0)) {
198 manual_input(1, 1); 211 manual_input(1, 1);
199 } 212 }
200 else 213 else
201 ldo(lua_dofile, NULL); /* executes stdin as a file */ 214 ldo(lua_dofile, NULL); /* executes stdin as a file */
202 } 215 }
203 else for (; i<argc; i++) { 216 else { /* other arguments; loop over them */
204 if (argv[i][0] == '-') { /* option? */ 217 int i;
205 switch (argv[i][1]) { 218 for (i = 0; argv[i] != NULL; i++) {
206 case 0: 219 if (argv[i][0] != '-') { /* not an option? */
207 ldo(lua_dofile, NULL); /* executes stdin as a file */ 220 if (strchr(argv[i], '='))
208 break; 221 assign(argv[i]);
209 case 'i': 222 else
210 manual_input(0, 1); 223 if (file_input(argv[i]) != EXIT_SUCCESS)
211 break; 224 return EXIT_FAILURE; /* stop if file fails */
212 case 'q': 225 }
213 manual_input(0, 0); 226 else switch (argv[i][1]) { /* option */
214 break; 227 case 0: {
215 case 'd': 228 ldo(lua_dofile, NULL); /* executes stdin as a file */
216 lua_setdebug(lua_state, 1); 229 break;
217 if (i+1 >= argc) { /* last argument? */
218 manual_input(1, 1);
219 } 230 }
220 break; 231 case 'i': {
221 case 'c': 232 manual_input(0, 1);
222 toclose = 1; 233 break;
223 break; 234 }
224 case 'v': 235 case 'q': {
225 print_version(); 236 manual_input(0, 0);
226 break; 237 break;
227 case 'e':
228 i++;
229 if (i >= argc) {
230 print_message();
231 status = EXIT_FAILURE; goto endloop;
232 } 238 }
233 if (ldo(lua_dostring, argv[i]) != 0) { 239 case 'c': {
234 fprintf(stderr, "lua: error running argument `%s'\n", argv[i]); 240 opt->toclose = 1;
235 status = EXIT_FAILURE; goto endloop; 241 break;
236 } 242 }
237 break; 243 case 'v': {
238 case 'f': 244 print_version();
239 i++; 245 break;
240 if (i >= argc) { 246 }
247 case 'e': {
248 i++;
249 if (argv[i] == NULL) {
250 print_message();
251 return EXIT_FAILURE;
252 }
253 if (ldo(lua_dostring, argv[i]) != 0) {
254 fprintf(stderr, "lua: error running argument `%s'\n", argv[i]);
255 return EXIT_FAILURE;
256 }
257 break;
258 }
259 case 'f': {
260 i++;
261 if (argv[i] == NULL) {
262 print_message();
263 return EXIT_FAILURE;
264 }
265 lua_pushobject(getargs(argv+i)); /* collect remaining arguments */
266 lua_setglobal("arg");
267 return file_input(argv[i]); /* stop scanning arguments */
268 }
269 case 's': {
270 fprintf(stderr, "lua: stack size (`-s') must be the first option\n");
271 return EXIT_FAILURE;
272 }
273 default: {
241 print_message(); 274 print_message();
242 status = EXIT_FAILURE; goto endloop; 275 return EXIT_FAILURE;
243 } 276 }
244 lua_pushobject(getargs(argv+i)); /* collect remaining arguments */ 277 }
245 lua_setglobal("arg");
246 file_input(argv[i]);
247 goto endloop; /* stop scanning arguments */
248 break;
249 case 's':
250 fprintf(stderr, "lua: stack size (`-s') must be the first option\n");
251 status = EXIT_FAILURE; goto endloop;
252 default:
253 print_message();
254 status = EXIT_FAILURE; goto endloop;
255 }
256 } 278 }
257 else if (strchr(argv[i], '='))
258 assign(argv[i]);
259 else
260 file_input(argv[i]);
261 } 279 }
262 endloop: 280 return EXIT_SUCCESS;
263 if (toclose) 281}
282
283
284static void getstacksize (int argc, char *argv[], struct Options *opt) {
285 if (argc >= 2 && argv[1][0] == '-' && argv[1][1] == 's') {
286 int stacksize = atoi(&argv[1][2]);
287 if (stacksize == 0) {
288 fprintf(stderr, "lua: invalid stack size ('%s')\n", &argv[1][2]);
289 exit(EXIT_FAILURE);
290 }
291 opt->stacksize = stacksize;
292 }
293 else
294 opt->stacksize = 0; /* no stack size */
295}
296
297
298static void register_getargs (char *argv[]) {
299 lua_pushuserdata(argv);
300 lua_pushcclosure(l_getargs, 1);
301 lua_setglobal("getargs");
302}
303
304
305int main (int argc, char *argv[]) {
306 struct Options opt;
307 int status;
308 opt.toclose = 0;
309 getstacksize(argc, argv, &opt); /* handle option `-s' */
310 lua_state = lua_newstate(opt.stacksize, 1); /* create state */
311 USERINIT(); /* open libraries */
312 register_getargs(argv); /* create `getargs' function */
313 status = handle_argv(argv+1, &opt);
314 if (opt.toclose)
264 lua_close(); 315 lua_close();
265 return status; 316 return status;
266} 317}
diff --git a/lua.h b/lua.h
index f5d2e0ce..429f6586 100644
--- a/lua.h
+++ b/lua.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.h,v 1.55 2000/06/30 19:17:08 roberto Exp roberto $ 2** $Id: lua.h,v 1.56 2000/08/07 18:39:16 roberto Exp roberto $
3** Lua - An Extensible Extension Language 3** Lua - An Extensible Extension Language
4** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil 4** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil
5** e-mail: lua@tecgraf.puc-rio.br 5** e-mail: lua@tecgraf.puc-rio.br
@@ -16,7 +16,7 @@
16#include <stddef.h> 16#include <stddef.h>
17 17
18 18
19#define LUA_VERSION "Lua 4.0 (alpha)" 19#define LUA_VERSION "Lua 4.0 (beta)"
20#define LUA_COPYRIGHT "Copyright (C) 1994-2000 TeCGraf, PUC-Rio" 20#define LUA_COPYRIGHT "Copyright (C) 1994-2000 TeCGraf, PUC-Rio"
21#define LUA_AUTHORS "W. Celes, R. Ierusalimschy & L. H. de Figueiredo" 21#define LUA_AUTHORS "W. Celes, R. Ierusalimschy & L. H. de Figueiredo"
22 22
@@ -137,7 +137,7 @@ long lua_collectgarbage (lua_State *L, long limit);
137** =============================================================== 137** ===============================================================
138*/ 138*/
139 139
140#ifdef LUA_REENTRANT 140#ifndef LUA_SINGLESTATE
141 141
142#define lua_call(L,name) lua_callfunction(L, lua_getglobal(L, name)) 142#define lua_call(L,name) lua_callfunction(L, lua_getglobal(L, name))
143#define lua_pushref(L,ref) lua_pushobject(L, lua_getref(L, ref)) 143#define lua_pushref(L,ref) lua_pushobject(L, lua_getref(L, ref))
@@ -161,7 +161,7 @@ long lua_collectgarbage (lua_State *L, long limit);
161 161
162 162
163 163
164#ifndef LUA_REENTRANT 164#ifdef LUA_SINGLESTATE
165/* 165/*
166** {============================================================== 166** {==============================================================
167** Macros for single-state use 167** Macros for single-state use
@@ -248,7 +248,7 @@ extern lua_State *lua_state;
248lua_Object lua_rawgetglobal (lua_State *L, const char *name); 248lua_Object lua_rawgetglobal (lua_State *L, const char *name);
249void lua_rawsetglobal (lua_State *L, const char *name);/* In: value */ 249void lua_rawsetglobal (lua_State *L, const char *name);/* In: value */
250 250
251#ifndef LUA_REENTRANT 251#ifdef LUA_SINGLESTATE
252#define lua_rawgetglobal(name) (lua_rawgetglobal(lua_state, name)) 252#define lua_rawgetglobal(name) (lua_rawgetglobal(lua_state, name))
253#define lua_rawsetglobal(name) (lua_rawsetglobal(lua_state, name)) 253#define lua_rawsetglobal(name) (lua_rawsetglobal(lua_state, name))
254#endif 254#endif
diff --git a/lualib.h b/lualib.h
index f069c167..0a0fbe24 100644
--- a/lualib.h
+++ b/lualib.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lualib.h,v 1.8 1999/11/22 13:12:07 roberto Exp roberto $ 2** $Id: lualib.h,v 1.9 2000/06/16 17:22:43 roberto Exp roberto $
3** Lua standard libraries 3** Lua standard libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -23,7 +23,7 @@ void lua_dblibopen (lua_State *L);
23** =============================================================== 23** ===============================================================
24*/ 24*/
25 25
26#ifndef LUA_REENTRANT 26#ifdef LUA_SINGLESTATE
27 27
28#define lua_iolibopen() (lua_iolibopen)(lua_state) 28#define lua_iolibopen() (lua_iolibopen)(lua_state)
29#define lua_strlibopen() (lua_strlibopen)(lua_state) 29#define lua_strlibopen() (lua_strlibopen)(lua_state)
diff --git a/lundump.c b/lundump.c
index 36c89704..5993229c 100644
--- a/lundump.c
+++ b/lundump.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lundump.c,v 1.22 2000/06/12 13:52:05 roberto Exp roberto $ 2** $Id: lundump.c,v 1.23 2000/06/26 19:28:31 roberto Exp roberto $
3** load bytecodes from files 3** load bytecodes from files
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -7,8 +7,6 @@
7#include <stdio.h> 7#include <stdio.h>
8#include <string.h> 8#include <string.h>
9 9
10#define LUA_REENTRANT
11
12#include "lua.h" 10#include "lua.h"
13 11
14#include "lauxlib.h" 12#include "lauxlib.h"
diff --git a/lvm.c b/lvm.c
index 3895c14a..86047f44 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 1.122 2000/08/08 20:42:07 roberto Exp roberto $ 2** $Id: lvm.c,v 1.123 2000/08/09 14:49:41 roberto Exp roberto $
3** Lua virtual machine 3** Lua virtual machine
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -9,8 +9,6 @@
9#include <stdlib.h> 9#include <stdlib.h>
10#include <string.h> 10#include <string.h>
11 11
12#define LUA_REENTRANT
13
14#include "lua.h" 12#include "lua.h"
15 13
16#include "lapi.h" 14#include "lapi.h"
diff --git a/makefile b/makefile
index ae80f316..a4a7e10c 100644
--- a/makefile
+++ b/makefile
@@ -1,5 +1,5 @@
1# 1#
2## $Id: makefile,v 1.24 2000/04/14 17:52:09 roberto Exp roberto $ 2## $Id: makefile,v 1.25 2000/04/24 21:05:11 roberto Exp roberto $
3## Makefile 3## Makefile
4## See Copyright Notice in lua.h 4## See Copyright Notice in lua.h
5# 5#
@@ -17,17 +17,32 @@
17# 17#
18# define LUA_NUM_TYPE if you need numbers to be different from double 18# define LUA_NUM_TYPE if you need numbers to be different from double
19# (for instance, -DLUA_NUM_TYPE=float) 19# (for instance, -DLUA_NUM_TYPE=float)
20# you may need to adapat the code, too.
20# 21#
21# define LUA_COMPAT_READPATTERN if you need read patterns 22# define LUA_COMPAT_READPATTERN if you need read patterns
22# (only for compatibility with previous versions) 23# (only for compatibility with previous versions)
24# define LUA_COMPAT_ARGRET for compatibility in the way function results
25# are passed as arguments
26# define LUA_DEPRECATETFUNCS to include obsolete functions
23 27
24CONFIG = -DPOPEN -D_POSIX_SOURCE 28CONFIG = -DPOPEN -D_POSIX_SOURCE -DDEBUG
25#CONFIG = -DOLD_ANSI -DDEBUG -DLUA_COMPAT_READPATTERN 29#CONFIG = -DOLD_ANSI -DDEBUG -DLUA_COMPAT_READPATTERN -DLUA_COMPAT_ARGRET
30# -DLUA_DEPRECATETFUNCS
26 31
27 32
28# Compilation parameters 33# Compilation parameters
29CC = gcc 34CC = g++
30CWARNS = -Wall -W -Wmissing-prototypes -Wshadow -pedantic -Wpointer-arith -Wcast-align -Waggregate-return -Wcast-qual -Wnested-externs -Wwrite-strings 35CWARNS = -Wall -W -pedantic \
36 -Waggregate-return \
37 -Wcast-align \
38 -Wmissing-prototypes \
39 -Wnested-externs \
40 -Wpointer-arith \
41 -Wshadow \
42 -Wwrite-strings
43# -Wcast-qual
44# -Wtraditional
45
31CFLAGS = $(CONFIG) $(CWARNS) -ansi -O2 46CFLAGS = $(CONFIG) $(CWARNS) -ansi -O2
32 47
33 48
@@ -68,8 +83,7 @@ LIBOBJS = \
68 liolib.o \ 83 liolib.o \
69 lmathlib.o \ 84 lmathlib.o \
70 lstrlib.o \ 85 lstrlib.o \
71 ldblib.o \ 86 ldblib.o
72 linit.o
73 87
74 88
75lua : lua.o liblua.a liblualib.a 89lua : lua.o liblua.a liblualib.a
@@ -99,56 +113,57 @@ clear :
99 co $(CO_OPTIONS) $@ 113 co $(CO_OPTIONS) $@
100 114
101 115
102lapi.o: lapi.c lapi.h lobject.h llimits.h lua.h lauxlib.h ldo.h \ 116lapi.o: lapi.c lua.h lapi.h lobject.h llimits.h lauxlib.h ldo.h \
103 lstate.h luadebug.h lfunc.h lgc.h lmem.h lref.h lstring.h ltable.h \ 117 lstate.h luadebug.h lfunc.h lgc.h lmem.h lref.h lstring.h ltable.h \
104 ltm.h lvm.h 118 ltm.h lvm.h
105lauxlib.o: lauxlib.c lauxlib.h lua.h luadebug.h 119lauxlib.o: lauxlib.c lua.h lauxlib.h luadebug.h
106lbuffer.o: lbuffer.c lauxlib.h lua.h lmem.h lstate.h lobject.h \ 120lbuffer.o: lbuffer.c lua.h lauxlib.h lmem.h llimits.h lstate.h \
107 llimits.h luadebug.h 121 lobject.h luadebug.h
108lbuiltin.o: lbuiltin.c lapi.h lobject.h llimits.h lua.h lauxlib.h \ 122lbuiltin.o: lbuiltin.c lua.h lapi.h lobject.h llimits.h lauxlib.h \
109 lbuiltin.h ldo.h lstate.h luadebug.h lfunc.h lmem.h lstring.h \ 123 lbuiltin.h ldo.h lstate.h luadebug.h lfunc.h lmem.h lstring.h \
110 ltable.h ltm.h lundump.h lzio.h lvm.h 124 ltable.h ltm.h lundump.h lzio.h lvm.h
111lcode.o: lcode.c /usr/include/stdlib.h lcode.h llex.h lobject.h \ 125lcode.o: lcode.c /usr/include/stdlib.h lua.h lcode.h llex.h lobject.h \
112 llimits.h lua.h lzio.h lopcodes.h lparser.h ldo.h lstate.h luadebug.h \ 126 llimits.h lzio.h lopcodes.h lparser.h ldo.h lstate.h luadebug.h \
113 lmem.h lstring.h 127 lmem.h
114ldblib.o: ldblib.c lauxlib.h lua.h luadebug.h lualib.h 128ldblib.o: ldblib.c lua.h lauxlib.h luadebug.h lualib.h
115ldebug.o: ldebug.c lapi.h lobject.h llimits.h lua.h lauxlib.h ldebug.h \ 129ldebug.o: ldebug.c lua.h lapi.h lobject.h llimits.h lauxlib.h lcode.h \
116 luadebug.h ldo.h lstate.h lfunc.h ltable.h ltm.h 130 llex.h lzio.h lopcodes.h lparser.h ldebug.h lstate.h luadebug.h ldo.h \
117ldo.o: ldo.c lauxlib.h lua.h ldebug.h lobject.h llimits.h luadebug.h \ 131 lfunc.h ltable.h ltm.h
118 ldo.h lstate.h lgc.h lmem.h lparser.h lzio.h lstring.h ltm.h \ 132ldo.o: ldo.c lua.h lauxlib.h ldebug.h lstate.h lobject.h llimits.h \
119 lundump.h lvm.h 133 luadebug.h ldo.h lgc.h lmem.h lparser.h lzio.h lstring.h ltable.h \
120lfunc.o: lfunc.c lfunc.h lobject.h llimits.h lua.h lmem.h lstate.h \ 134 ltm.h lundump.h lvm.h
135lfunc.o: lfunc.c lua.h lfunc.h lobject.h llimits.h lmem.h lstate.h \
121 luadebug.h 136 luadebug.h
122lgc.o: lgc.c ldo.h lobject.h llimits.h lua.h lstate.h luadebug.h \ 137lgc.o: lgc.c lua.h ldo.h lobject.h llimits.h lstate.h luadebug.h \
123 lfunc.h lgc.h lmem.h lref.h lstring.h ltable.h ltm.h 138 lfunc.h lgc.h lmem.h lref.h lstring.h ltable.h ltm.h
124linit.o: linit.c lua.h lualib.h 139liolib.o: liolib.c lua.h lauxlib.h luadebug.h lualib.h
125liolib.o: liolib.c lauxlib.h lua.h luadebug.h lualib.h 140llex.o: llex.c lua.h lauxlib.h llex.h lobject.h llimits.h lzio.h \
126llex.o: llex.c lauxlib.h lua.h llex.h lobject.h llimits.h lzio.h \ 141 lmem.h lparser.h lstate.h luadebug.h lstring.h ltable.h
127 lmem.h lparser.h lstate.h luadebug.h lstring.h 142lmathlib.o: lmathlib.c lua.h lauxlib.h lualib.h
128lmathlib.o: lmathlib.c lauxlib.h lua.h lualib.h 143lmem.o: lmem.c lua.h ldo.h lobject.h llimits.h lstate.h luadebug.h \
129lmem.o: lmem.c lmem.h lua.h lobject.h llimits.h lstate.h luadebug.h 144 lmem.h
130lobject.o: lobject.c lobject.h llimits.h lua.h 145lobject.o: lobject.c lua.h lobject.h llimits.h
131lparser.o: lparser.c lcode.h llex.h lobject.h llimits.h lua.h lzio.h \ 146lparser.o: lparser.c lua.h lcode.h llex.h lobject.h llimits.h lzio.h \
132 lopcodes.h lparser.h ldo.h lstate.h luadebug.h lfunc.h lmem.h \ 147 lopcodes.h lparser.h lfunc.h lmem.h lstate.h luadebug.h lstring.h
133 lstring.h 148lref.o: lref.c lua.h lapi.h lobject.h llimits.h lmem.h lref.h lstate.h \
134lref.o: lref.c lapi.h lobject.h llimits.h lua.h lmem.h lref.h lstate.h \
135 luadebug.h 149 luadebug.h
136lstate.o: lstate.c lauxlib.h lua.h lbuiltin.h ldo.h lobject.h \ 150lstate.o: lstate.c lua.h lauxlib.h lbuiltin.h ldo.h lobject.h \
137 llimits.h lstate.h luadebug.h lgc.h llex.h lzio.h lmem.h lref.h \ 151 llimits.h lstate.h luadebug.h lgc.h llex.h lzio.h lmem.h lref.h \
138 lstring.h ltm.h 152 lstring.h ltable.h ltm.h
139lstring.o: lstring.c lmem.h lua.h lobject.h llimits.h lstate.h \ 153lstring.o: lstring.c lua.h lmem.h llimits.h lobject.h lstate.h \
140 luadebug.h lstring.h 154 luadebug.h lstring.h
141lstrlib.o: lstrlib.c lauxlib.h lua.h lualib.h 155lstrlib.o: lstrlib.c lua.h lauxlib.h lualib.h
142ltable.o: ltable.c lauxlib.h lua.h lmem.h lobject.h llimits.h lstate.h \ 156ltable.o: ltable.c lua.h lauxlib.h lmem.h llimits.h lobject.h lstate.h \
143 luadebug.h ltable.h 157 luadebug.h lstring.h ltable.h
144ltests.o: ltests.c lapi.h lobject.h llimits.h lua.h lauxlib.h lmem.h \ 158ltests.o: ltests.c lua.h lapi.h lobject.h llimits.h lauxlib.h lcode.h \
145 lopcodes.h lstate.h luadebug.h lstring.h ltable.h 159 llex.h lzio.h lopcodes.h lparser.h ldebug.h lstate.h luadebug.h ldo.h \
146ltm.o: ltm.c lauxlib.h lua.h lmem.h lobject.h llimits.h lstate.h \ 160 lfunc.h lmem.h lstring.h ltable.h
161ltm.o: ltm.c lua.h lauxlib.h lmem.h llimits.h lobject.h lstate.h \
147 luadebug.h ltm.h 162 luadebug.h ltm.h
148lua.o: lua.c lua.h luadebug.h lualib.h 163lua.o: lua.c lua.h luadebug.h lualib.h
149lundump.o: lundump.c lauxlib.h lua.h lfunc.h lobject.h llimits.h \ 164lundump.o: lundump.c lua.h lauxlib.h lfunc.h lobject.h llimits.h \
150 lmem.h lopcodes.h lstring.h lstate.h luadebug.h lundump.h lzio.h 165 lmem.h lopcodes.h lstring.h lstate.h luadebug.h lundump.h lzio.h
151lvm.o: lvm.c lauxlib.h lua.h ldebug.h lobject.h llimits.h luadebug.h \ 166lvm.o: lvm.c lua.h lapi.h lobject.h llimits.h lauxlib.h ldebug.h \
152 ldo.h lstate.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h ltm.h \ 167 lstate.h luadebug.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h \
153 lvm.h 168 ltm.h lvm.h
154lzio.o: lzio.c lzio.h 169lzio.o: lzio.c lua.h lzio.h