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 40 #define OPR_PLUS_EQ 16 44 #define OPR_CALL_EXPR 20 45 #define OPR_AFFECT_LIST 21 46 #define OPR_FOREACH 22 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 232 #define INSTR_CALL 36 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 InstructionFlow * iflow
Definition: goomsl_private.h:169
Definition: goomsl_private.h:100
struct _ExternalFunctionStruct ExternalFunctionStruct
GoomHash * functions
Definition: goomsl_private.h:176
GoomHash * vnamespace
Definition: goomsl_private.h:69
int value_ptr
Definition: goomsl_private.h:95
struct _NODE_TYPE * next
Definition: goomsl_private.h:64
struct _ConstPtrNodeType ConstPtrNodeType
FastInstructionFlow * fastiflow
Definition: goomsl_private.h:170
void gsl_instr_set_namespace(Instruction *_this, GoomHash *ns)
Definition: goomsl.c:132
int gsl_type_of_var(GoomHash *namespace, const char *name)
Definition: goomsl_yacc.c:358
int type
Definition: goomsl_private.h:152
int * var_ptr
Definition: goomsl_private.h:83
void gsl_declare_task(const char *name)
Definition: goomsl.c:844
int jump_offset
Definition: goomsl_private.h:85
GoomHash * gsl_find_namespace(const char *name)
Definition: goomsl.c:834
void gsl_enternamespace(const char *name)
Definition: goomsl.c:809
ConstPtrNodeType constPtr
Definition: goomsl_private.h:74
Definition: goomsl_private.h:121
int value_int
Definition: goomsl_private.h:94
int ptrArraySize
Definition: goomsl_private.h:186
Definition: goomsl_private.h:54
struct _ConstFloatNodeType ConstFloatNodeType
int is_extern
Definition: goomsl_private.h:144
FastInstruction * instr
Definition: goomsl_private.h:137
int type
Definition: goomsl_private.h:67
union _NODE_TYPE::@35 unode
Definition: goomsl_private.h:129
struct _NODE_TYPE * op[3]
Definition: goomsl_private.h:63
void(* GoomSL_ExternalFunction)(GoomSL *gsl, GoomHash *global_vars, GoomHash *local_vars)
Definition: goomsl.h:7
Definition: goomsl_private.h:151
int num_lines
Definition: goomsl_private.h:166
Instruction * proto
Definition: goomsl_private.h:132
struct _ConstIntNodeType ConstIntNodeType
Definition: goomsl_private.h:157
int * types
Definition: goomsl_private.h:109
GoomHash * structIDS
Definition: goomsl_private.h:181
struct _FastInstructionFlow FastInstructionFlow
GoomHash ** vnamespace
Definition: goomsl_private.h:108
int * var_int
Definition: goomsl_private.h:82
float * var_float
Definition: goomsl_private.h:84
void gsl_commit_compilation(void)
Definition: goomsl_yacc.c:1150
struct _INSTRUCTION Instruction
char * str
Definition: goomsl_private.h:68
struct _NODE_TYPE NodeType
Definition: goomsl_private.h:57
void * var
Definition: goomsl_private.h:81
int id
Definition: goomsl_private.h:58
GoomHash * namespaces[16]
Definition: goomsl_private.h:174
ConstFloatNodeType constFloat
Definition: goomsl_private.h:73
Instruction * instr
Definition: goomsl_private.h:167
int number
Definition: goomsl_private.h:124
GoomHash * vars
Definition: goomsl_private.h:143
InstructionData data
Definition: goomsl_private.h:131
Definition: goomsl_private.h:78
Block fBlock[64]
Definition: goomsl_private.h:162
struct _GSL_Struct GSL_Struct
int val
Definition: goomsl_private.h:52
OprNodeType opr
Definition: goomsl_private.h:75
Instruction ** instr
Definition: goomsl_private.h:123
union _INSTRUCTION_DATA::@36 udest
int cur_param
Definition: goomsl_private.h:110
Definition: goomsl_private.h:135
Definition: goomsl_private.h:141
int offsetInStruct
Definition: goomsl_private.h:154
struct _FAST_INSTRUCTION FastInstruction
int tabsize
Definition: goomsl_private.h:125
Block iBlock[64]
Definition: goomsl_private.h:161
int nbPtr
Definition: goomsl_private.h:185
struct _ExternalFunctionStruct * external_function
Definition: goomsl_private.h:86
void gsl_declare_external_task(const char *name)
Definition: goomsl.c:858
char name[256]
Definition: goomsl_private.h:153
int nbStructID
Definition: goomsl_private.h:180
int data
Definition: goomsl_private.h:148
struct _OprNodeType OprNodeType
char * nop_label
Definition: goomsl_private.h:115
GSL_StructField * fields[64]
Definition: goomsl_private.h:159
char * jump_label
Definition: goomsl_private.h:114
union _INSTRUCTION_DATA::@37 usrc
void ** ptrArray
Definition: goomsl_private.h:187
int currentNS
Definition: goomsl_private.h:173
int compilationOK
Definition: goomsl_private.h:189
int size
Definition: goomsl_private.h:160
GoomHeap * data_heap
Definition: goomsl_private.h:178
Definition: goomsl_private.h:66
GoomHash * labels
Definition: goomsl_private.h:126
struct _GSL_StructField GSL_StructField
Definition: goomsl_private.h:51
Definition: goomsl_hash.h:20
struct _INSTRUCTION_FLOW InstructionFlow
Definition: goomsl_heap.c:10
InstructionData data
Definition: goomsl_private.h:103
void * mallocedInstr
Definition: goomsl_private.h:138
GoomSL * parent
Definition: goomsl_private.h:104
Definition: goomsl_private.h:60
struct _INSTRUCTION_DATA InstructionData
int nbOp
Definition: goomsl_private.h:62
float val
Definition: goomsl_private.h:55
void gsl_instr_add_param(Instruction *_this, const char *param, int type)
Definition: goomsl.c:141
float value_float
Definition: goomsl_private.h:96
int size
Definition: goomsl_private.h:149
GoomSL * currentGoomSL
Definition: goomsl_lex.c:635
int id
Definition: goomsl_private.h:130
int number
Definition: goomsl_private.h:136
int gsl_struct_size
Definition: goomsl_private.h:183
int line_number
Definition: goomsl_private.h:70
GoomHash * gsl_leavenamespace(void)
Definition: goomsl.c:828
int type
Definition: goomsl_private.h:61
char ** params
Definition: goomsl_private.h:107
ConstIntNodeType constInt
Definition: goomsl_private.h:72
int line_number
Definition: goomsl_private.h:117
GoomHash * vars
Definition: goomsl_private.h:172
int id
Definition: goomsl_private.h:102
int nb_param
Definition: goomsl_private.h:111
Definition: goomsl_private.h:165
void gsl_reenternamespace(GoomHash *ns)
Definition: goomsl.c:823
const char * name
Definition: goomsl_private.h:105
Definition: goomsl_private.h:147
GSL_Struct ** gsl_struct
Definition: goomsl_private.h:182
int address
Definition: goomsl_private.h:113
Instruction * gsl_instr_init(GoomSL *parent, const char *name, int id, int nb_param, int line_number)
Definition: goomsl.c:175
int nbFields
Definition: goomsl_private.h:158