php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
minilua.c File Reference
#include <stddef.h>
#include <stdarg.h>
#include <limits.h>
#include <math.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <setjmp.h>
#include <errno.h>
#include <time.h>

Go to the source code of this file.

Data Structures

struct  lua_Debug
 
union  L_Umaxalign
 
struct  GCheader
 
union  Value
 
struct  lua_TValue
 
union  TString
 
union  Udata
 
struct  Proto
 
struct  LocVar
 
struct  UpVal
 
struct  CClosure
 
struct  LClosure
 
union  Closure
 
union  TKey
 
struct  Node
 
struct  Table
 
struct  Mbuffer
 
struct  Zio
 
struct  stringtable
 
struct  CallInfo
 
struct  global_State
 
struct  lua_State
 
union  GCObject
 
struct  expdesc
 
struct  upvaldesc
 
struct  FuncState
 
struct  lua_longjmp
 
struct  SParser
 
union  SemInfo
 
struct  Token
 
struct  LexState
 
struct  LG
 
struct  BlockCnt
 
struct  ConsControl
 
struct  LHS_assign
 
struct  CallS
 
struct  luaL_Reg
 
struct  luaL_Buffer
 
struct  LoadF
 
struct  LoadS
 
struct  MatchState
 

Macros

#define LUA_QL(x)
 
#define luai_apicheck(L, o)
 
#define lua_number2str(s, n)
 
#define lua_str2number(s, p)
 
#define luai_numadd(a, b)
 
#define luai_numsub(a, b)
 
#define luai_nummul(a, b)
 
#define luai_numdiv(a, b)
 
#define luai_nummod(a, b)
 
#define luai_numpow(a, b)
 
#define luai_numunm(a)
 
#define luai_numeq(a, b)
 
#define luai_numlt(a, b)
 
#define luai_numle(a, b)
 
#define luai_numisnan(a)
 
#define lua_number2int(i, d)
 
#define lua_number2integer(i, d)
 
#define LUAI_THROW(L, c)
 
#define LUAI_TRY(L, c, a)
 
#define lua_pclose(L, file)
 
#define lua_upvalueindex(i)
 
#define lua_pop(L, n)
 
#define lua_newtable(L)
 
#define lua_pushcfunction(L, f)
 
#define lua_strlen(L, i)
 
#define lua_isfunction(L, n)
 
#define lua_istable(L, n)
 
#define lua_isnil(L, n)
 
#define lua_isboolean(L, n)
 
#define lua_isnone(L, n)
 
#define lua_isnoneornil(L, n)
 
#define lua_pushliteral(L, s)
 
#define lua_setglobal(L, s)
 
#define lua_tostring(L, i)
 
#define IntPoint(p)
 
#define check_exp(c, e)
 
#define UNUSED(x)
 
#define cast(t, exp)
 
#define cast_byte(i)
 
#define cast_num(i)
 
#define cast_int(i)
 
#define condhardstacktests(x)
 
#define ttisnil(o)
 
#define ttisnumber(o)
 
#define ttisstring(o)
 
#define ttistable(o)
 
#define ttisfunction(o)
 
#define ttisboolean(o)
 
#define ttisuserdata(o)
 
#define ttisthread(o)
 
#define ttislightuserdata(o)
 
#define ttype(o)
 
#define gcvalue(o)
 
#define pvalue(o)
 
#define nvalue(o)
 
#define rawtsvalue(o)
 
#define tsvalue(o)
 
#define rawuvalue(o)
 
#define uvalue(o)
 
#define clvalue(o)
 
#define hvalue(o)
 
#define bvalue(o)
 
#define thvalue(o)
 
#define l_isfalse(o)
 
#define checkconsistency(obj)
 
#define checkliveness(g, obj)
 
#define setnilvalue(obj)
 
#define setnvalue(obj, x)
 
#define setbvalue(obj, x)
 
#define setsvalue(L, obj, x)
 
#define setuvalue(L, obj, x)
 
#define setthvalue(L, obj, x)
 
#define setclvalue(L, obj, x)
 
#define sethvalue(L, obj, x)
 
#define setptvalue(L, obj, x)
 
#define setobj(L, obj1, obj2)
 
#define setttype(obj, tt)
 
#define iscollectable(o)
 
#define getstr(ts)
 
#define svalue(o)
 
#define iscfunction(o)
 
#define lmod(s, size)
 
#define twoto(x)
 
#define sizenode(t)
 
#define ceillog2(x)
 
#define gfasttm(g, et, e)
 
#define fasttm(l, et, e)
 
#define luaM_reallocv(L, b, on, n, e)
 
#define luaM_freemem(L, b, s)
 
#define luaM_free(L, b)
 
#define luaM_freearray(L, b, n, t)
 
#define luaM_malloc(L, t)
 
#define luaM_new(L, t)
 
#define luaM_newvector(L, n, t)
 
#define luaM_growvector(L, v, nelems, size, t, limit, e)
 
#define luaM_reallocvector(L, v, oldn, n, t)
 
#define char2int(c)
 
#define zgetc(z)
 
#define luaZ_initbuffer(L, buff)
 
#define luaZ_buffer(buff)
 
#define luaZ_sizebuffer(buff)
 
#define luaZ_bufflen(buff)
 
#define luaZ_resetbuffer(buff)
 
#define luaZ_resizebuffer(L, buff, size)
 
#define luaZ_freebuffer(L, buff)
 
#define gt(L)
 
#define registry(L)
 
#define curr_func(L)
 
#define ci_func(ci)
 
#define f_isLua(ci)
 
#define isLua(ci)
 
#define G(L)
 
#define rawgco2ts(o)
 
#define gco2ts(o)
 
#define rawgco2u(o)
 
#define gco2u(o)
 
#define gco2cl(o)
 
#define gco2h(o)
 
#define gco2p(o)
 
#define gco2uv(o)
 
#define ngcotouv(o)
 
#define gco2th(o)
 
#define obj2gco(v)
 
#define pcRel(pc, p)
 
#define getline_(f, pc)
 
#define resethookcount(L)
 
#define luaD_checkstack(L, n)
 
#define incr_top(L)
 
#define savestack(L, p)
 
#define restorestack(L, n)
 
#define saveci(L, p)
 
#define restoreci(L, n)
 
#define resetbits(x, m)
 
#define setbits(x, m)
 
#define testbits(x, m)
 
#define bitmask(b)
 
#define bit2mask(b1, b2)
 
#define l_setbit(x, b)
 
#define resetbit(x, b)
 
#define testbit(x, b)
 
#define set2bits(x, b1, b2)
 
#define reset2bits(x, b1, b2)
 
#define test2bits(x, b1, b2)
 
#define iswhite(x)
 
#define isblack(x)
 
#define isgray(x)
 
#define otherwhite(g)
 
#define isdead(g, v)
 
#define changewhite(x)
 
#define gray2black(x)
 
#define valiswhite(x)
 
#define luaC_white(g)
 
#define luaC_checkGC(L)
 
#define luaC_barrier(L, p, v)
 
#define luaC_barriert(L, t, v)
 
#define luaC_objbarrier(L, p, o)
 
#define luaC_objbarriert(L, t, o)
 
#define sizestring(s)
 
#define sizeudata(u)
 
#define luaS_new(L, s)
 
#define luaS_newliteral(L, s)
 
#define luaS_fix(s)
 
#define tostring(L, o)
 
#define tonumber(o, n)
 
#define equalobj(L, o1, o2)
 
#define gnode(t, i)
 
#define gkey(n)
 
#define gval(n)
 
#define gnext(n)
 
#define key2tval(n)
 
#define sizeCclosure(n)
 
#define sizeLclosure(n)
 
#define MASK1(n, p)
 
#define MASK0(n, p)
 
#define GET_OPCODE(i)
 
#define SET_OPCODE(i, o)
 
#define GETARG_A(i)
 
#define SETARG_A(i, u)
 
#define GETARG_B(i)
 
#define SETARG_B(i, b)
 
#define GETARG_C(i)
 
#define SETARG_C(i, b)
 
#define GETARG_Bx(i)
 
#define SETARG_Bx(i, b)
 
#define GETARG_sBx(i)
 
#define SETARG_sBx(i, b)
 
#define CREATE_ABC(o, a, b, c)
 
#define CREATE_ABx(o, a, bc)
 
#define ISK(x)
 
#define INDEXK(r)
 
#define RKASK(x)
 
#define getBMode(m)
 
#define getCMode(m)
 
#define testTMode(m)
 
#define inc_ci(L)
 
#define hashpow2(t, n)
 
#define hashstr(t, str)
 
#define hashboolean(t, p)
 
#define hashmod(t, n)
 
#define hashpointer(t, p)
 
#define makewhite(g, x)
 
#define white2gray(x)
 
#define black2gray(x)
 
#define stringmark(s)
 
#define isfinalized(u)
 
#define markfinalized(u)
 
#define markvalue(g, o)
 
#define markobject(g, t)
 
#define setthreshold(g)
 
#define sweepwholelist(L, p)
 
#define state_size(x)
 
#define fromstate(l)
 
#define tostate(l)
 
#define getcode(fs, e)
 
