#include #include #include #include "InstHandler.h" #ifndef ASSEMBLER_H #define ASSEMBLER_H class Assembler { private: InstHandler * ih; std::vector asmLines; std::vector labels; std::vector instructions; union Fp { double d; uint32_t i[2]; }; int parseDfill(std::string arg, uint32_t icount, uint64_t ln); int parseInst(std::string inst, uint32_t icount, uint64_t ln); int newLabel(std::string name, uint32_t icount); std::vector tokenizeInst(std::string inst); std::string toLowerCase(std::string str); void error(uint64_t ln, std::string msg); public: Assembler(std::vector); void parse(); std::vector assemble(); }; #endif