introduce transpile to cpp

This commit is contained in:
2020-10-30 20:35:01 +05:30
parent e6e225b639
commit 75f71259a0
9 changed files with 263 additions and 45 deletions

View File

@@ -22,4 +22,6 @@ class toBFListener : public bfeBaseListener {
void exitLoopStmt(bfeParser::LoopStmtContext *ctx) override;
void enterGroupedStmt(bfeParser::GroupedStmtContext *ctx) override;
void exitGroupedStmt(bfeParser::GroupedStmtContext *ctx) override;
void enterOutputStmt(bfeParser::OutputStmtContext *ctx) override;
void enterInputStmt(bfeParser::InputStmtContext *ctx) override;
};

27
include/toCPPListener.hpp Normal file
View File

@@ -0,0 +1,27 @@
#pragma once
#include<string>
#include "bfeLexer.h"
#include "bfeParser.h"
#include "bfeBaseListener.h"
class toCPPListener : public bfeBaseListener {
protected:
std::vector<std::string> printStack;
public:
void enterProgram(bfeParser::ProgramContext *ctx) override;
void exitProgram(bfeParser::ProgramContext *ctx) override ;
void enterPtrIncr(bfeParser::PtrIncrContext *ctx) override;
void enterPtrDecr(bfeParser::PtrDecrContext *ctx) override;
void enterPtrLeft(bfeParser::PtrLeftContext *ctx) override;
void enterPtrRight(bfeParser::PtrRightContext *ctx) override;
void enterNumberedStmt(bfeParser::NumberedStmtContext *ctx) override;
void exitNumberedStmt(bfeParser::NumberedStmtContext *ctx) override;
void enterLoopStmt(bfeParser::LoopStmtContext *ctx) override;
void exitLoopStmt(bfeParser::LoopStmtContext *ctx) override;
void enterGroupedStmt(bfeParser::GroupedStmtContext *ctx) override;
void exitGroupedStmt(bfeParser::GroupedStmtContext *ctx) override;
void enterOutputStmt(bfeParser::OutputStmtContext *ctx) override;
void enterInputStmt(bfeParser::InputStmtContext *ctx) override;
};