#define luaK_codeAsBx(fs, o, A, sBx)
 
#define luaK_setmultret(fs, e)
 
#define opmode(t, a, b, c, m)
 
#define next(ls)
 
#define currIsNewline(ls)
 
#define save_and_next(ls)
 
#define hasjumps(e)
 
#define hasmultret(k)
 
#define getlocvar(fs, i)
 
#define luaY_checklimit(fs, v, l, m)
 
#define check_condition(ls, c, msg)
 
#define new_localvarliteral(ls, v, n)
 
#define leavelevel(ls)
 
#define runtime_check(L, c)
 
#define RA(i)
 
#define RB(i)
 
#define RKB(i)
 
#define RKC(i)
 
#define KBx(i)
 
#define dojump(L, pc, i)
 
#define Protect(x)
 
#define arith_op(op, tm)
 
#define api_checknelems(L, n)
 
#define api_checkvalidindex(L, i)
 
#define api_incr_top(L)
 
#define adjustresults(L, nres)
 
#define checkresults(L, na, nr)
 
#define luaL_getn(L, i)
 
#define luaL_setn(L, i, j)
 
#define luaL_argcheck(L, cond, numarg, extramsg)
 
#define luaL_checkstring(L, n)
 
#define luaL_optstring(L, n, d)
 
#define luaL_checkint(L, n)
 
#define luaL_optint(L, n, d)
 
#define luaL_typename(L, i)
 
#define luaL_getmetatable(L, n)
 
#define luaL_opt(L, f, n, d)
 
#define luaL_addchar(B, c)
 
#define luaL_addsize(B, n)
 
#define bufflen(B)
 
#define bufffree(B)
 
#define aux_getn(L, n)
 
#define tofilep(L)
 
#define uchar(c)
 
#define BRET(b)
 

Typedefs

typedef unsigned long long U64
 
typedef enum BinOpr BinOpr
 
typedef enum UnOpr UnOpr
 
typedef struct lua_State lua_State
 
typedef int(* lua_CFunction) (lua_State *L)
 
typedef const char *(* lua_Reader) (lua_State *L, void *ud, size_t *sz)
 
typedef void *(* lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize)
 
typedef double lua_Number
 
typedef ptrdiff_t lua_Integer
 
typedef struct lua_Debug lua_Debug
 
typedef void(* lua_Hook) (lua_State *L, lua_Debug *ar)
 
typedef unsigned int lu_int32
 
typedef size_t lu_mem
 
typedef ptrdiff_t l_mem
 
typedef unsigned char lu_byte
 
typedef double l_uacNumber
 
typedef lu_int32 Instruction
 
typedef union GCObject GCObject
 
typedef struct GCheader GCheader
 
typedef struct lua_TValue TValue
 
typedef TValueStkId
 
typedef union TString TString
 
typedef union Udata Udata
 
typedef struct Proto Proto
 
typedef struct LocVar LocVar
 
typedef struct UpVal UpVal
 
typedef struct CClosure CClosure
 
typedef struct LClosure LClosure
 
typedef union Closure Closure
 
typedef union TKey TKey
 
typedef struct Node Node
 
typedef struct Table Table
 
typedef struct Zio ZIO
 
typedef struct Mbuffer Mbuffer
 
typedef struct stringtable stringtable
 
typedef struct CallInfo CallInfo
 
typedef struct global_State global_State
 
typedef void(* Pfunc) (lua_State *L, void *ud)
 
typedef struct expdesc expdesc
 
typedef struct upvaldesc upvaldesc
 
typedef struct FuncState FuncState
 
typedef struct Token Token
 
typedef struct LexState LexState
 
typedef struct LG LG
 
typedef struct BlockCnt BlockCnt
 
typedef struct luaL_Reg luaL_Reg
 
typedef struct luaL_Buffer luaL_Buffer
 
typedef struct LoadF LoadF
 
typedef struct LoadS LoadS
 
typedef struct MatchState MatchState
 
typedef unsigned int UB
 

Enumerations

enum  TMS {
  TM_INDEX , TM_NEWINDEX , TM_GC , TM_MODE ,
  TM_EQ , TM_ADD , TM_SUB , TM_MUL ,
  TM_DIV , TM_MOD , TM_POW , TM_UNM ,
  TM_LEN , TM_LT , TM_LE , TM_CONCAT ,
  TM_CALL , TM_N
}
 
enum  OpMode { iABC , iABx , iAsBx }
 
enum  OpCode {
  OP_MOVE , OP_LOADK , OP_LOADBOOL , OP_LOADNIL ,
  OP_GETUPVAL , OP_GETGLOBAL , OP_GETTABLE , OP_SETGLOBAL ,
  OP_SETUPVAL , OP_SETTABLE , OP_NEWTABLE , OP_SELF ,
  OP_ADD , OP_SUB , OP_MUL , OP_DIV ,
  OP_MOD , OP_POW , OP_UNM , OP_NOT ,
  OP_LEN , OP_CONCAT , OP_JMP , OP_EQ ,
  OP_LT , OP_LE , OP_TEST , OP_TESTSET ,
  OP_CALL , OP_TAILCALL , OP_RETURN , OP_FORLOOP ,
  OP_FORPREP , OP_TFORLOOP , OP_SETLIST , OP_CLOSE ,
  OP_CLOSURE , OP_VARARG
}
 
enum  OpArgMask { OpArgN , OpArgU , OpArgR , OpArgK }
 
enum  expkind {
  VVOID , VNIL , VTRUE , VFALSE ,
  VK , VKNUM , VLOCAL , VUPVAL ,
  VGLOBAL , VINDEXED , VJMP , VRELOCABLE ,
  VNONRELOC , VCALL , VVARARG
}
 
enum  RESERVED {
  TK_AND =257 , TK_BREAK , TK_DO , TK_ELSE ,
  TK_ELSEIF , TK_END , TK_FALSE , TK_FOR ,
  TK_FUNCTION , TK_IF , TK_IN , TK_LOCAL ,
  TK_NIL , TK_NOT , TK_OR , TK_REPEAT ,
  TK_RETURN , TK_THEN , TK_TRUE , TK_UNTIL ,
  TK_WHILE , TK_CONCAT , TK_DOTS , TK_EQ ,
  TK_GE , TK_LE , TK_NE , TK_NUMBER ,
  TK_NAME , TK_STRING , TK_EOS
}
 
enum  BinOpr {
  OPR_ADD , OPR_SUB , OPR_MUL , OPR_DIV ,
  OPR_MOD , OPR_POW , OPR_CONCAT , OPR_NE ,
  OPR_EQ , OPR_LT , OPR_LE , OPR_GT ,
  OPR_GE , OPR_AND , OPR_OR , OPR_NOBINOPR
}
 
enum  UnOpr { OPR_MINUS , OPR_NOT , OPR_LEN , OPR_NOUNOPR }
 

Functions

int main (int argc, char **argv)
 

Variables

int _CRT_glob = 0
 

Macro Definition Documentation

◆ adjustresults

#define adjustresults ( L,
nres )
Value:
{if(nres==(-1)&&L->top>=L->ci->top)L->ci->top=L->top;}

Definition at line 5752 of file minilua.c.

◆ api_checknelems

#define api_checknelems ( L,
n )
Value:
luai_apicheck(L,(n)<=(L->top-L->base))
zend_long n
Definition ffi.c:4979
#define luai_apicheck(L, o)
Definition minilua.c:144

Definition at line 5311 of file minilua.c.

◆ api_checkvalidindex

#define api_checkvalidindex ( L,
i )
Value:
luai_apicheck(L,(i)!=(&luaO_nilobject_))

Definition at line 5312 of file minilua.c.

◆ api_incr_top

#define api_incr_top ( L)
Value:
{luai_apicheck(L,L->top<L->ci->top);L->top++;}

Definition at line 5313 of file minilua.c.

◆ arith_op

#define arith_op ( op,
tm )
Value:
{TValue*rb=RKB(i);TValue*rc=RKC(i);if(ttisnumber(rb)&&ttisnumber(rc)){lua_Number nb=nvalue(rb),nc=nvalue(rc);setnvalue(ra,op(nb,nc));}else Protect(Arith(L,ra,rb,rc,tm));}
#define RKC(i)
Definition minilua.c:4940
#define nvalue(o)
Definition minilua.c:246
#define setnvalue(obj, x)
Definition minilua.c:259
#define ttisnumber(o)
Definition minilua.c:235
#define RKB(i)
Definition minilua.c:4939
struct lua_TValue TValue
#define Protect(x)
Definition minilua.c:4943
double lua_Number
Definition minilua.c:168

Definition at line 4944 of file minilua.c.

◆ aux_getn

#define aux_getn ( L,
n )
Value:
(luaL_checktype(L,n,5),luaL_getn(L,n))
#define luaL_getn(L, i)
Definition minilua.c:5836

Definition at line 6453 of file minilua.c.

◆ bit2mask

#define bit2mask ( b1,
b2 )
Value:
(bitmask(b1)|bitmask(b2))
#define bitmask(b)
Definition minilua.c:563

Definition at line 564 of file minilua.c.

◆ bitmask

#define bitmask ( b)
Value:
(1<<(b))

