Files
2026-01-06 16:39:51 +01:00

22 lines
427 B
C++

#pragma once
#include "ir/op.hpp"
#include "prelude/linkedlist.hpp"
#include "prelude/string.hpp"
class CodeGenerator
{
public:
CodeGenerator() = default;
virtual ~CodeGenerator() {}
public:
virtual bool Generate(const DoubleLinkedList<IR::Op*>* ops) = 0;
StringView GetOutput() { return output().view(); }
protected:
StringBuilder& output() { return m_output; }
private:
StringBuilder m_output;
};