mirror of
https://github.com/lua/lua
synced 2024-11-22 12:51:30 +03:00
details
This commit is contained in:
parent
0e1058cfdd
commit
6ac047afc4
4
llex.h
4
llex.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: llex.h,v 1.5 1997/12/02 12:43:44 roberto Exp roberto $
|
||||
** $Id: llex.h,v 1.6 1997/12/17 20:48:58 roberto Exp roberto $
|
||||
** Lexical Analizer
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -28,8 +28,8 @@ typedef struct LexState {
|
||||
int linenumber; /* input line counter */
|
||||
int linelasttoken; /* line where last token was read */
|
||||
int lastline; /* last line wherein a SETLINE was generated */
|
||||
struct ifState ifstate[MAX_IFS];
|
||||
int iflevel; /* level of nested $if's (for lexical analysis) */
|
||||
struct ifState ifstate[MAX_IFS];
|
||||
} LexState;
|
||||
|
||||
|
||||
|
13
lobject.h
13
lobject.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lobject.h,v 1.12 1997/12/23 19:24:19 roberto Exp roberto $
|
||||
** $Id: lobject.h,v 1.13 1997/12/26 18:38:16 roberto Exp roberto $
|
||||
** Type definitions for Lua objects
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -96,8 +96,8 @@ typedef struct TaggedString {
|
||||
union {
|
||||
TObject globalval;
|
||||
struct {
|
||||
void *v; /* if this is a userdata, here is its value */
|
||||
int tag;
|
||||
void *v; /* if this is a userdata, here is its value */
|
||||
} d;
|
||||
} u;
|
||||
char str[1]; /* \0 byte already reserved */
|
||||
@ -111,11 +111,11 @@ typedef struct TaggedString {
|
||||
*/
|
||||
typedef struct TProtoFunc {
|
||||
GCnode head;
|
||||
struct TObject *consts;
|
||||
int nconsts;
|
||||
Byte *code; /* ends with opcode ENDCODE */
|
||||
int lineDefined;
|
||||
TaggedString *fileName;
|
||||
struct TObject *consts;
|
||||
int nconsts;
|
||||
struct LocVar *locvars; /* ends with line = -1 */
|
||||
} TProtoFunc;
|
||||
|
||||
@ -166,11 +166,6 @@ typedef struct Hash {
|
||||
} Hash;
|
||||
|
||||
|
||||
/*
|
||||
** a gross estimation of number of memory "blocks" allocated
|
||||
** (a block is *roughly* 32 bytes)
|
||||
*/
|
||||
|
||||
extern char *luaO_typenames[];
|
||||
|
||||
extern TObject luaO_nilobject;
|
||||
|
6
lstate.h
6
lstate.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lstate.h,v 1.5 1997/11/28 16:56:05 roberto Exp roberto $
|
||||
** $Id: lstate.h,v 1.6 1997/12/17 20:48:58 roberto Exp roberto $
|
||||
** Global State
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -49,8 +49,6 @@ typedef struct LState {
|
||||
struct C_Lua_Stack Cstack; /* C2lua struct */
|
||||
void *errorJmp; /* current error recover point */
|
||||
TObject errorim; /* error tag method */
|
||||
struct C_Lua_Stack Cblocks[MAX_C_BLOCKS];
|
||||
int numCblocks; /* number of nested Cblocks */
|
||||
GCnode rootproto; /* list of all prototypes */
|
||||
GCnode rootcl; /* list of all closures */
|
||||
GCnode roottable; /* list of all tables */
|
||||
@ -69,6 +67,8 @@ typedef struct LState {
|
||||
char *Mbuffbase; /* current first position of Mbuffer */
|
||||
int Mbuffsize; /* size of Mbuffer */
|
||||
int Mbuffnext; /* next position to fill in Mbuffer */
|
||||
struct C_Lua_Stack Cblocks[MAX_C_BLOCKS];
|
||||
int numCblocks; /* number of nested Cblocks */
|
||||
} LState;
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lstrlib.c,v 1.5 1997/12/17 20:48:58 roberto Exp roberto $
|
||||
** $Id: lstrlib.c,v 1.6 1998/01/09 14:44:55 roberto Exp $
|
||||
** Standard library for strings and pattern-matching
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -109,11 +109,11 @@ static void str_ascii (void)
|
||||
#define MAX_CAPT 9
|
||||
|
||||
struct Capture {
|
||||
int level; /* total number of captures (finished or unfinished) */
|
||||
struct {
|
||||
char *init;
|
||||
int len; /* -1 signals unfinished capture */
|
||||
} capture[MAX_CAPT];
|
||||
int level; /* total number of captures (finished or unfinished) */
|
||||
};
|
||||
|
||||
|
||||
|
4
lzio.h
4
lzio.h
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lzio.h,v 1.2 1997/11/21 19:00:46 roberto Exp roberto $
|
||||
** $Id: lzio.h,v 1.3 1997/12/22 20:57:18 roberto Exp roberto $
|
||||
** Buffered streams
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@ -42,8 +42,8 @@ struct zio {
|
||||
unsigned char* p; /* current position in buffer */
|
||||
int (*filbuf)(ZIO* z);
|
||||
void* u; /* additional data */
|
||||
unsigned char buffer[ZBSIZE]; /* buffer */
|
||||
char *name;
|
||||
unsigned char buffer[ZBSIZE]; /* buffer */
|
||||
};
|
||||
|
||||
|
||||
|
26
manual.tex
26
manual.tex
@ -1,4 +1,4 @@
|
||||
% $Id: manual.tex,v 1.2 1998/01/06 19:17:31 roberto Exp roberto $
|
||||
% $Id: manual.tex,v 1.3 1998/01/07 16:26:48 roberto Exp roberto $
|
||||
|
||||
\documentstyle[fullpage,11pt,bnf]{article}
|
||||
|
||||
@ -38,7 +38,7 @@ Waldemar Celes
|
||||
\tecgraf\ --- Computer Science Department --- PUC-Rio
|
||||
}
|
||||
|
||||
\date{\small \verb$Date: 1998/01/06 19:17:31 $}
|
||||
\date{\small \verb$Date: 1998/01/07 16:26:48 $}
|
||||
|
||||
\maketitle
|
||||
|
||||
@ -1658,9 +1658,9 @@ void lua_pushCclosure (lua_CFunction fn, int n);
|
||||
\end{verbatim}
|
||||
is used to put the C function on C2lua,
|
||||
with the argument \verb|n| telling how many upvalues must be
|
||||
associated with the function
|
||||
(notice that the macro \verb|lua_pushcfunction| is defined as
|
||||
\verb|lua_pushCclosure| with \verb|n| set to 0).
|
||||
associated with the function;
|
||||
in fact, the macro \verb|lua_pushcfunction| is defined as
|
||||
\verb|lua_pushCclosure| with \verb|n| set to 0.
|
||||
Then, any time the function is called,
|
||||
these upvalues are inserted as the first arguments to the function,
|
||||
before the actual arguments provided in the call.
|
||||
@ -1718,10 +1718,11 @@ Currently there are three standard libraries:
|
||||
\item mathematical functions (sin, log, etc);
|
||||
\item input and output (plus some system facilities).
|
||||
\end{itemize}
|
||||
In order to have access to these libraries,
|
||||
To have access to these libraries,
|
||||
the C host program must call the functions
|
||||
\verb|lua_strlibopen|, \verb|lua_mathlibopen|, and \verb|lua_iolibopen|,
|
||||
declared in \verb|lualib.h|.
|
||||
\verb|lua_strlibopen|, \verb|lua_mathlibopen|,
|
||||
and \verb|lua_iolibopen|, declared in \verb|lualib.h|.
|
||||
\Deffunc{lua_strlibopen}\Deffunc{lua_mathlibopen}\Deffunc{lua_iolibopen}.
|
||||
|
||||
|
||||
\subsection{Predefined Functions} \label{predefined}
|
||||
@ -2708,11 +2709,11 @@ Here is a list of all these incompatibilities.
|
||||
\subsection*{Incompatibilities with \Index{version 3.0}}
|
||||
\begin{itemize}
|
||||
|
||||
\item To support for multiple contexts,
|
||||
the whole library must be explicitly opened before used.
|
||||
\item To support multiple contexts,
|
||||
Lua 3.1 must be explicitly opened before used.
|
||||
However, all standard libraries check whether Lua is already opened,
|
||||
so any program that opens at least one standard library before using
|
||||
Lua API does not need to be corrected.
|
||||
Lua API does not need to be modified.
|
||||
|
||||
\item Function \verb|dostring| does not accept an optional second argument,
|
||||
with a temporary error method.
|
||||
@ -2725,7 +2726,8 @@ Closures make this feature irrelevant.
|
||||
\item The syntax for function declaration is now more restricted;
|
||||
for instance, the old syntax \verb|function f[exp] (x) ... end| is not
|
||||
accepted in 3.1.
|
||||
Programs should use an explicit assignment instead, like this:
|
||||
In these cases,
|
||||
programs should use an explicit assignment instead, like
|
||||
\verb|f[exp] = function (x) ... end|.
|
||||
|
||||
\item Old pre-compiled code is obsolete, and must be re-compiled.
|
||||
|
Loading…
Reference in New Issue
Block a user