Definition at line 563 of file minilua.c.

◆ black2gray

#define black2gray ( x)
Value:
resetbit((x)->gch.marked,2)
#define resetbit(x, b)
Definition minilua.c:566

Definition at line 1722 of file minilua.c.

◆ BRET

#define BRET ( b)
Value:
lua_pushnumber(L,(lua_Number)(int)(b));return 1;

Definition at line 7705 of file minilua.c.

◆ bufffree

#define bufffree ( B)
Value:
((size_t)(BUFSIZ-bufflen(B)))
#define bufflen(B)
Definition minilua.c:6055
#define B

Definition at line 6056 of file minilua.c.

◆ bufflen

#define bufflen ( B)
Value:
((B)->p-(B)->buffer)

Definition at line 6055 of file minilua.c.

◆ bvalue

#define bvalue ( o)
Value:
#define ttisboolean(o)
Definition minilua.c:239
#define check_exp(c, e)
Definition minilua.c:213
value

Definition at line 253 of file minilua.c.

◆ cast

#define cast ( t,
exp )
Value:
((t)(exp))
exp(float $num)

Definition at line 215 of file minilua.c.

◆ cast_byte

#define cast_byte ( i)
Value:
unsigned char lu_byte
Definition minilua.c:209
#define cast(t, exp)
Definition minilua.c:215

Definition at line 216 of file minilua.c.

◆ cast_int

#define cast_int ( i)
Value:
cast(int,(i))

Definition at line 218 of file minilua.c.

◆ cast_num

#define cast_num ( i)
Value:

Definition at line 217 of file minilua.c.

◆ ceillog2

#define ceillog2 ( x)
Value:
(luaO_log2((x)-1)+1)

Definition at line 371 of file minilua.c.

◆ changewhite

#define changewhite ( x)
Value:
((x)->gch.marked^=bit2mask(0,1))
#define bit2mask(b1, b2)
Definition minilua.c:564

Definition at line 576 of file minilua.c.

◆ char2int

#define char2int ( c)
Value:
cast(int,cast(unsigned char,(c)))

Definition at line 392 of file minilua.c.

◆ check_condition

#define check_condition ( ls,
c,
msg )
Value:
{if(!(c))luaX_syntaxerror(ls,msg);}
char * msg
Definition phpdbg.h:289

Definition at line 3700 of file minilua.c.

◆ check_exp

#define check_exp ( c,
e )
Value:
(e)

Definition at line 213 of file minilua.c.

◆ checkconsistency

#define checkconsistency ( obj)

Definition at line 256 of file minilua.c.

◆ checkliveness

#define checkliveness ( g,
obj )

Definition at line 257 of file minilua.c.

◆ checkresults

#define checkresults ( L,
na,
nr )
Value:
luai_apicheck(L,(nr)==(-1)||(L->ci->top-L->top>=(nr)-(na)))

Definition at line 5753 of file minilua.c.

◆ ci_func

#define ci_func ( ci)
Value:
(clvalue((ci)->func))
#define clvalue(o)
Definition minilua.c:251
execute_data func

Definition at line 431 of file minilua.c.

◆ clvalue

#define clvalue ( o)
Value:
check_exp(ttisfunction(o),&(o)->value.gc->cl)
#define ttisfunction(o)
Definition minilua.c:238

Definition at line 251 of file minilua.c.

◆ condhardstacktests

#define condhardstacktests ( x)
Value:
((void)0)
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)

Definition at line 220 of file minilua.c.

◆ CREATE_ABC

#define CREATE_ABC ( o,
a,
b,
c )
Value:
((cast(Instruction,o)<<0)|(cast(Instruction,a)<<(0+6))|(cast(Instruction,b)<<(((0+6)+8)+9))|(cast(Instruction,c)<<((0+6)+8)))
lu_int32 Instruction
Definition minilua.c:219
$obj a
Definition test.php:84

Definition at line 941 of file minilua.c.

◆ CREATE_ABx

#define CREATE_ABx ( o,
a,
bc )
Value:
((cast(Instruction,o)<<0)|(cast(Instruction,a)<<(0+6))|(cast(Instruction,bc)<<((0+6)+8)))

Definition at line 942 of file minilua.c.

◆ curr_func

#define curr_func ( L)
Value:
(clvalue(L->ci->func))

Definition at line 430 of file minilua.c.

◆ currIsNewline

#define currIsNewline ( ls)
Value:
(ls->current=='\n'||ls->current=='\r')

Definition at line 2662 of file minilua.c.

◆ dojump

#define dojump ( L,
pc,
i )
Value:
{(pc)+=(i);}

Definition at line 4942 of file minilua.c.

◆ equalobj

#define equalobj ( L,
o1,
o2 )
Value:
(ttype(o1)==ttype(o2)&&luaV_equalval(L,o1,o2))
#define ttype(o)
Definition minilua.c:243

Definition at line 598 of file minilua.c.

◆ f_isLua

#define f_isLua ( ci)
Value:
(!ci_func(ci)->c.isC)
#define ci_func(ci)
Definition minilua.c:431

Definition at line 432 of file minilua.c.

◆ fasttm

#define fasttm ( l,
et,
e )
Value:
gfasttm(G(l),et,e)
#define G(L)
Definition minilua.c:489
#define gfasttm(g, et, e)
Definition minilua.c:373

Definition at line 374 of file minilua.c.

◆ fromstate

#define fromstate ( l)
Value:
(cast(lu_byte*,(l))-0)

Definition at line 2258 of file minilua.c.

◆ G

#define G ( L)
Value:
(L->l_G)

Definition at line 489 of file minilua.c.

◆ gco2cl

#define gco2cl ( o)
Value:
check_exp((o)->gch.tt==6,&((o)->cl))

Definition at line 504 of file minilua.c.

◆ gco2h

#define gco2h ( o)
Value:
check_exp((o)->gch.tt==5,&((o)->h))

Definition at line 505 of file minilua.c.

◆ gco2p

#define gco2p ( o)
Value:
check_exp((o)->gch.tt==(8+1),&((o)->p))

Definition at line 506 of file minilua.c.

◆ gco2th

#define gco2th ( o)
Value:
check_exp((o)->gch.tt==8,&((o)->th))

Definition at line 509 of file minilua.c.

◆ gco2ts

#define gco2ts ( o)
Value:
(&rawgco2ts(o)->tsv)
#define rawgco2ts(o)
Definition minilua.c:500

Definition at line 501 of file minilua.c.

◆ gco2u

#define gco2u ( o)
Value:
(&rawgco2u(o)->uv)
#define rawgco2u(o)
Definition minilua.c:502

Definition at line 503 of file minilua.c.

◆ gco2uv

#define gco2uv ( o)
Value:
check_exp((o)->gch.tt==(8+2),&((o)->uv))

Definition at line 507 of file minilua.c.

◆ gcvalue

#define gcvalue ( o)
Value:
#define iscollectable(o)
Definition minilua.c:269

Definition at line 244 of file minilua.c.

◆ GET_OPCODE

#define GET_OPCODE ( i)
Value:
(cast(OpCode,((i)>>0)&MASK1(6,0)))
OpCode
Definition minilua.c:63
#define MASK1(n, p)
Definition minilua.c:927

Definition at line 929 of file minilua.c.

◆ GETARG_A

#define GETARG_A ( i)
Value:
(cast(int,((i)>>(0+6))&MASK1(8,0)))

Definition at line 931 of file minilua.c.

◆ GETARG_B

#define GETARG_B ( i)
Value:
(cast(int,((i)>>(((0+6)+8)+9))&MASK1(9,0)))

Definition at line 933 of file minilua.c.

◆ GETARG_Bx

#define GETARG_Bx ( i)
Value:
(cast(int,((i)>>((0+6)+8))&MASK1((9+9),0)))

Definition at line 937 of file minilua.c.

◆ GETARG_C

#define GETARG_C ( i)
Value:
(cast(int,((i)>>((0+6)+8))&MASK1(9,0)))

Definition at line 935 of file minilua.c.

◆ GETARG_sBx

#define GETARG_sBx ( i)
Value:
(GETARG_Bx(i)-(((1<<(9+9))-1)>>1))
#define GETARG_Bx(i)
Definition minilua.c:937

Definition at line 939 of file minilua.c.

◆ getBMode

#define getBMode ( m)
Value:
(cast(enum OpArgMask,(luaP_opmodes[m]>>4)&3))
OpArgMask
Definition minilua.c:103

Definition at line 947 of file minilua.c.

◆ getCMode

#define getCMode ( m)
Value:
(cast(enum OpArgMask,(luaP_opmodes[m]>>2)&3))

Definition at line 948 of file minilua.c.

◆ getcode

#define getcode ( fs,
e )
Value:
((fs)->f->code[(e)->u.s.info])

Definition at line 2390 of file minilua.c.

◆ getline_

#define getline_ ( f,
pc )
Value:
(((f)->lineinfo)?(f)->lineinfo[pc]:0)

Definition at line 513 of file minilua.c.

◆ getlocvar

#define getlocvar ( fs,
i )
Value:
((fs)->f->locvars[(fs)->actvar[i]])

Definition at line 3657 of file minilua.c.

