summaryrefslogtreecommitdiffstats
path: root/Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java')
-rw-r--r--Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java b/Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java
new file mode 100644
index 0000000..21b2f67
--- /dev/null
+++ b/Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java
@@ -0,0 +1,15 @@
+package swa.prakt3;
+
+public class EvalVisitor implements Visitor {
+ @Override
+ public Number visit(ArithmeticOperation ao, Iterator it) {
+ Number leftRes = it.traverse(ao.getLeftOperand(), this);
+ Number rightRes = it.traverse(ao.getRightOperand(), this);
+ return ao.doOperation(leftRes, rightRes);
+ }
+
+ @Override
+ public Number visit(ArithmeticVariable av) {
+ return av.getValue();
+ }
+}