xine-lib 1.2.11
|
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().
|
extern |