◆ getstr

#define getstr ( ts)
Value:
cast(const char*,(ts)+1)

Definition at line 280 of file minilua.c.

◆ gfasttm

#define gfasttm ( g,
et,
e )
Value:
((et)==NULL?NULL:((et)->flags&(1u<<(e)))?NULL:luaT_gettm(et,e,(g)->tmname[e]))
#define NULL
Definition gdcache.h:45

Definition at line 373 of file minilua.c.

◆ gkey

#define gkey ( n)
Value:
(&(n)->i_key.nk)

Definition at line 765 of file minilua.c.

◆ gnext

#define gnext ( n)
Value:
((n)->i_key.nk.next)

Definition at line 767 of file minilua.c.

◆ gnode

#define gnode ( t,
i )
Value:
(&(t)->node[i])

Definition at line 764 of file minilua.c.

◆ gray2black

#define gray2black ( x)
Value:
l_setbit((x)->gch.marked,2)
#define l_setbit(x, b)
Definition minilua.c:565

Definition at line 577 of file minilua.c.

◆ gt

#define gt ( L)
Value:
(&L->l_gt)

Definition at line 415 of file minilua.c.

◆ gval

#define gval ( n)
Value:
(&(n)->i_val)

Definition at line 766 of file minilua.c.

◆ hashboolean

#define hashboolean ( t,
p )
Value:
#define hashpow2(t, n)
Definition minilua.c:1338
p
Definition session.c:1105

Definition at line 1340 of file minilua.c.

◆ hashmod

#define hashmod ( t,
n )
Value:
(gnode(t,((n)%((sizenode(t)-1)|1))))
#define sizenode(t)
Definition minilua.c:369
#define gnode(t, i)
Definition minilua.c:764

Definition at line 1341 of file minilua.c.

◆ hashpointer

#define hashpointer ( t,
p )
Value:
#define hashmod(t, n)
Definition minilua.c:1341
#define IntPoint(p)
Definition minilua.c:210

Definition at line 1342 of file minilua.c.

◆ hashpow2

#define hashpow2 ( t,
n )
Value:
(gnode(t,lmod((n),sizenode(t))))
#define lmod(s, size)
Definition minilua.c:367

Definition at line 1338 of file minilua.c.

◆ hashstr

#define hashstr ( t,
str )
Value:
hashpow2(t,(str)->tsv.hash)

Definition at line 1339 of file minilua.c.

◆ hasjumps

#define hasjumps ( e)
Value:
((e)->t!=(e)->f)

Definition at line 2997 of file minilua.c.

◆ hasmultret

#define hasmultret ( k)
Value:
((k)==VCALL||(k)==VVARARG)
@ VVARARG
Definition minilua.c:124
@ VCALL
Definition minilua.c:123

Definition at line 3656 of file minilua.c.

◆ hvalue

#define hvalue ( o)
Value:
check_exp(ttistable(o),&(o)->value.gc->h)
#define ttistable(o)
Definition minilua.c:237

Definition at line 252 of file minilua.c.

◆ inc_ci

#define inc_ci ( L)
Value:
((L->ci==L->end_ci)?growCI(L):(condhardstacktests(luaD_reallocCI(L,L->size_ci)),++L->ci))
#define condhardstacktests(x)
Definition minilua.c:220

Definition at line 1124 of file minilua.c.

◆ incr_top

#define incr_top ( L)
Value:
{luaD_checkstack(L,1);L->top++;}
#define luaD_checkstack(L, n)
Definition minilua.c:518

Definition at line 519 of file minilua.c.

◆ INDEXK

#define INDEXK ( r)
Value:
((int)(r)&~(1<<(9-1)))

Definition at line 944 of file minilua.c.

◆ IntPoint

#define IntPoint ( p)
Value:
((unsigned int)(lu_mem)(p))
size_t lu_mem
Definition minilua.c:207

Definition at line 210 of file minilua.c.

◆ isblack

#define isblack ( x)
Value:
testbit((x)->gch.marked,2)
#define testbit(x, b)
Definition minilua.c:567

Definition at line 572 of file minilua.c.

◆ iscfunction

#define iscfunction ( o)
Value:
(ttype(o)==6&&clvalue(o)->c.isC)

Definition at line 344 of file minilua.c.

◆ iscollectable

#define iscollectable ( o)
Value:
(ttype(o)>=4)

Definition at line 269 of file minilua.c.

◆ isdead

#define isdead ( g,
v )
Value:
((v)->gch.marked&otherwhite(g)&bit2mask(0,1))
uint32_t v
Definition cdf.c:1237
#define otherwhite(g)
Definition minilua.c:574

Definition at line 575 of file minilua.c.

◆ isfinalized

#define isfinalized ( u)
Value:
testbit((u)->marked,3)
uint32_t u
Definition cdf.c:78

Definition at line 1724 of file minilua.c.

◆ isgray

#define isgray ( x)
Value:
(!isblack(x)&&!iswhite(x))
#define iswhite(x)
Definition minilua.c:571
#define isblack(x)
Definition minilua.c:572

Definition at line 573 of file minilua.c.

◆ ISK

#define ISK ( x)
Value:
((x)&(1<<(9-1)))

Definition at line 943 of file minilua.c.

◆ isLua

#define isLua ( ci)
Value:
(ttisfunction((ci)->func)&&f_isLua(ci))
#define f_isLua(ci)
Definition minilua.c:432

Definition at line 433 of file minilua.c.

◆ iswhite

#define iswhite ( x)
Value:
test2bits((x)->gch.marked,0,1)
#define test2bits(x, b1, b2)
Definition minilua.c:570

Definition at line 571 of file minilua.c.

◆ KBx

#define KBx ( i)
Value:
@ OpArgK
Definition minilua.c:107
#define GET_OPCODE(i)
Definition minilua.c:929
#define getBMode(m)
Definition minilua.c:947

Definition at line 4941 of file minilua.c.

◆ key2tval

#define key2tval ( n)
Value:
(&(n)->i_key.tvk)

Definition at line 768 of file minilua.c.

◆ l_isfalse

#define l_isfalse ( o)
Value:
(ttisnil(o)||(ttisboolean(o)&&bvalue(o)==0))
#define ttisnil(o)
Definition minilua.c:234
#define bvalue(o)
Definition minilua.c:253

Definition at line 255 of file minilua.c.

◆ l_setbit

#define l_setbit ( x,
b )
Value:
#define setbits(x, m)
Definition minilua.c:561

Definition at line 565 of file minilua.c.

◆ leavelevel

#define leavelevel ( ls)
Value:
((ls)->L->nCcalls--)

Definition at line 3841 of file minilua.c.

◆ lmod

#define lmod ( s,
size )
Value:
(check_exp((size&(size-1))==0,(cast(int,(s)&((size)-1)))))
char s[4]
Definition cdf.c:77
new_type size
Definition ffi.c:4365

Definition at line 367 of file minilua.c.

◆ lua_isboolean

#define lua_isboolean ( L,
n )
Value:
(lua_type(L,(n))==1)

Definition at line 185 of file minilua.c.

◆ lua_isfunction

#define lua_isfunction ( L,
n )
Value:
(lua_type(L,(n))==6)

Definition at line 182 of file minilua.c.

◆ lua_isnil

#define lua_isnil ( L,
n )
Value:
(lua_type(L,(n))==0)

Definition at line 184 of file minilua.c.

◆ lua_isnone

#define lua_isnone ( L,
n )
Value:
(lua_type(L,(n))==(-1))

Definition at line 186 of file minilua.c.

◆ lua_isnoneornil

#define lua_isnoneornil ( L,
n )
Value:
(lua_type(L,(n))<=0)

Definition at line 187 of file minilua.c.

◆ lua_istable

#define lua_istable ( L,
n )
Value:
(lua_type(L,(n))==5)

Definition at line 183 of file minilua.c.

◆ lua_newtable

#define lua_newtable ( L)
Value:
lua_createtable(L,0,0)

Definition at line 179 of file minilua.c.

◆ lua_number2int

#define lua_number2int ( i,
d )
Value:
((i)=(int)(d))

Definition at line 158 of file minilua.c.

◆ lua_number2integer

#define lua_number2integer ( i,
d )
Value:
((i)=(lua_Integer)(d))
ptrdiff_t lua_Integer
Definition minilua.c:169

Definition at line 159 of file minilua.c.

◆ lua_number2str

#define lua_number2str ( s,
n )
Value:
sprintf((s),"%.14g",(n))
sprintf("0x%X", $numelems)

Definition at line 145 of file minilua.c.

◆ lua_pclose

#define lua_pclose ( L,
file )
Value:
((void)((void)L,file),0)
file(string $filename, int $flags=0, $context=null)

Definition at line 162 of file minilua.c.

◆ lua_pop

#define lua_pop ( L,
n )
Value:
lua_settop(L,-(n)-1)

Definition at line 178 of file minilua.c.

◆ lua_pushcfunction

#define lua_pushcfunction ( L,
f )
Value:
lua_pushcclosure(L,(f),0)

Definition at line 180 of file minilua.c.

◆ lua_pushliteral

