__macro.h 1.0 KB

123456789101112131415161718192021222324252627282930
  1. #ifndef VIRTUALMATH___MACRO_H
  2. #define VIRTUALMATH___MACRO_H
  3. #include "macro.h"
  4. // PASS语句的定义
  5. #define PASS
  6. #define NUMBER_TYPE long int
  7. #define NUMBER_FORMAT "ld"
  8. #define HASH_INDEX unsigned int
  9. #define INTER_FUNCTIONSIG_CORE struct Inter *inter, struct VarList *var_list
  10. #define INTER_FUNCTIONSIG_NOT_ST struct LinkValue *father, struct Result *result, INTER_FUNCTIONSIG_CORE
  11. #define INTER_FUNCTIONSIG struct Statement *st, INTER_FUNCTIONSIG_NOT_ST
  12. #define CALL_INTER_FUNCTIONSIG_CORE(var_list) inter, var_list
  13. #define CALL_INTER_FUNCTIONSIG_NOT_ST(var_list, result, father) father, result, CALL_INTER_FUNCTIONSIG_CORE(var_list)
  14. #define CALL_INTER_FUNCTIONSIG(st, var_list, result, father) st, CALL_INTER_FUNCTIONSIG_NOT_ST(var_list, result, father)
  15. #define run_continue_type(type) (type == not_return || type == operation_return)
  16. #define run_continue(result) (result->type == not_return || result->type == operation_return)
  17. #define freeBase(element, return_) do{ \
  18. if (element == NULL){ \
  19. goto return_; \
  20. } \
  21. }while(0) \
  22. #endif //VIRTUALMATH___MACRO_H