23 lines
578 B
C++
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
|