#define lua_pushliteral ( L,
s )
Value:
lua_pushlstring(L,""s,(sizeof(s)/sizeof(char))-1)

Definition at line 188 of file minilua.c.

◆ LUA_QL

#define LUA_QL ( x)
Value:
"'"x"'"

Definition at line 143 of file minilua.c.

◆ lua_setglobal

#define lua_setglobal ( L,
s )
Value:
lua_setfield(L,(-10002),(s))

Definition at line 189 of file minilua.c.

◆ lua_str2number

#define lua_str2number ( s,
p )
Value:
strtod((s),(p))

Definition at line 146 of file minilua.c.

◆ lua_strlen

#define lua_strlen ( L,
i )
Value:
lua_objlen(L,(i))

Definition at line 181 of file minilua.c.

◆ lua_tostring

#define lua_tostring ( L,
i )
Value:
lua_tolstring(L,(i),NULL)

Definition at line 190 of file minilua.c.

◆ lua_upvalueindex

#define lua_upvalueindex ( i)
Value:
((-10002)-(i))

Definition at line 163 of file minilua.c.

◆ luaC_barrier

#define luaC_barrier ( L,
p,
v )
Value:
{if(valiswhite(v)&&isblack(obj2gco(p)))luaC_barrierf(L,obj2gco(p),gcvalue(v));}
#define gcvalue(o)
Definition minilua.c:244
#define obj2gco(v)
Definition minilua.c:510
#define valiswhite(x)
Definition minilua.c:578

Definition at line 581 of file minilua.c.

◆ luaC_barriert

#define luaC_barriert ( L,
t,
v )
Value:
{if(valiswhite(v)&&isblack(obj2gco(t)))luaC_barrierback(L,t);}

Definition at line 582 of file minilua.c.

◆ luaC_checkGC

#define luaC_checkGC ( L)
Value:
{condhardstacktests(luaD_reallocstack(L,L->stacksize-5-1));if(G(L)->totalbytes>=G(L)->GCthreshold)luaC_step(L);}

Definition at line 580 of file minilua.c.

◆ luaC_objbarrier

#define luaC_objbarrier ( L,
p,
o )
Value:
{if(iswhite(obj2gco(o))&&isblack(obj2gco(p)))luaC_barrierf(L,obj2gco(p),obj2gco(o));}

Definition at line 583 of file minilua.c.

◆ luaC_objbarriert

#define luaC_objbarriert ( L,
t,
o )
Value:
{if(iswhite(obj2gco(o))&&isblack(obj2gco(t)))luaC_barrierback(L,t);}

Definition at line 584 of file minilua.c.

◆ luaC_white

#define luaC_white ( g)
Value:
cast(lu_byte,(g)->currentwhite&bit2mask(0,1))

Definition at line 579 of file minilua.c.

◆ luaD_checkstack

#define luaD_checkstack ( L,
n )
Value:
if((char*)L->stack_last-(char*)L->top<=(n)*(int)sizeof(TValue))luaD_growstack(L,n);else condhardstacktests(luaD_reallocstack(L,L->stacksize-5-1));

Definition at line 518 of file minilua.c.

◆ luai_apicheck

#define luai_apicheck ( L,
o )
Value:
{(void)L;}

Definition at line 144 of file minilua.c.

◆ luai_numadd

#define luai_numadd ( a,
b )
Value:
((a)+(b))

Definition at line 147 of file minilua.c.

◆ luai_numdiv

#define luai_numdiv ( a,
b )
Value:
((a)/(b))

Definition at line 150 of file minilua.c.

◆ luai_numeq

#define luai_numeq ( a,
b )
Value:
((a)==(b))

Definition at line 154 of file minilua.c.

◆ luai_numisnan

#define luai_numisnan ( a)
Value:
(!luai_numeq((a),(a)))
#define luai_numeq(a, b)
Definition minilua.c:154

Definition at line 157 of file minilua.c.

◆ luai_numle

#define luai_numle ( a,
b )
Value:
((a)<=(b))

Definition at line 156 of file minilua.c.

◆ luai_numlt

#define luai_numlt ( a,
b )
Value:
((a)<(b))

Definition at line 155 of file minilua.c.

◆ luai_nummod

#define luai_nummod ( a,
b )
Value:
((a)-floor((a)/(b))*(b))
floor(int|float $num)

Definition at line 151 of file minilua.c.

◆ luai_nummul

#define luai_nummul ( a,
b )
Value:
((a)*(b))

Definition at line 149 of file minilua.c.

◆ luai_numpow

#define luai_numpow ( a,
b )
Value:
(pow(a,b))
pow(mixed $num, mixed $exponent)

Definition at line 152 of file minilua.c.

◆ luai_numsub

#define luai_numsub ( a,
b )
Value:
((a)-(b))

Definition at line 148 of file minilua.c.

◆ luai_numunm

#define luai_numunm ( a)
Value:
(-(a))

Definition at line 153 of file minilua.c.

◆ LUAI_THROW

#define LUAI_THROW ( L,
c )
Value:
longjmp((c)->b,1)

Definition at line 160 of file minilua.c.

◆ LUAI_TRY

#define LUAI_TRY ( L,
c,
a )
Value:
if(setjmp((c)->b)==0){a}

Definition at line 161 of file minilua.c.

◆ luaK_codeAsBx

#define luaK_codeAsBx ( fs,
o,
A,
sBx )
Value:
luaK_codeABx(fs,o,A,(sBx)+(((1<<(9+9))-1)>>1))
#define A(x, l, r)
Definition hash_gost.c:85

Definition at line 2391 of file minilua.c.

◆ luaK_setmultret

#define luaK_setmultret ( fs,
e )
Value:
luaK_setreturns(fs,e,(-1))

Definition at line 2392 of file minilua.c.

◆ luaL_addchar

#define luaL_addchar ( B,
c )
Value:
((void)((B)->p<((B)->buffer+BUFSIZ)||luaL_prepbuffer(B)),(*(B)->p++=(char)(c)))

Definition at line 5869 of file minilua.c.

◆ luaL_addsize

#define luaL_addsize ( B,
n )
Value:
((B)->p+=(n))

Definition at line 5870 of file minilua.c.

◆ luaL_argcheck

#define luaL_argcheck ( L,
cond,
numarg,
extramsg )
Value:
((void)((cond)||luaL_argerror(L,(numarg),(extramsg))))

Definition at line 5855 of file minilua.c.

◆ luaL_checkint

#define luaL_checkint ( L,
n )
Value:
((int)luaL_checkinteger(L,(n)))

Definition at line 5858 of file minilua.c.

◆ luaL_checkstring

#define luaL_checkstring ( L,
n )
Value:
(luaL_checklstring(L,(n),NULL))

Definition at line 5856 of file minilua.c.

◆ luaL_getmetatable

#define luaL_getmetatable ( L,
n )
Value:
(lua_getfield(L,(-10000),(n)))

Definition at line 5861 of file minilua.c.

◆ luaL_getn

#define luaL_getn ( L,
i )
Value:
((int)lua_objlen(L,i))

Definition at line 5836 of file minilua.c.

◆ luaL_opt

#define luaL_opt ( L,
f,
n,
d )
Value:
(lua_isnoneornil(L,(n))?(d):f(L,(n)))
#define lua_isnoneornil(L, n)
Definition minilua.c:187

Definition at line 5862 of file minilua.c.

◆ luaL_optint

#define luaL_optint ( L,
n,
d )
Value:
((int)luaL_optinteger(L,(n),(d)))

Definition at line 5859 of file minilua.c.

◆ luaL_optstring

#define luaL_optstring ( L,
n,
d )
Value:
(luaL_optlstring(L,(n),(d),NULL))

Definition at line 5857 of file minilua.c.

◆ luaL_setn

#define luaL_setn ( L,
i,
j )
Value:
((void)0)

Definition at line 5837 of file minilua.c.

◆ luaL_typename

#define luaL_typename ( L,
i )
Value:
lua_typename(L,lua_type(L,(i)))

Definition at line 5860 of file minilua.c.

◆ luaM_free

#define luaM_free ( L,
b )
Value:
luaM_realloc_(L,(b),sizeof(*(b)),0)

Definition at line 378 of file minilua.c.

◆ luaM_freearray

#define luaM_freearray ( L,
b,
n,
t )
Value:
luaM_reallocv(L,(b),n,0,sizeof(t))
#define luaM_reallocv(L, b, on, n, e)
Definition minilua.c:376

Definition at line 379 of file minilua.c.

◆ luaM_freemem

#define luaM_freemem ( L,
b,
s )
Value:
luaM_realloc_(L,(b),(s),0)

Definition at line 377 of file minilua.c.

◆ luaM_growvector

#define luaM_growvector ( L,
v,
nelems,
size,
t,
limit,
e )
Value:
if((nelems)+1>(size))((v)=cast(t*,luaM_growaux_(L,v,&(size),sizeof(t),limit,e)))

Definition at line 383 of file minilua.c.

◆ luaM_malloc

#define luaM_malloc ( L,
t )
Value:
luaM_realloc_(L,NULL,0,(t))

Definition at line 380 of file minilua.c.

◆ luaM_new

