code_gen.h 567 B

12345678910111213141516171819202122232425262728
  1. #ifndef __CODE_GEN__
  2. #define __CODE_GEN__
  3. #include <stdio.h>
  4. #include "tree_dstruct.h"
  5. #include "generate.h"
  6. #include "register.h"
  7. #define str set_tmp_register
  8. #define ftr free_tmp_register
  9. #define atr alloc_tmp_register
  10. #define grn get_reg_name
  11. #define n bnode
  12. #define LC LEFT_CHILD
  13. #define RC RIGHT_CHILD
  14. #ifndef GEN_COL
  15. #define code(...) printf(__VA_ARGS__)
  16. #else
  17. #define code(...) dprintf(5, "\x1b[33m"), dprintf(5, __VA_ARGS__), dprintf(5, "\x1b[0m")
  18. #endif
  19. void generate_code_fix_sp(int);
  20. int generate_code_mov_free_args(tree_node_t*, int);
  21. #endif