summaryrefslogtreecommitdiff
path: root/graphs/cpp/visitor/compute_visitor.hh
diff options
context:
space:
mode:
Diffstat (limited to 'graphs/cpp/visitor/compute_visitor.hh')
-rw-r--r--graphs/cpp/visitor/compute_visitor.hh26
1 files changed, 26 insertions, 0 deletions
diff --git a/graphs/cpp/visitor/compute_visitor.hh b/graphs/cpp/visitor/compute_visitor.hh
new file mode 100644
index 0000000..0426f29
--- /dev/null
+++ b/graphs/cpp/visitor/compute_visitor.hh
@@ -0,0 +1,26 @@
+//
+// Created by martial.simon on 2/27/25.
+//
+
+#pragma once
+
+#include "visitor.hh"
+
+namespace visitor
+{
+ class ComputeVisitor : public Visitor
+ {
+ public:
+ void visit(const tree::Tree& e);
+ void visit(const tree::Node& e);
+ void visit(const tree::AddNode& e);
+ void visit(const tree::SubNode& e);
+ void visit(const tree::MulNode& e);
+ void visit(const tree::DivNode& e);
+ void visit(const tree::Leaf& e);
+ int get_value();
+
+ private:
+ int value_ = 0;
+ };
+} // namespace visitor