#define luaM_new ( L,
t )
Value:
cast(t*,luaM_malloc(L,sizeof(t)))
#define luaM_malloc(L, t)
Definition minilua.c:380

Definition at line 381 of file minilua.c.

◆ luaM_newvector

#define luaM_newvector ( L,
n,
t )
Value:
cast(t*,luaM_reallocv(L,NULL,0,n,sizeof(t)))

Definition at line 382 of file minilua.c.

◆ luaM_reallocv

#define luaM_reallocv ( L,
b,
on,
n,
e )
Value:
((cast(size_t,(n)+1)<=((size_t)(~(size_t)0)-2)/(e))?luaM_realloc_(L,(b),(on)*(e),(n)*(e)):luaM_toobig(L))

Definition at line 376 of file minilua.c.

◆ luaM_reallocvector

#define luaM_reallocvector ( L,
v,
oldn,
n,
t )
Value:
((v)=cast(t*,luaM_reallocv(L,v,oldn,n,sizeof(t))))

Definition at line 384 of file minilua.c.

◆ luaS_fix

#define luaS_fix ( s)
Value:
l_setbit((s)->tsv.marked,5)

Definition at line 594 of file minilua.c.

◆ luaS_new

#define luaS_new ( L,
s )
Value:
(luaS_newlstr(L,s,strlen(s)))
strlen(string $string)

Definition at line 592 of file minilua.c.

◆ luaS_newliteral

#define luaS_newliteral ( L,
s )
Value:
(luaS_newlstr(L,""s,(sizeof(s)/sizeof(char))-1))

Definition at line 593 of file minilua.c.

◆ luaY_checklimit

#define luaY_checklimit ( fs,
v,
l,
m )
Value:
if((v)>(l))errorlimit(fs,l,m)

Definition at line 3658 of file minilua.c.

◆ luaZ_buffer

#define luaZ_buffer ( buff)
Value:
((buff)->buffer)

Definition at line 400 of file minilua.c.

◆ luaZ_bufflen

#define luaZ_bufflen ( buff)
Value:
((buff)->n)

Definition at line 402 of file minilua.c.

◆ luaZ_freebuffer

#define luaZ_freebuffer ( L,
buff )
Value:
#define luaZ_resizebuffer(L, buff, size)
Definition minilua.c:404

Definition at line 405 of file minilua.c.

◆ luaZ_initbuffer

#define luaZ_initbuffer ( L,
buff )
Value:
((buff)->buffer=NULL,(buff)->buffsize=0)

Definition at line 399 of file minilua.c.

◆ luaZ_resetbuffer

#define luaZ_resetbuffer ( buff)
Value:
((buff)->n=0)

Definition at line 403 of file minilua.c.

◆ luaZ_resizebuffer

#define luaZ_resizebuffer ( L,
buff,
size )
Value:
(luaM_reallocvector(L,(buff)->buffer,(buff)->buffsize,size,char),(buff)->buffsize=size)
#define luaM_reallocvector(L, v, oldn, n, t)
Definition minilua.c:384
Definition file.h:177

Definition at line 404 of file minilua.c.

◆ luaZ_sizebuffer

#define luaZ_sizebuffer ( buff)
Value:
((buff)->buffsize)

Definition at line 401 of file minilua.c.

◆ makewhite

#define makewhite ( g,
x )
Value:
((x)->gch.marked=cast_byte(((x)->gch.marked&cast_byte(~(bitmask(2)|bit2mask(0,1))))|luaC_white(g)))
#define cast_byte(i)
Definition minilua.c:216
#define luaC_white(g)
Definition minilua.c:579

Definition at line 1720 of file minilua.c.

◆ markfinalized

#define markfinalized ( u)
Value:
l_setbit((u)->marked,3)

Definition at line 1725 of file minilua.c.

◆ markobject

#define markobject ( g,
t )
Value:
{if(iswhite(obj2gco(t)))reallymarkobject(g,obj2gco(t));}

Definition at line 1727 of file minilua.c.

◆ markvalue

#define markvalue ( g,
o )
Value:
{checkconsistency(o);if(iscollectable(o)&&iswhite(gcvalue(o)))reallymarkobject(g,gcvalue(o));}
#define checkconsistency(obj)
Definition minilua.c:256

Definition at line 1726 of file minilua.c.

◆ MASK0

#define MASK0 ( n,
p )
Value:

Definition at line 928 of file minilua.c.

◆ MASK1

#define MASK1 ( n,
p )
Value:
((~((~(Instruction)0)<<n))<<p)

Definition at line 927 of file minilua.c.

◆ new_localvarliteral

#define new_localvarliteral ( ls,
v,
n )
Value:
new_localvar(ls,luaX_newstring(ls,""v,(sizeof(v)/sizeof(char))-1),n)

Definition at line 3741 of file minilua.c.

◆ next

#define next ( ls)
Value:
(ls->current=zgetc(ls->z))
#define zgetc(z)
Definition minilua.c:393

Definition at line 2661 of file minilua.c.

◆ ngcotouv

#define ngcotouv ( o)
Value:
check_exp((o)==NULL||(o)->gch.tt==(8+2),&((o)->uv))

Definition at line 508 of file minilua.c.

◆ nvalue

#define nvalue ( o)
Value:

Definition at line 246 of file minilua.c.

◆ obj2gco

#define obj2gco ( v)
Value:

Definition at line 510 of file minilua.c.

◆ opmode

#define opmode ( t,
a,
b,
c,
m )
Value:
(((t)<<7)|((a)<<6)|((b)<<4)|((c)<<2)|(m))

Definition at line 2620 of file minilua.c.

◆ otherwhite

#define otherwhite ( g)
Value:
(g->currentwhite^bit2mask(0,1))

Definition at line 574 of file minilua.c.

◆ pcRel

#define pcRel ( pc,
p )
Value:
(cast(int,(pc)-(p)->code)-1)

Definition at line 512 of file minilua.c.

◆ Protect

#define Protect ( x)
Value:
{L->savedpc=pc;{x;};base=L->base;}

Definition at line 4943 of file minilua.c.

◆ pvalue

#define pvalue ( o)
Value:
#define ttislightuserdata(o)
Definition minilua.c:242

Definition at line 245 of file minilua.c.

◆ RA

#define RA ( i)
Value:
(base+GETARG_A(i))
#define GETARG_A(i)
Definition minilua.c:931

Definition at line 4937 of file minilua.c.

◆ rawgco2ts

#define rawgco2ts ( o)
Value:
check_exp((o)->gch.tt==4,&((o)->ts))

Definition at line 500 of file minilua.c.

◆ rawgco2u

#define rawgco2u ( o)
Value:
check_exp((o)->gch.tt==7,&((o)->u))

Definition at line 502 of file minilua.c.

◆ rawtsvalue

#define rawtsvalue ( o)
Value:
check_exp(ttisstring(o),&(o)->value.gc->ts)
#define ttisstring(o)
Definition minilua.c:236

Definition at line 247 of file minilua.c.

◆ rawuvalue

#define rawuvalue ( o)
Value:
check_exp(ttisuserdata(o),&(o)->value.gc->u)
#define ttisuserdata(o)
Definition minilua.c:240

Definition at line 249 of file minilua.c.

◆ RB

#define RB ( i)
Value:
@ OpArgR
Definition minilua.c:106
#define GETARG_B(i)
Definition minilua.c:933

Definition at line 4938 of file minilua.c.

◆ registry

#define registry ( L)
Value:
(&G(L)->l_registry)

Definition at line 416 of file minilua.c.

◆ reset2bits

#define reset2bits ( x,
b1,
b2 )
Value:
resetbits(x,(bit2mask(b1,b2)))
#define resetbits(x, m)
Definition minilua.c:560

Definition at line 569 of file minilua.c.

◆ resetbit

#define resetbit ( x,
b )
Value:

Definition at line 566 of file minilua.c.

◆ resetbits

#define resetbits ( x,
m )
Value:
((x)&=cast(lu_byte,~(m)))

Definition at line 560 of file minilua.c.

◆ resethookcount

#define resethookcount ( L)
Value:
(L->hookcount=L->basehookcount)

Definition at line 514 of file minilua.c.

◆ restoreci

#define restoreci ( L,
n )
Value:
((CallInfo*)((char*)L->base_ci+(n)))

Definition at line 523 of file minilua.c.

◆ restorestack

#define restorestack ( L,
n )
Value:
((TValue*)((char*)L->stack+(n)))

Definition at line 521 of file minilua.c.

◆ RKASK

#define RKASK ( x)
Value:
((x)|(1<<(9-1)))

Definition at line 945 of file minilua.c.

◆ RKB

#define RKB ( i)
Value:
#define ISK(x)
Definition minilua.c:943
#define INDEXK(r)
Definition minilua.c:944

Definition at line 4939 of file minilua.c.

◆ RKC

#define RKC ( i)
Value:
#define getCMode(m)
Definition minilua.c:948
#define GETARG_C(i)
Definition minilua.c:935

Definition at line 4940 of file minilua.c.

◆ runtime_check

#define runtime_check ( L,
c )
Value:
{if(!(c))break;}

Definition at line 4936 of file minilua.c.

◆ save_and_next

