inter.h 924 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef VIRTUALMATH_INTER_H
  2. #define VIRTUALMATH_INTER_H
  3. struct Result;
  4. struct Inter{
  5. struct Value *base;
  6. struct LinkValue *link_base;
  7. struct HashTable *hash_base;
  8. struct Var *base_var;
  9. struct Statement *statement;
  10. struct VarList *var_list;
  11. struct InterData{
  12. FILE *debug;
  13. FILE *error;
  14. char *log_dir; // 记录log文件夹的位置
  15. char *var_str_prefix;
  16. char *var_num_prefix;
  17. char *var_defualt;
  18. char *object_init;
  19. } data;
  20. };
  21. typedef struct Inter Inter;
  22. Inter *makeInter(char *code_file, char *debug);
  23. void freeInter(Inter *inter, bool self, bool show_gc);
  24. void setBaseInterData(struct Inter *inter);
  25. Inter *newInter(char *code_file, char *debug_dir,struct Result *global_result, int *status);
  26. Inter *runBaseInter(char *code_file, char *debug_dir, int *status);
  27. void mergeInter(Inter *new, Inter *base);
  28. #endif //VIRTUALMATH_INTER_H