You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.3 KiB

  1. #pragma once
  2. #include "molasses/parser_primitives.h"
  3. namespace molasses {
  4. template<architecture_t Arch = architecture>
  5. std::vector<std::string> initialize_stack();
  6. template<architecture_t Arch = architecture>
  7. std::vector<std::string> generate_return();
  8. template<architecture_t Arch = architecture>
  9. std::vector<std::string> generate_label(const std::string& target);
  10. template<architecture_t Arch = architecture>
  11. std::vector<std::string> generate_goto(const std::string& target);
  12. template<architecture_t Arch = architecture>
  13. std::vector<std::string> generate_jump_if(const std::string& target);
  14. template<architecture_t Arch = architecture>
  15. std::vector<std::string> generate_push_int32(int32_t target);
  16. template<architecture_t Arch = architecture>
  17. std::vector<std::string> generate_push_int64(int64_t target);
  18. template<architecture_t Arch = architecture>
  19. std::vector<std::string> generate_call(const std::string& target);
  20. template<architecture_t Arch = architecture>
  21. std::vector<std::string> generate_enter();
  22. template<architecture_t Arch = architecture>
  23. std::vector<std::string> generate_push_string_ptr(const symbol&);
  24. template<architecture_t Arch = architecture>
  25. std::vector<std::string> generate_string(const symbol&, const std::string&);
  26. }