2
0

aFunlang.hpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef AFUN_AFUNLANG_HPP
  2. #define AFUN_AFUNLANG_HPP
  3. #include "aFunlangExport.h"
  4. #include "aFunCore.hpp"
  5. #include "runtime.hpp"
  6. typedef struct aFunInitInfo aFunInitInfo;
  7. struct aFunInitInfo {
  8. const char *base_dir;
  9. bool log_asyn;
  10. jmp_buf *buf;
  11. LogLevel level;
  12. };
  13. typedef struct aFunRunInfo aFunRunInfo;
  14. struct aFunRunInfo {
  15. bool signal;
  16. };
  17. AFUN_LANG_EXPORT bool aFunInit(aFunInitInfo *info);
  18. AFUN_LANG_EXPORT bool aFunDestruct();
  19. AFUN_LANG_EXPORT void defineRunEnv(aFunRunInfo *run_env);
  20. AFUN_LANG_EXPORT void undefRunEnv(aFunRunInfo *run_env);
  21. AFUN_LANG_EXPORT af_Environment *creatAFunEnvironment(int argc, char **argv);
  22. AFUN_LANG_EXPORT bool destructAFunEnvironment(af_Environment *env);
  23. /* 源文件运行 */
  24. AFUN_LANG_EXPORT int runCodeFromString(const char *code, const char *string_name, int mode, af_Environment *env);
  25. AFUN_LANG_EXPORT int runCodeFromFileSource(FilePath file, bool save_afb, FilePath save_path, int mode, af_Environment *env);
  26. AFUN_LANG_EXPORT int runCodeFromStdin(const char *name, af_Environment *env);
  27. AFUN_LANG_EXPORT int runCodeFromMemory(af_Code *code, int mode, af_Environment *env);
  28. AFUN_LANG_EXPORT int runCodeFromFileByte(FilePath file, int mode, af_Environment *env);
  29. AFUN_LANG_EXPORT int runCodeFromFile(FilePath file, bool save_afb, int mode, af_Environment *env);
  30. AFUN_LANG_EXPORT int buildFile(FilePath out, FilePath in);
  31. #endif //AFUN_AFUNLANG_HPP