var.h 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. #ifndef AFUN__VAR_H_PUBLIC
  2. #define AFUN__VAR_H_PUBLIC
  3. #include "macro.h"
  4. #include "object.h"
  5. typedef struct af_Var af_Var;
  6. typedef struct af_VarSpace af_VarSpace;
  7. typedef struct af_VarSpaceListNode af_VarSpaceListNode;
  8. af_Var *makeVar(char *name, char p_self, char p_posterity, char p_external, af_Object *obj);
  9. void freeVar(af_Var *var);
  10. void addVarNode(af_Var var, af_Object *obj, char *id);
  11. af_VarSpace *makeVarSpace(void);
  12. void freeVarSpace(af_VarSpace *vs);
  13. af_VarSpaceListNode *makeVarSpaceList(af_VarSpace *vs);
  14. af_VarSpaceListNode *freeVarSpaceList(af_VarSpaceListNode *vsl);
  15. void freeAllVarSpaceList(af_VarSpaceListNode *vsl);
  16. void addVarSpaceGC(af_VarSpace *vs, af_Core *core);
  17. void addVarGC(af_Var *var, af_Core *core);
  18. bool addVarToVarSpace(af_Var *var, af_VarSpace *vs);
  19. bool makeVarToVarSpace(char *name, char p_self, char p_posterity, char p_external, af_Object *obj,
  20. af_VarSpace *vs);
  21. af_Var *findVarFromVarSpace(char *name, af_VarSpace *vs);
  22. af_Var *findVarFromVarList(char *name, af_VarSpaceListNode *vsl);
  23. #endif //AFUN__VAR_H_PUBLIC