set up semantic visitor

This commit is contained in:
2024-08-13 14:03:23 +00:00
parent b010326e60
commit 1ba056f0ac
12 changed files with 661 additions and 62 deletions

View File

@ -6,13 +6,6 @@
#include "../semantic/visitor.h"
#include "scope.hpp"
#include "tools.h"
class ASTNodeVisitorBase {
friend Visitor;
public:
virtual ~ASTNodeVisitorBase() = default;
virtual void visit(class ASTNodeBase *context) = 0;
};
class ASTNodeBase {
friend Visitor;
@ -26,6 +19,14 @@ class ASTNodeBase {
public:
virtual ~ASTNodeBase() = default;
// virtual void accept(class ASTNodeVisitorBase *visitor) = 0;
virtual void accept(class ASTNodeVisitorBase *visitor) = 0;
};
class ASTNodeVisitorBase {
friend Visitor;
public:
virtual ~ASTNodeVisitorBase() = default;
void visit(ASTNodeBase *context) { context->accept(this); }
};
#endif