123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef AFUN__VAR_H_PUBLIC
- #define AFUN__VAR_H_PUBLIC
- typedef struct af_Var af_Var;
- typedef struct af_VarSpace af_VarSpace;
- typedef struct af_VarSpaceListNode af_VarSpaceListNode;
- #include "macro.h"
- #include "object.h"
- af_Var *makeVar(char *name, char p_self, char p_posterity, char p_external, af_Object *obj);
- void freeVar(af_Var *var);
- void addVarNode(af_Var var, af_Object *obj, char *id);
- af_VarSpace *makeVarSpace(void);
- void freeVarSpace(af_VarSpace *vs);
- af_VarSpaceListNode *makeVarSpaceList(af_VarSpace *vs);
- af_VarSpaceListNode *freeVarSpaceList(af_VarSpaceListNode *vsl);
- void freeAllVarSpaceList(af_VarSpaceListNode *vsl);
- void addVarSpaceGC(af_VarSpace *vs, af_Environment *env);
- void addVarGC(af_Var *var, af_Environment *env);
- bool addVarToVarSpace(af_Var *var, af_VarSpace *vs);
- bool makeVarToVarSpace(char *name, char p_self, char p_posterity, char p_external, af_Object *obj,
- af_VarSpace *vs);
- bool addVarToVarSpaceList(af_Var *var, af_VarSpaceListNode *vsl);
- bool makeVarToVarSpaceList(char *name, char p_self, char p_posterity, char p_external, af_Object *obj,
- af_VarSpaceListNode *vsl);
- af_Var *findVarFromVarSpace(char *name, af_VarSpace *vs);
- af_Var *findVarFromVarList(char *name, af_VarSpaceListNode *vsl);
- af_VarSpaceListNode *pushNewVarList(af_VarSpaceListNode *base);
- af_VarSpaceListNode *popLastVarList(af_VarSpaceListNode *base);
- #endif //AFUN__VAR_H_PUBLIC
|