16#define CONST_INT_NODE 1
17#define CONST_FLOAT_NODE 2
18#define CONST_PTR_NODE 3
21#define READ_PARAM_NODE 6
36#define OPR_FUNC_INTRO 12
37#define OPR_FUNC_OUTRO 13
39#define OPR_EXT_CALL 15
44#define OPR_CALL_EXPR 20
45#define OPR_AFFECT_LIST 21
47#define OPR_VAR_LIST 23
216#define FIRST_RESERVED 0x80000
218#define TYPE_INTEGER 0x90001
219#define TYPE_FLOAT 0x90002
220#define TYPE_VAR 0x90003
221#define TYPE_PTR 0x90004
222#define TYPE_LABEL 0x90005
224#define TYPE_OP_EQUAL 6
225#define TYPE_IVAR 0xa0001
226#define TYPE_FVAR 0xa0002
227#define TYPE_PVAR 0xa0003
228#define TYPE_SVAR 0xa0004
231#define INSTR_JZERO 29
234#define INSTR_EXT_CALL 38
235#define INSTR_JNZERO 40
237#define INSTR_SET 0x80001
238#define INSTR_INT 0x80002
239#define INSTR_FLOAT 0x80003
240#define INSTR_PTR 0x80004
241#define INSTR_LABEL 0x80005
242#define INSTR_ISLOWER 0x80006
243#define INSTR_ADD 0x80007
244#define INSTR_MUL 0x80008
245#define INSTR_DIV 0x80009
246#define INSTR_SUB 0x80010
247#define INSTR_ISEQUAL 0x80011
248#define INSTR_NOT 0x80012
void(* GoomSL_ExternalFunction)(GoomSL *gsl, GoomHash *global_vars, GoomHash *local_vars)
Definition goomsl.h:7
void gsl_declare_external_task(const char *name)
Definition goomsl.c:858
struct _INSTRUCTION Instruction
Instruction * gsl_instr_init(GoomSL *parent, const char *name, int id, int nb_param, int line_number)
Definition goomsl.c:175
void gsl_declare_task(const char *name)
Definition goomsl.c:844
struct _INSTRUCTION_FLOW InstructionFlow
void gsl_instr_add_param(Instruction *_this, const char *param, int type)
Definition goomsl.c:141
struct _NODE_TYPE NodeType
int gsl_type_of_var(GoomHash *namespace, const char *name)
Definition goomsl_yacc.c:358
struct _ExternalFunctionStruct ExternalFunctionStruct
struct _FastInstructionFlow FastInstructionFlow
GoomHash * gsl_leavenamespace(void)
Definition goomsl.c:828
void gsl_instr_set_namespace(Instruction *_this, GoomHash *ns)
Definition goomsl.c:132
void gsl_commit_compilation(void)
Definition goomsl_yacc.c:1150
struct _INSTRUCTION_DATA InstructionData
struct _ConstFloatNodeType ConstFloatNodeType
struct _GSL_Struct GSL_Struct
struct _GSL_StructField GSL_StructField
void gsl_reenternamespace(GoomHash *ns)
Definition goomsl.c:823
struct _ConstIntNodeType ConstIntNodeType
GoomSL * currentGoomSL
Definition goomsl_lex.c:635
GoomHash * gsl_find_namespace(const char *name)
Definition goomsl.c:834
void gsl_enternamespace(const char *name)
Definition goomsl.c:809
struct _FAST_INSTRUCTION FastInstruction
struct _ConstPtrNodeType ConstPtrNodeType
struct _OprNodeType OprNodeType
Definition goomsl_hash.h:20
Definition goomsl_private.h:147
int data
Definition goomsl_private.h:148
int size
Definition goomsl_private.h:149
Definition goomsl_private.h:54
float val
Definition goomsl_private.h:55
Definition goomsl_private.h:51
int val
Definition goomsl_private.h:52
Definition goomsl_private.h:57
int id
Definition goomsl_private.h:58
Definition goomsl_private.h:141
int is_extern
Definition goomsl_private.h:144
GoomSL_ExternalFunction function
Definition goomsl_private.h:142
GoomHash * vars
Definition goomsl_private.h:143
Definition goomsl_private.h:129
Instruction * proto
Definition goomsl_private.h:132
InstructionData data
Definition goomsl_private.h:131
int id
Definition goomsl_private.h:130
Definition goomsl_private.h:135
void * mallocedInstr
Definition goomsl_private.h:138
FastInstruction * instr
Definition goomsl_private.h:137
int number
Definition goomsl_private.h:136
Definition goomsl_heap.c:10
Definition goomsl_private.h:151
int offsetInStruct
Definition goomsl_private.h:154
int type
Definition goomsl_private.h:152
char name[256]
Definition goomsl_private.h:153
Definition goomsl_private.h:157
GSL_StructField * fields[64]
Definition goomsl_private.h:159
Block iBlock[64]
Definition goomsl_private.h:161
int nbFields
Definition goomsl_private.h:158
Block fBlock[64]
Definition goomsl_private.h:162
int size
Definition goomsl_private.h:160
Definition goomsl_private.h:165
int nbPtr
Definition goomsl_private.h:185
InstructionFlow * iflow
Definition goomsl_private.h:169
int ptrArraySize
Definition goomsl_private.h:186
GoomHash * namespaces[16]
Definition goomsl_private.h:174
GSL_Struct ** gsl_struct
Definition goomsl_private.h:182
int num_lines
Definition goomsl_private.h:166
GoomHash * functions
Definition goomsl_private.h:176
GoomHeap * data_heap
Definition goomsl_private.h:178
FastInstructionFlow * fastiflow
Definition goomsl_private.h:170
int nbStructID
Definition goomsl_private.h:180
GoomHash * vars
Definition goomsl_private.h:172
int currentNS
Definition goomsl_private.h:173
GoomHash * structIDS
Definition goomsl_private.h:181
Instruction * instr
Definition goomsl_private.h:167
int gsl_struct_size
Definition goomsl_private.h:183
int compilationOK
Definition goomsl_private.h:189
void ** ptrArray
Definition goomsl_private.h:187
Definition goomsl_private.h:78
int value_int
Definition goomsl_private.h:94
void * var
Definition goomsl_private.h:81
float value_float
Definition goomsl_private.h:96
float * var_float
Definition goomsl_private.h:84
int value_ptr
Definition goomsl_private.h:95
struct _ExternalFunctionStruct * external_function
Definition goomsl_private.h:86
union _INSTRUCTION_DATA::@53 usrc
int jump_offset
Definition goomsl_private.h:85
int * var_ptr
Definition goomsl_private.h:83
int * var_int
Definition goomsl_private.h:82
union _INSTRUCTION_DATA::@52 udest
Definition goomsl_private.h:121
Instruction ** instr
Definition goomsl_private.h:123
GoomHash * labels
Definition goomsl_private.h:126
int number
Definition goomsl_private.h:124
int tabsize
Definition goomsl_private.h:125
Definition goomsl_private.h:100
char * nop_label
Definition goomsl_private.h:115
GoomSL * parent
Definition goomsl_private.h:104
const char * name
Definition goomsl_private.h:105
GoomHash ** vnamespace
Definition goomsl_private.h:108
int line_number
Definition goomsl_private.h:117
int nb_param
Definition goomsl_private.h:111
int id
Definition goomsl_private.h:102
char ** params
Definition goomsl_private.h:107
InstructionData data
Definition goomsl_private.h:103
char * jump_label
Definition goomsl_private.h:114
int * types
Definition goomsl_private.h:109
int address
Definition goomsl_private.h:113
int cur_param
Definition goomsl_private.h:110
Definition goomsl_private.h:66
union _NODE_TYPE::@51 unode
OprNodeType opr
Definition goomsl_private.h:75
GoomHash * vnamespace
Definition goomsl_private.h:69
int type
Definition goomsl_private.h:67
ConstIntNodeType constInt
Definition goomsl_private.h:72
int line_number
Definition goomsl_private.h:70
char * str
Definition goomsl_private.h:68
ConstFloatNodeType constFloat
Definition goomsl_private.h:73
ConstPtrNodeType constPtr
Definition goomsl_private.h:74
Definition goomsl_private.h:60
struct _NODE_TYPE * next
Definition goomsl_private.h:64
struct _NODE_TYPE * op[3]
Definition goomsl_private.h:63
int type
Definition goomsl_private.h:61
int nbOp
Definition goomsl_private.h:62
const char * name
Definition xine.c:1575
_xine_arg_type_t type
Definition xine.c:1574