xlang/bootstrap/emit.hh

23 lines
578 B
C++

#pragma once
#include <fstream>
#include <string_view>
#include <xlangBaseListener.h>
namespace xlang {
class EmitListener : public xlangBaseListener {
std::ofstream output;
public:
EmitListener(std::string_view outputfile);
void enterFile(xlangParser::FileContext *ctx) override;
void enterFunction(xlangParser::FunctionContext *ctx) override;
void exitFunction(xlangParser::FunctionContext *ctx) override;
void exitStatement(xlangParser::StatementContext *ctx) override;
void exitFactor(xlangParser::FactorContext *ctx) override;
};
} // namespace xlang