Files
wassembly/include/compile/compiler.hpp

25 lines
519 B
C++

#pragma once
#include <string>
#include <token/token.hpp>
#include <unordered_map>
#include <vector>
#include <utility>
namespace Compile
{
class Compiler
{
private:
std::unordered_map<std::string, std::size_t> jumpLabelLocations;
std::vector<std::pair<Token::Token, std::size_t>> unresolvedJumpLabels;
void InsertAsBytes(
Token::Token const & token,
std::vector<std::uint8_t> & bytes);
public:
bool Compile(
std::vector<Token::Token> const & tokens,
std::vector<std::uint8_t> & bytes);
};
}