#ifndef INCLUDE_TCG_SENTENCETRANSLATOR_COMMONTRANSLATOR_H_
#define INCLUDE_TCG_SENTENCETRANSLATOR_COMMONTRANSLATOR_H_

#include "Public/Public.h"
#include "TCG/ASM.h"
#include "TCG/SentenceTranslator/BaseTranslator.h"

class CommonTranslator : public BaseTranslator {
public:
    std::string commonop2string(TACOP op);
    ASMLines SentenceTranslate_(SymbolManager&, TACLine&) override;
};

inline std::string CommonTranslator::commonop2string(TACOP op) {
    switch (op) {
        case TACOP::ADD: return "add";
        case TACOP::SUB: return "sub";
        case TACOP::MUL: return "mul";
        case TACOP::DIV: return "div";
        default: return "oopp";
    }
}


#endif // INCLUDE_TCG_SENTENCETRANSLATOR_COMMONTRANSLATOR_H_