#define save_and_next ( ls)
Value:
(save(ls,ls->current),next(ls))
#define next(ls)
Definition minilua.c:2661

Definition at line 2672 of file minilua.c.

◆ saveci

#define saveci ( L,
p )
Value:
((char*)(p)-(char*)L->base_ci)

Definition at line 522 of file minilua.c.

◆ savestack

#define savestack ( L,
p )
Value:
((char*)(p)-(char*)L->stack)

Definition at line 520 of file minilua.c.

◆ set2bits

#define set2bits ( x,
b1,
b2 )
Value:
setbits(x,(bit2mask(b1,b2)))

Definition at line 568 of file minilua.c.

◆ SET_OPCODE

#define SET_OPCODE ( i,
o )
Value:
((i)=(((i)&MASK0(6,0))|((cast(Instruction,o)<<0)&MASK1(6,0))))
#define MASK0(n, p)
Definition minilua.c:928

Definition at line 930 of file minilua.c.

◆ SETARG_A

#define SETARG_A ( i,
u )
Value:
((i)=(((i)&MASK0(8,(0+6)))|((cast(Instruction,u)<<(0+6))&MASK1(8,(0+6)))))

Definition at line 932 of file minilua.c.

◆ SETARG_B

#define SETARG_B ( i,
b )
Value:
((i)=(((i)&MASK0(9,(((0+6)+8)+9)))|((cast(Instruction,b)<<(((0+6)+8)+9))&MASK1(9,(((0+6)+8)+9)))))

Definition at line 934 of file minilua.c.

◆ SETARG_Bx

#define SETARG_Bx ( i,
b )
Value:
((i)=(((i)&MASK0((9+9),((0+6)+8)))|((cast(Instruction,b)<<((0+6)+8))&MASK1((9+9),((0+6)+8)))))

Definition at line 938 of file minilua.c.

◆ SETARG_C

#define SETARG_C ( i,
b )
Value:
((i)=(((i)&MASK0(9,((0+6)+8)))|((cast(Instruction,b)<<((0+6)+8))&MASK1(9,((0+6)+8)))))

Definition at line 936 of file minilua.c.

◆ SETARG_sBx

#define SETARG_sBx ( i,
b )
Value:
SETARG_Bx((i),cast(unsigned int,(b)+(((1<<(9+9))-1)>>1)))
#define SETARG_Bx(i, b)
Definition minilua.c:938

Definition at line 940 of file minilua.c.

◆ setbits

#define setbits ( x,
m )
Value:
((x)|=(m))

Definition at line 561 of file minilua.c.

◆ setbvalue

#define setbvalue ( obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.b=(x);i_o->tt=1;}
Value value
Definition minilua.c:232
int b
Definition minilua.c:229

Definition at line 260 of file minilua.c.

◆ setclvalue

#define setclvalue ( L,
obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.gc=cast(GCObject*,(x));i_o->tt=6;checkliveness(G(L),i_o);}
#define checkliveness(g, obj)
Definition minilua.c:257
GCObject * gc
Definition minilua.c:226

Definition at line 264 of file minilua.c.

◆ sethvalue

#define sethvalue ( L,
obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.gc=cast(GCObject*,(x));i_o->tt=5;checkliveness(G(L),i_o);}

Definition at line 265 of file minilua.c.

◆ setnilvalue

#define setnilvalue ( obj)
Value:
((obj)->tt=0)

Definition at line 258 of file minilua.c.

◆ setnvalue

#define setnvalue ( obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.n=(x);i_o->tt=3;}
lua_Number n
Definition minilua.c:228

Definition at line 259 of file minilua.c.

◆ setobj

#define setobj ( L,
obj1,
obj2 )
Value:
{const TValue*o2=(obj2);TValue*o1=(obj1);o1->value=o2->value;o1->tt=o2->tt;checkliveness(G(L),o1);}

Definition at line 267 of file minilua.c.

◆ setptvalue

#define setptvalue ( L,
obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.gc=cast(GCObject*,(x));i_o->tt=(8+1);checkliveness(G(L),i_o);}

Definition at line 266 of file minilua.c.

◆ setsvalue

#define setsvalue ( L,
obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.gc=cast(GCObject*,(x));i_o->tt=4;checkliveness(G(L),i_o);}

Definition at line 261 of file minilua.c.

◆ setthreshold

#define setthreshold ( g)
Value:
(g->GCthreshold=(g->estimate/100)*g->gcpause)

Definition at line 1728 of file minilua.c.

◆ setthvalue

#define setthvalue ( L,
obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.gc=cast(GCObject*,(x));i_o->tt=8;checkliveness(G(L),i_o);}

Definition at line 263 of file minilua.c.

◆ setttype

#define setttype ( obj,
tt )
Value:
(ttype(obj)=(tt))

Definition at line 268 of file minilua.c.

◆ setuvalue

#define setuvalue ( L,
obj,
x )
Value:
{TValue*i_o=(obj);i_o->value.gc=cast(GCObject*,(x));i_o->tt=7;checkliveness(G(L),i_o);}

Definition at line 262 of file minilua.c.

◆ sizeCclosure

#define sizeCclosure ( n)
Value:
(cast(int,sizeof(CClosure))+cast(int,sizeof(TValue)*((n)-1)))

Definition at line 813 of file minilua.c.

◆ sizeLclosure

#define sizeLclosure ( n)
Value:
(cast(int,sizeof(LClosure))+cast(int,sizeof(TValue*)*((n)-1)))

Definition at line 814 of file minilua.c.

◆ sizenode

#define sizenode ( t)
Value:
(twoto((t)->lsizenode))
#define twoto(x)
Definition minilua.c:368

Definition at line 369 of file minilua.c.

◆ sizestring

#define sizestring ( s)
Value:
(sizeof(union TString)+((s)->len+1)*sizeof(char))
size_t len
Definition apprentice.c:174

Definition at line 590 of file minilua.c.

◆ sizeudata

#define sizeudata ( u)
Value:
(sizeof(union Udata)+(u)->len)

Definition at line 591 of file minilua.c.

◆ state_size

#define state_size ( x)
Value:
(sizeof(x)+0)

Definition at line 2257 of file minilua.c.

◆ stringmark

#define stringmark ( s)
Value:
reset2bits((s)->tsv.marked,0,1)
#define reset2bits(x, b1, b2)
Definition minilua.c:569

Definition at line 1723 of file minilua.c.

◆ svalue

#define svalue ( o)
Value:
#define rawtsvalue(o)
Definition minilua.c:247
#define getstr(ts)
Definition minilua.c:280

Definition at line 281 of file minilua.c.

◆ sweepwholelist

#define sweepwholelist ( L,
p )
Value:
sweeplist(L,p,((lu_mem)(~(lu_mem)0)-2))

Definition at line 2011 of file minilua.c.

◆ test2bits

#define test2bits ( x,
b1,
b2 )
Value:
testbits(x,(bit2mask(b1,b2)))
#define testbits(x, m)
Definition minilua.c:562

Definition at line 570 of file minilua.c.

◆ testbit

#define testbit ( x,
b )
Value:

Definition at line 567 of file minilua.c.

◆ testbits

#define testbits ( x,
m )
Value:
((x)&(m))

Definition at line 562 of file minilua.c.

◆ testTMode

#define testTMode ( m)
Value:
(luaP_opmodes[m]&(1<<7))

Definition at line 949 of file minilua.c.

◆ thvalue

#define thvalue ( o)
Value:
check_exp(ttisthread(o),&(o)->value.gc->th)
#define ttisthread(o)
Definition minilua.c:241

Definition at line 254 of file minilua.c.

◆ tofilep

#define tofilep ( L)
Value:
((FILE**)luaL_checkudata(L,1,"FILE*"))

Definition at line 6635 of file minilua.c.

◆ tonumber

#define tonumber ( o,
n )
Value:
(ttype(o)==3||(((o)=luaV_tonumber(o,n))!=NULL))

Definition at line 597 of file minilua.c.

◆ tostate

#define tostate ( l)
Value:

Definition at line 2259 of file minilua.c.

◆ tostring

#define tostring ( L,
o )
Value:
((ttype(o)==4)||(luaV_tostring(L,o)))

Definition at line 596 of file minilua.c.

◆ tsvalue

#define tsvalue ( o)
Value:
(&rawtsvalue(o)->tsv)

Definition at line 248 of file minilua.c.

◆ ttisboolean

#define ttisboolean ( o)
Value:
(ttype(o)==1)

Definition at line 239 of file minilua.c.

◆ ttisfunction

#define ttisfunction ( o)
Value:
(ttype(o)==6)

Definition at line 238 of file minilua.c.

◆ ttislightuserdata

#define ttislightuserdata ( o)
Value:
(ttype(o)==2)

Definition at line 242 of file minilua.c.

◆ ttisnil

#define ttisnil ( o)
Value:
(ttype(o)==0)

Definition at line 234 of file minilua.c.

◆ ttisnumber

#define ttisnumber ( o)
Value:
(ttype(o)==3)

Definition at line 235 of file minilua.c.

◆ ttisstring

#define ttisstring ( o)
Value:
(ttype(o)==4)

Definition at line 236 of file minilua.c.

