misc/liblua/lcode.h
author nemo
Tue, 21 Aug 2018 15:11:28 -0400
branch0.9.24
changeset 13682 f60b3998ba56
parent 10017 de822cd3df3a
permissions -rw-r--r--
only-stats should never create visual gears. and lua should never rely on visual gears being created. critical is just to help ensure ones important to gameplay don't get lost in fast-forward
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     1
/*
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     2
** $Id: lcode.h,v 1.48.1.1 2007/12/27 13:02:25 roberto Exp $
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     3
** Code generator for Lua
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     4
** See Copyright Notice in lua.h
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     5
*/
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     6
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     7
#ifndef lcode_h
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     8
#define lcode_h
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
     9
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    10
#include "llex.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    11
#include "lobject.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    12
#include "lopcodes.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    13
#include "lparser.h"
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    14
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    15
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    16
/*
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    17
** Marks the end of a patch list. It is an invalid value both as an absolute
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    18
** address, and as a list link (would link an element to itself).
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    19
*/
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    20
#define NO_JUMP (-1)
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    21
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    22
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    23
/*
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    24
** grep "ORDER OPR" if you change these enums
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    25
*/
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    26
typedef enum BinOpr {
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    27
  OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    28
  OPR_CONCAT,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    29
  OPR_NE, OPR_EQ,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    30
  OPR_LT, OPR_LE, OPR_GT, OPR_GE,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    31
  OPR_AND, OPR_OR,
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    32
  OPR_NOBINOPR
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    33
} BinOpr;
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    34
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    35
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    36
typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    37
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    38
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 2812
diff changeset
    39
#define getcode(fs,e)   ((fs)->f->code[(e)->u.s.info])
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    40
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 2812
diff changeset
    41
#define luaK_codeAsBx(fs,o,A,sBx)   luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx)
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    42
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 2812
diff changeset
    43
#define luaK_setmultret(fs,e)   luaK_setreturns(fs, e, LUA_MULTRET)
2812
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    44
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    45
LUAI_FUNC int luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    46
LUAI_FUNC int luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    47
LUAI_FUNC void luaK_fixline (FuncState *fs, int line);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    48
LUAI_FUNC void luaK_nil (FuncState *fs, int from, int n);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    49
LUAI_FUNC void luaK_reserveregs (FuncState *fs, int n);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    50
LUAI_FUNC void luaK_checkstack (FuncState *fs, int n);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    51
LUAI_FUNC int luaK_stringK (FuncState *fs, TString *s);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    52
LUAI_FUNC int luaK_numberK (FuncState *fs, lua_Number r);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    53
LUAI_FUNC void luaK_dischargevars (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    54
LUAI_FUNC int luaK_exp2anyreg (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    55
LUAI_FUNC void luaK_exp2nextreg (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    56
LUAI_FUNC void luaK_exp2val (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    57
LUAI_FUNC int luaK_exp2RK (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    58
LUAI_FUNC void luaK_self (FuncState *fs, expdesc *e, expdesc *key);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    59
LUAI_FUNC void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    60
LUAI_FUNC void luaK_goiftrue (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    61
LUAI_FUNC void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    62
LUAI_FUNC void luaK_setreturns (FuncState *fs, expdesc *e, int nresults);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    63
LUAI_FUNC void luaK_setoneret (FuncState *fs, expdesc *e);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    64
LUAI_FUNC int luaK_jump (FuncState *fs);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    65
LUAI_FUNC void luaK_ret (FuncState *fs, int first, int nret);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    66
LUAI_FUNC void luaK_patchlist (FuncState *fs, int list, int target);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    67
LUAI_FUNC void luaK_patchtohere (FuncState *fs, int list);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    68
LUAI_FUNC void luaK_concat (FuncState *fs, int *l1, int l2);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    69
LUAI_FUNC int luaK_getlabel (FuncState *fs);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    70
LUAI_FUNC void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    71
LUAI_FUNC void luaK_infix (FuncState *fs, BinOpr op, expdesc *v);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    72
LUAI_FUNC void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    73
LUAI_FUNC void luaK_setlist (FuncState *fs, int base, int nelems, int tostore);
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    74
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    75
0a24853de796 add liblua to sources for macosx
koda
parents:
diff changeset
    76
#endif