brainfuck.h 1.1 KB

123456789101112131415161718192021222324252627282930
  1. #ifndef BRAINFUCK_BRAINFUCK_H
  2. #define BRAINFUCK_BRAINFUCK_H
  3. #ifndef TYPEDEF_bf_code
  4. typedef struct bf_code *bf_code;
  5. #define TYPEDEF_bf_code
  6. #endif
  7. #ifndef TYPEDEF_bf_env
  8. typedef struct bf_env bf_env;
  9. #define TYPEDEF_bf_env
  10. #endif
  11. char *bf_getVersionInfo(); // 获取版本和版本信息字符串
  12. char *bf_getVersion(); // 获取版本
  13. // bf_env指针通常可以使用void *来代替
  14. bf_env *bf_setEnv(); // 设置一个运行环境(返回一个指针)
  15. void bf_freeEnv(bf_env *env); // 释放一个环境
  16. void bf_initEnv(bf_env *env); // 复位读取头到初始位置
  17. // bf_code指针通常可以使用void *来代替
  18. void bf_freeBrainFuck(bf_code code); // 释放代码
  19. bf_code bf_parserBrainFuck_File(FILE *file); // 读取文件并生成代码(返回一个code)
  20. bf_code bf_parserBrainFuck_Str(const char *str); // 读取字符串并生成代码(返回一个code)
  21. void bf_printBrainFuck(bf_code code); // 打印代码
  22. int bf_runBrainFuck(bf_code code, bf_env *env); // 在指定环境中执行代码 (返回0表示无异常)
  23. void bf_printError(char *info, bf_env *env); // 打印错误信息, 若无错误则不执行
  24. #endif //BRAINFUCK_BRAINFUCK_H