rpm
4.5
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
lua
lcode.h
Go to the documentation of this file.
1
/*
2
** $Id: lcode.h,v 1.1 2004/03/16 21:58:30 niemeyer Exp $
3
** Code generator for Lua
4
** See Copyright Notice in lua.h
5
*/
6
7
#ifndef lcode_h
8
#define lcode_h
9
10
#include "
llex.h
"
11
#include "
lobject.h
"
12
#include "
lopcodes.h
"
13
#include "
lparser.h
"
14
15
16
/*
17
** Marks the end of a patch list. It is an invalid value both as an absolute
18
** address, and as a list link (would link an element to itself).
19
*/
20
#define NO_JUMP (-1)
21
22
23
/*
24
** grep "ORDER OPR" if you change these enums
25
*/
26
typedef
enum
BinOpr
{
27
OPR_ADD
,
OPR_SUB
,
OPR_MULT
,
OPR_DIV
,
OPR_POW
,
28
OPR_CONCAT
,
29
OPR_NE
,
OPR_EQ
,
30
OPR_LT
,
OPR_LE
,
OPR_GT
,
OPR_GE
,
31
OPR_AND
,
OPR_OR
,
32
OPR_NOBINOPR
33
}
BinOpr
;
34
35
#define binopistest(op) ((op) >= OPR_NE)
36
37
typedef
enum
UnOpr
{
OPR_MINUS
,
OPR_NOT
,
OPR_NOUNOPR
}
UnOpr
;
38
39
40
#define getcode(fs,e) ((fs)->f->code[(e)->info])
41
42
#define luaK_codeAsBx(fs,o,A,sBx) luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx)
43
44
int
luaK_code
(
FuncState
*fs,
Instruction
i,
int
line)
45
/*@modifies fs @*/
;
46
int
luaK_codeABx
(
FuncState
*fs,
OpCode
o,
int
A,
unsigned
int
Bx)
47
/*@modifies fs @*/
;
48
int
luaK_codeABC
(
FuncState
*fs,
OpCode
o,
int
A,
int
B,
int
C)
49
/*@modifies fs @*/
;
50
void
luaK_fixline
(
FuncState
*fs,
int
line)
51
/*@modifies fs @*/
;
52
void
luaK_nil
(
FuncState
*fs,
int
from,
int
n)
53
/*@modifies fs @*/
;
54
void
luaK_reserveregs
(
FuncState
*fs,
int
n)
55
/*@modifies fs @*/
;
56
void
luaK_checkstack
(
FuncState
*fs,
int
n)
57
/*@modifies fs @*/
;
58
int
luaK_stringK
(
FuncState
*fs,
TString
*s)
59
/*@modifies fs @*/
;
60
int
luaK_numberK
(
FuncState
*fs, lua_Number r)
61
/*@modifies fs @*/
;
62
void
luaK_dischargevars
(
FuncState
*fs,
expdesc
*e)
63
/*@modifies fs, e @*/
;
64
int
luaK_exp2anyreg
(
FuncState
*fs,
expdesc
*e)
65
/*@modifies fs, e @*/
;
66
void
luaK_exp2nextreg
(
FuncState
*fs,
expdesc
*e)
67
/*@modifies fs, e @*/
;
68
void
luaK_exp2val
(
FuncState
*fs,
expdesc
*e)
69
/*@modifies fs, e @*/
;
70
int
luaK_exp2RK
(
FuncState
*fs,
expdesc
*e)
71
/*@modifies fs, e @*/
;
72
void
luaK_self
(
FuncState
*fs,
expdesc
*e,
expdesc
*key)
73
/*@modifies fs, e, key @*/
;
74
void
luaK_indexed
(
FuncState
*fs,
expdesc
*t,
expdesc
*k)
75
/*@modifies fs, t, k @*/
;
76
void
luaK_goiftrue
(
FuncState
*fs,
expdesc
*e)
77
/*@modifies fs, e @*/
;
78
void
luaK_goiffalse
(
FuncState
*fs,
expdesc
*e)
79
/*@modifies fs, e @*/
;
80
void
luaK_storevar
(
FuncState
*fs,
expdesc
*var,
expdesc
*e)
81
/*@modifies fs, e @*/
;
82
void
luaK_setcallreturns
(
FuncState
*fs,
expdesc
*var,
int
nresults)
83
/*@modifies fs, var @*/
;
84
int
luaK_jump
(
FuncState
*fs)
85
/*@modifies fs @*/
;
86
void
luaK_patchlist
(
FuncState
*fs,
int
list,
int
target)
87
/*@modifies fs @*/
;
88
void
luaK_patchtohere
(
FuncState
*fs,
int
list)
89
/*@modifies fs @*/
;
90
void
luaK_concat
(
FuncState
*fs,
int
*l1,
int
l2)
91
/*@modifies fs, *l1 @*/
;
92
int
luaK_getlabel
(
FuncState
*fs)
93
/*@modifies fs @*/
;
94
void
luaK_prefix
(
FuncState
*fs,
UnOpr
op,
expdesc
*v)
95
/*@modifies fs, v @*/
;
96
void
luaK_infix
(
FuncState
*fs,
BinOpr
op,
expdesc
*v)
97
/*@modifies fs, v @*/
;
98
void
luaK_posfix
(
FuncState
*fs,
BinOpr
op,
expdesc
*v1,
expdesc
*v2)
99
/*@modifies fs, v1, v2 @*/
;
100
101
102
#endif
Generated on Mon Oct 27 2014 16:03:32 for rpm by
1.8.3.1