12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef VIRTUALMATH_FUNCTION_H
- #define VIRTUALMATH_FUNCTION_H
- #include "__macro.h"
- #include "statement.h"
- #include "run.h"
- // 所有statement相关的function都在此处声明
- // value的处理
- Value *makeValue(Inter *inter);
- void freeValue(Value *value, Inter *inter);
- LinkValue *makeLinkValue(Value *value, LinkValue *linkValue,Inter *inter);
- void freeLinkValue(LinkValue *value, Inter *inter);
- Value *makeNumberValue(long num, Inter *inter);
- Value *makeStringValue(char *str, Inter *inter);
- void setResult(Result *ru, bool link, Inter *inter);
- // Inter的处理
- Inter *makeInter();
- void freeInter(Inter *inter, bool self);
- // statement的处理
- Statement *makeStatement();
- void connectStatement(Statement *base, Statement *new);
- void freeStatement(Statement *st);
- // run的处理
- Result iterStatement(INTER_FUNCTIONSIG);
- Result operationStatement(INTER_FUNCTIONSIG);
- Result globalIterStatement(Inter *inter);
- // var的处理
- VarList *makeVarList(Inter *inter);
- VarList *freeVarList(VarList *vl, bool self);
- LinkValue *findFromVarList(char *name, VarList *var_list, NUMBER_TYPE times);
- void addFromVarList(char *name, VarList *var_list, NUMBER_TYPE times, LinkValue *value);
- void freeHashTable(HashTable *ht, Inter *inter);
- #endif //VIRTUALMATH_FUNCTION_H
|