2020-09-30 01:15:57 +05:30
|
|
|
#pragma once
|
|
|
|
|
2020-09-30 16:54:58 +05:30
|
|
|
#include<string>
|
2020-09-30 20:26:38 +05:30
|
|
|
#include "bfLexer.h"
|
|
|
|
#include "bfParser.h"
|
2020-09-30 16:54:58 +05:30
|
|
|
#include "bfBaseListener.h"
|
|
|
|
|
|
|
|
|
2020-09-30 20:26:38 +05:30
|
|
|
class toBFListener : public bfBaseListener {
|
2020-09-30 16:54:58 +05:30
|
|
|
protected:
|
|
|
|
std::vector<std::string> printStack;
|
|
|
|
public:
|
|
|
|
void enterProgram(bfParser::ProgramContext *ctx) override;
|
|
|
|
void exitProgram(bfParser::ProgramContext *ctx) override ;
|
|
|
|
void enterPtrIncr(bfParser::PtrIncrContext *ctx) override;
|
|
|
|
void enterPtrDecr(bfParser::PtrDecrContext *ctx) override;
|
|
|
|
void enterPtrLeft(bfParser::PtrLeftContext *ctx) override;
|
|
|
|
void enterPtrRight(bfParser::PtrRightContext *ctx) override;
|
|
|
|
void enterNumberedStmt(bfParser::NumberedStmtContext *ctx) override;
|
|
|
|
void exitNumberedStmt(bfParser::NumberedStmtContext *ctx) override;
|
|
|
|
void enterLoopStmt(bfParser::LoopStmtContext *ctx) override;
|
|
|
|
void exitLoopStmt(bfParser::LoopStmtContext *ctx) override;
|
|
|
|
void enterGroupedStmt(bfParser::GroupedStmtContext *ctx) override;
|
|
|
|
void exitGroupedStmt(bfParser::GroupedStmtContext *ctx) override;
|
|
|
|
};
|