📄 fincnode.h
字号:
#ifndef _FINC_NODE_H_#define _FINC_NODE_H_#include <global.h>#include <object.h>#include <str.h>#include <fincdata.h>typedef struct _FinCFunc FinCFunc;typedef struct _FinCNode FinCNode;#include <fincfunc.h>#define FinC_NODE(obj) ((FinCNode*) obj)typedef enum { FinCNodeType_None, FinCNodeType_Block, FinCNodeType_Data, FinCNodeType_Func, FinCNodeType_Type, FinCNodeType_Identifier} FinCNodeType;struct _FinCNode{ Object parent; FinCNodeType node_type; FinCData* data; FinCFunc* func; FinCType* type; String* identifier; Bool check; Bool constant; String* source_file; unsigned int source_line; Vector* vector_node;};FinCNode* finc_node_new ();FinCNode* finc_node_new_func (unsigned char* p_name);FinCNode* finc_node_new_name (unsigned char* p_name);void finc_node_destroy (Object* self);void finc_node_add (FinCNode* self, FinCNode* p_node);void finc_node_evaluate (FinCNode* self);Bool finc_node_check (FinCNode* self, FinCNodeType p_type);FinCNode* finc_node_get (FinCNode* self, unsigned int p_index);unsigned int finc_node_get_size (FinCNode* self);void finc_node_set_constant (FinCNode* self);void finc_node_set_block (FinCNode* self);void finc_node_set_data (FinCNode* self, FinCData* p_data);FinCData* finc_node_take_data (FinCNode* self);void finc_node_set_func (FinCNode* self, String* p_name);void finc_node_set_type (FinCNode* self, FinCType* p_type);void finc_node_set_identifier (FinCNode* self, String* p_identifier);void finc_node_update (FinCNode* self);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -