#pragma once #include #include #include 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