◆ ttistable

#define ttistable ( o)
Value:
(ttype(o)==5)

Definition at line 237 of file minilua.c.

◆ ttisthread

#define ttisthread ( o)
Value:
(ttype(o)==8)

Definition at line 241 of file minilua.c.

◆ ttisuserdata

#define ttisuserdata ( o)
Value:
(ttype(o)==7)

Definition at line 240 of file minilua.c.

◆ ttype

#define ttype ( o)
Value:
((o)->tt)

Definition at line 243 of file minilua.c.

◆ twoto

#define twoto ( x)
Value:
((size_t)1<<(x))

Definition at line 368 of file minilua.c.

◆ uchar

#define uchar ( c)
Value:
((unsigned char)(c))

Definition at line 7003 of file minilua.c.

◆ UNUSED

#define UNUSED ( x)
Value:
((void)(x))

Definition at line 214 of file minilua.c.

◆ uvalue

#define uvalue ( o)
Value:
(&rawuvalue(o)->uv)
#define rawuvalue(o)
Definition minilua.c:249

Definition at line 250 of file minilua.c.

◆ valiswhite

#define valiswhite ( x)
Value:

Definition at line 578 of file minilua.c.

◆ white2gray

#define white2gray ( x)
Value:
reset2bits((x)->gch.marked,0,1)

Definition at line 1721 of file minilua.c.

◆ zgetc

#define zgetc ( z)
Value:
(((z)->n--)>0?char2int(*(z)->p++):luaZ_fill(z))
#define char2int(c)
Definition minilua.c:392

Definition at line 393 of file minilua.c.

Typedef Documentation

◆ BinOpr

typedef enum BinOpr BinOpr

◆ BlockCnt

typedef struct BlockCnt BlockCnt

◆ CallInfo

typedef struct CallInfo CallInfo

◆ CClosure

typedef struct CClosure CClosure

◆ Closure

typedef union Closure Closure

◆ expdesc

typedef struct expdesc expdesc

◆ FuncState

typedef struct FuncState FuncState

◆ GCheader

typedef struct GCheader GCheader

◆ GCObject

typedef union GCObject GCObject

Definition at line 221 of file minilua.c.

◆ global_State

typedef struct global_State global_State

◆ Instruction

Definition at line 219 of file minilua.c.

◆ l_mem

typedef ptrdiff_t l_mem

Definition at line 208 of file minilua.c.

◆ l_uacNumber

typedef double l_uacNumber

Definition at line 212 of file minilua.c.

◆ LClosure

typedef struct LClosure LClosure

◆ LexState

typedef struct LexState LexState

◆ LG

typedef struct LG LG

◆ LoadF

typedef struct LoadF LoadF

◆ LoadS

typedef struct LoadS LoadS

◆ LocVar

typedef struct LocVar LocVar

◆ lu_byte

typedef unsigned char lu_byte

Definition at line 209 of file minilua.c.

◆ lu_int32

typedef unsigned int lu_int32

Definition at line 206 of file minilua.c.

◆ lu_mem

typedef size_t lu_mem

Definition at line 207 of file minilua.c.

◆ lua_Alloc

typedef void *(* lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize)

Definition at line 167 of file minilua.c.

◆ lua_CFunction

typedef int(* lua_CFunction) (lua_State *L)

Definition at line 165 of file minilua.c.

◆ lua_Debug

typedef struct lua_Debug lua_Debug

Definition at line 191 of file minilua.c.

◆ lua_Hook

typedef void(* lua_Hook) (lua_State *L, lua_Debug *ar)

Definition at line 192 of file minilua.c.

◆ lua_Integer

Definition at line 169 of file minilua.c.

◆ lua_Number

typedef double lua_Number

Definition at line 168 of file minilua.c.

◆ lua_Reader

typedef const char *(* lua_Reader) (lua_State *L, void *ud, size_t *sz)

Definition at line 166 of file minilua.c.

◆ lua_State

typedef struct lua_State lua_State

Definition at line 164 of file minilua.c.

◆ luaL_Buffer

typedef struct luaL_Buffer luaL_Buffer

◆ luaL_Reg

typedef struct luaL_Reg luaL_Reg

◆ MatchState

typedef struct MatchState MatchState

◆ Mbuffer

typedef struct Mbuffer Mbuffer

◆ Node

typedef struct Node Node

◆ Pfunc

typedef void(* Pfunc) (lua_State *L, void *ud)

Definition at line 524 of file minilua.c.

◆ Proto

typedef struct Proto Proto

◆ StkId

typedef TValue* StkId

Definition at line 270 of file minilua.c.

◆ stringtable

typedef struct stringtable stringtable

◆ Table

typedef struct Table Table

◆ TKey

typedef union TKey TKey

◆ Token

typedef struct Token Token

◆ TString

typedef union TString TString

◆ TValue

typedef struct lua_TValue TValue

◆ U64

typedef unsigned long long U64

Definition at line 28 of file minilua.c.

◆ UB

typedef unsigned int UB

Definition at line 7698 of file minilua.c.

◆ Udata

typedef union Udata Udata

◆ UnOpr

typedef enum UnOpr UnOpr

◆ UpVal

typedef struct UpVal UpVal

◆ upvaldesc

typedef struct upvaldesc upvaldesc

◆ ZIO

typedef struct Zio ZIO

Definition at line 391 of file minilua.c.

Enumeration Type Documentation

◆ BinOpr

enum BinOpr
Enumerator
OPR_ADD 
OPR_SUB 
OPR_MUL 
OPR_DIV 
OPR_MOD 
OPR_POW 
OPR_CONCAT 
OPR_NE 
OPR_EQ 
OPR_LT 
OPR_LE 
OPR_GT 
OPR_GE 
OPR_AND 
OPR_OR 
OPR_NOBINOPR 

Definition at line 134 of file minilua.c.

◆ expkind

enum expkind
Enumerator
VVOID 
VNIL 
VTRUE 
VFALSE 
VK 
VKNUM 
VLOCAL 
VUPVAL 
VGLOBAL 
VINDEXED 
VJMP 
VRELOCABLE 
VNONRELOC 
VCALL 
VVARARG 

Definition at line 109 of file minilua.c.

◆ OpArgMask

enum OpArgMask
Enumerator
OpArgN 
OpArgU 
OpArgR 
OpArgK 

Definition at line 103 of file minilua.c.

◆ OpCode

enum OpCode
Enumerator
OP_MOVE 
OP_LOADK 
OP_LOADBOOL 
OP_LOADNIL 
OP_GETUPVAL 
OP_GETGLOBAL 
OP_GETTABLE 
OP_SETGLOBAL 
OP_SETUPVAL 
OP_SETTABLE 
OP_NEWTABLE 
OP_SELF 
OP_ADD 
OP_SUB 
OP_MUL 
OP_DIV 
OP_MOD 
OP_POW 
OP_UNM 
OP_NOT 
OP_LEN 
OP_CONCAT 
OP_JMP 
OP_EQ 
OP_LT 
OP_LE 
OP_TEST 
OP_TESTSET 
OP_CALL 
OP_TAILCALL 
OP_RETURN 
OP_FORLOOP 
OP_FORPREP 
OP_TFORLOOP 
OP_SETLIST 
OP_CLOSE 
OP_CLOSURE 
OP_VARARG 

Definition at line 63 of file minilua.c.

◆ OpMode

enum OpMode
Enumerator
iABC 
iABx 
iAsBx 

Definition at line 62 of file minilua.c.

◆ RESERVED

enum RESERVED
Enumerator
TK_AND 
TK_BREAK 
TK_DO 
TK_ELSE 
TK_ELSEIF 
TK_END 
TK_FALSE 
TK_FOR 
TK_FUNCTION 
TK_IF 
TK_IN 
TK_LOCAL 
TK_NIL 
TK_NOT 
TK_OR 
TK_REPEAT 
TK_RETURN 
TK_THEN 
TK_TRUE 
TK_UNTIL 
TK_WHILE 
TK_CONCAT 
TK_DOTS 
TK_EQ 
TK_GE 
TK_LE 
TK_NE 
TK_NUMBER 
TK_NAME 
TK_STRING 
TK_EOS 

Definition at line 126 of file minilua.c.

◆ TMS

enum TMS
Enumerator
TM_INDEX 
TM_NEWINDEX 
TM_GC 
TM_MODE 
TM_EQ 
TM_ADD 
TM_SUB 
TM_MUL 
TM_DIV 
TM_MOD 
TM_POW 
TM_UNM 
TM_LEN 
TM_LT 
TM_LE 
TM_CONCAT 
TM_CALL 
TM_N 

Definition at line 42 of file minilua.c.

◆ UnOpr

enum UnOpr
Enumerator
OPR_MINUS 
OPR_NOT 
OPR_LEN 
OPR_NOUNOPR 

Definition at line 142 of file minilua.c.

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 7755 of file minilua.c.

Variable Documentation

◆ _CRT_glob

int _CRT_glob = 0

Definition at line 30 of file minilua.c.

◆ left

lu_byte left

Definition at line 4266 of file minilua.c.

◆ right

lu_byte right

Definition at line 4267 of file minilua.c.