|
xine-lib
1.2.10
|
Go to the source code of this file.
Data Structures | |
| struct | _ConstIntNodeType |
| struct | _ConstFloatNodeType |
| struct | _ConstPtrNodeType |
| struct | _OprNodeType |
| struct | _NODE_TYPE |
| struct | _INSTRUCTION_DATA |
| struct | _INSTRUCTION |
| struct | _INSTRUCTION_FLOW |
| struct | _FAST_INSTRUCTION |
| struct | _FastInstructionFlow |
| struct | _ExternalFunctionStruct |
| struct | _Block |
| struct | _GSL_StructField |
| struct | _GSL_Struct |
| struct | _GoomSL |
Macros | |
| #define | EMPTY_NODE 0 |
| #define | CONST_INT_NODE 1 |
| #define | CONST_FLOAT_NODE 2 |
| #define | CONST_PTR_NODE 3 |
| #define | VAR_NODE 4 |
| #define | PARAM_NODE 5 |
| #define | READ_PARAM_NODE 6 |
| #define | OPR_NODE 7 |
| #define | OPR_SET 1 |
| #define | OPR_IF 2 |
| #define | OPR_WHILE 3 |
| #define | OPR_BLOCK 4 |
| #define | OPR_ADD 5 |
| #define | OPR_MUL 6 |
| #define | OPR_EQU 7 |
| #define | OPR_NOT 8 |
| #define | OPR_LOW 9 |
| #define | OPR_DIV 10 |
| #define | OPR_SUB 11 |
| #define | OPR_FUNC_INTRO 12 |
| #define | OPR_FUNC_OUTRO 13 |
| #define | OPR_CALL 14 |
| #define | OPR_EXT_CALL 15 |
| #define | OPR_PLUS_EQ 16 |
| #define | OPR_SUB_EQ 17 |
| #define | OPR_MUL_EQ 18 |
| #define | OPR_DIV_EQ 19 |
| #define | OPR_CALL_EXPR 20 |
| #define | OPR_AFFECT_LIST 21 |
| #define | OPR_FOREACH 22 |
| #define | OPR_VAR_LIST 23 |
| #define | FIRST_RESERVED 0x80000 |
| #define | TYPE_INTEGER 0x90001 |
| #define | TYPE_FLOAT 0x90002 |
| #define | TYPE_VAR 0x90003 |
| #define | TYPE_PTR 0x90004 |
| #define | TYPE_LABEL 0x90005 |
| #define | TYPE_OP_EQUAL 6 |
| #define | TYPE_IVAR 0xa0001 |
| #define | TYPE_FVAR 0xa0002 |
| #define | TYPE_PVAR 0xa0003 |
| #define | TYPE_SVAR 0xa0004 |
| #define | INSTR_JUMP 6 |
| #define | INSTR_JZERO 29 |
| #define | INSTR_CALL 36 |
| #define | INSTR_RET 37 |
| #define | INSTR_EXT_CALL 38 |
| #define | INSTR_JNZERO 40 |
| #define | INSTR_SET 0x80001 |
| #define | INSTR_INT 0x80002 |
| #define | INSTR_FLOAT 0x80003 |
| #define | INSTR_PTR 0x80004 |
| #define | INSTR_LABEL 0x80005 |
| #define | INSTR_ISLOWER 0x80006 |
| #define | INSTR_ADD 0x80007 |
| #define | INSTR_MUL 0x80008 |
| #define | INSTR_DIV 0x80009 |
| #define | INSTR_SUB 0x80010 |
| #define | INSTR_ISEQUAL 0x80011 |
| #define | INSTR_NOT 0x80012 |
Typedefs | |
| typedef struct _ConstIntNodeType | ConstIntNodeType |
| typedef struct _ConstFloatNodeType | ConstFloatNodeType |
| typedef struct _ConstPtrNodeType | ConstPtrNodeType |
| typedef struct _OprNodeType | OprNodeType |
| typedef struct _NODE_TYPE | NodeType |
| typedef struct _INSTRUCTION_DATA | InstructionData |
| typedef struct _INSTRUCTION | Instruction |
| typedef struct _INSTRUCTION_FLOW | InstructionFlow |
| typedef struct _FAST_INSTRUCTION | FastInstruction |
| typedef struct _FastInstructionFlow | FastInstructionFlow |
| typedef struct _ExternalFunctionStruct | ExternalFunctionStruct |
| typedef struct _Block | Block |
| typedef struct _GSL_StructField | GSL_StructField |
| typedef struct _GSL_Struct | GSL_Struct |
Functions | |
| Instruction * | gsl_instr_init (GoomSL *parent, const char *name, int id, int nb_param, int line_number) |
| void | gsl_instr_add_param (Instruction *_this, const char *param, int type) |
| void | gsl_instr_set_namespace (Instruction *_this, GoomHash *ns) |
| void | gsl_declare_task (const char *name) |
| void | gsl_declare_external_task (const char *name) |
| int | gsl_type_of_var (GoomHash *namespace, const char *name) |
| void | gsl_enternamespace (const char *name) |
| void | gsl_reenternamespace (GoomHash *ns) |
| GoomHash * | gsl_leavenamespace (void) |
| GoomHash * | gsl_find_namespace (const char *name) |
| void | gsl_commit_compilation (void) |
Variables | |
| GoomSL * | currentGoomSL |
| #define CONST_FLOAT_NODE 2 |
| #define CONST_INT_NODE 1 |
| #define CONST_PTR_NODE 3 |
| #define EMPTY_NODE 0 |
| #define FIRST_RESERVED 0x80000 |
| #define INSTR_ADD 0x80007 |
| #define INSTR_CALL 36 |
| #define INSTR_DIV 0x80009 |
| #define INSTR_EXT_CALL 38 |
| #define INSTR_FLOAT 0x80003 |
| #define INSTR_INT 0x80002 |
| #define INSTR_ISEQUAL 0x80011 |
| #define INSTR_ISLOWER 0x80006 |
| #define INSTR_JNZERO 40 |
| #define INSTR_JUMP 6 |
| #define INSTR_JZERO 29 |
| #define INSTR_LABEL 0x80005 |
| #define INSTR_MUL 0x80008 |
| #define INSTR_NOT 0x80012 |
| #define INSTR_PTR 0x80004 |
| #define INSTR_RET 37 |
| #define INSTR_SET 0x80001 |
| #define INSTR_SUB 0x80010 |
| #define OPR_ADD 5 |
| #define OPR_AFFECT_LIST 21 |
| #define OPR_BLOCK 4 |
| #define OPR_CALL 14 |
| #define OPR_CALL_EXPR 20 |
| #define OPR_DIV 10 |
| #define OPR_DIV_EQ 19 |
| #define OPR_EQU 7 |
| #define OPR_EXT_CALL 15 |
| #define OPR_FOREACH 22 |
| #define OPR_FUNC_INTRO 12 |
| #define OPR_FUNC_OUTRO 13 |
| #define OPR_IF 2 |
| #define OPR_LOW 9 |
| #define OPR_MUL 6 |
| #define OPR_MUL_EQ 18 |
| #define OPR_NODE 7 |
| #define OPR_NOT 8 |
| #define OPR_PLUS_EQ 16 |
| #define OPR_SET 1 |
| #define OPR_SUB 11 |
| #define OPR_SUB_EQ 17 |
| #define OPR_VAR_LIST 23 |
| #define OPR_WHILE 3 |
| #define PARAM_NODE 5 |
| #define READ_PARAM_NODE 6 |
| #define TYPE_FLOAT 0x90002 |
| #define TYPE_FVAR 0xa0002 |
| #define TYPE_INTEGER 0x90001 |
| #define TYPE_IVAR 0xa0001 |
| #define TYPE_LABEL 0x90005 |
| #define TYPE_OP_EQUAL 6 |
| #define TYPE_PTR 0x90004 |
| #define TYPE_PVAR 0xa0003 |
| #define TYPE_SVAR 0xa0004 |
| #define TYPE_VAR 0x90003 |
| #define VAR_NODE 4 |
| typedef struct _ConstFloatNodeType ConstFloatNodeType |
| typedef struct _ConstIntNodeType ConstIntNodeType |
| typedef struct _ConstPtrNodeType ConstPtrNodeType |
| typedef struct _ExternalFunctionStruct ExternalFunctionStruct |
| typedef struct _FAST_INSTRUCTION FastInstruction |
| typedef struct _FastInstructionFlow FastInstructionFlow |
| typedef struct _GSL_Struct GSL_Struct |
| typedef struct _GSL_StructField GSL_StructField |
| typedef struct _INSTRUCTION Instruction |
| typedef struct _INSTRUCTION_DATA InstructionData |
| typedef struct _INSTRUCTION_FLOW InstructionFlow |
| typedef struct _NODE_TYPE NodeType |
| typedef struct _OprNodeType OprNodeType |
| void gsl_commit_compilation | ( | void | ) |
References commit_node(), lastNode, and rootNode.
Referenced by gsl_compile().
| void gsl_declare_external_task | ( | const char * | name | ) |
| void gsl_declare_task | ( | const char * | name | ) |
References currentGoomSL, _ExternalFunctionStruct::function, _GoomSL::functions, goom_hash_get(), goom_hash_new(), goom_hash_put_ptr(), _ExternalFunctionStruct::is_extern, name, and _ExternalFunctionStruct::vars.
Referenced by new_call(), and yyparse().
| void gsl_enternamespace | ( | const char * | name | ) |
References currentGoomSL, _GoomSL::currentNS, function, _GoomSL::functions, goom_hash_get(), name, _GoomSL::namespaces, _GoomSL::num_lines, and HashValue::ptr.
Referenced by yyparse().
| GoomHash* gsl_find_namespace | ( | const char * | name | ) |
References currentGoomSL, _GoomSL::currentNS, goom_hash_get(), name, _GoomSL::namespaces, and NULL.
Referenced by new_call_expr(), and new_var().
| void gsl_instr_add_param | ( | Instruction * | _this, |
| const char * | param, | ||
| int | type | ||
| ) |
References _GoomSL::compilationOK, _INSTRUCTION::cur_param, gsl_instr_display(), gsl_instr_free(), gsl_instr_validate(), _INSTRUCTION::id, _GoomSL::iflow, iflow_add_instr(), INSTR_NOP, NULL, _GoomSL::num_lines, _INSTRUCTION::params, _INSTRUCTION::parent, _INSTRUCTION::types, and VALIDATE_OK.
Referenced by commit_call(), commit_ext_call(), commit_foreach(), commit_function_intro(), commit_function_outro(), commit_node(), commit_not(), GSL_PUT_JUMP(), GSL_PUT_JXXX(), and GSL_PUT_LABEL().
| Instruction* gsl_instr_init | ( | GoomSL * | parent, |
| const char * | name, | ||
| int | id, | ||
| int | nb_param, | ||
| int | line_number | ||
| ) |
References _INSTRUCTION::cur_param, _INSTRUCTION::id, _INSTRUCTION::jump_label, _INSTRUCTION::line_number, _INSTRUCTION::name, name, _INSTRUCTION::nb_param, NULL, _INSTRUCTION::params, _INSTRUCTION::parent, _INSTRUCTION::types, and _INSTRUCTION::vnamespace.
Referenced by commit_call(), commit_div_eq(), commit_ext_call(), commit_foreach(), commit_function_intro(), commit_function_outro(), commit_mul_eq(), commit_not(), commit_plus_eq(), commit_sub_eq(), commit_test2(), GSL_PUT_JUMP(), GSL_PUT_JXXX(), GSL_PUT_LABEL(), and precommit_expr().
| void gsl_instr_set_namespace | ( | Instruction * | _this, |
| GoomHash * | ns | ||
| ) |
References _INSTRUCTION::cur_param, _INSTRUCTION::line_number, and _INSTRUCTION::vnamespace.
Referenced by commit_node().
| GoomHash* gsl_leavenamespace | ( | void | ) |
References currentGoomSL, _GoomSL::currentNS, and _GoomSL::namespaces.
Referenced by yyparse().
| void gsl_reenternamespace | ( | GoomHash * | ns | ) |
References currentGoomSL, _GoomSL::currentNS, and _GoomSL::namespaces.
Referenced by yyparse().
| int gsl_type_of_var | ( | GoomHash * | namespace, |
| const char * | name | ||
| ) |
References goom_hash_get(), HashValue::i, name, and NULL.
Referenced by gsl_instr_validate(), new_neg(), precommit_call_expr(), and precommit_expr().
| GoomSL* currentGoomSL |
1.8.17