1 #include "TocBaseListener.h"
\r
7 class MyListener : public TocBaseListener {
\r
8 void enterVarDecl(TocParser::VarDeclContext * ctx) {
\r
10 << ctx->var()->type()->getText()
\r
12 << ctx->var()->varName()->getText();
\r
14 if (ctx->var()->expr() != nullptr) {
\r
18 void exitVarDecl(TocParser::VarDeclContext * ctx) {
\r
19 cout << ";" << endl;
\r
22 void enterFuncDecl(TocParser::FuncDeclContext * ctx) {
\r
24 << ctx->type()->getText()
\r
26 << ctx->funcName()->getText()
\r
29 if (ctx->parameter()->firstParameter() != nullptr) {
\r
31 << ctx->parameter()->firstParameter()->var()->type()->getText()
\r
33 << ctx->parameter()->firstParameter()->var()->varName()->getText();
\r
36 for (auto * p : ctx->parameter()->additionalParameter()) {
\r
39 << p->var()->type()->getText()
\r
41 << p->var()->varName()->getText();
\r
48 void enterBody(TocParser::BodyContext * ctx) {
\r
52 void exitBody(TocParser::BodyContext * ctx) {
\r
57 void enterIfCond(TocParser::IfCondContext * ctx) {
\r
60 enterExpr(ctx->expr());
\r