|
#pragma once
|
|
#include "molasses/parser_primitives.h"
|
|
|
|
namespace molasses {
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> initialize_stack();
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_return();
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_label(const std::string& target);
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_push_int32(int32_t target);
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_push_int64(int64_t target);
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_call(const std::string& target);
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_enter();
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_push_string_ptr(const symbol&);
|
|
|
|
template<architecture_t Arch = architecture>
|
|
std::vector<std::string> generate_string(const symbol&, const std::string&);
|
|
}
|