From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../SWA_Prakt3/src/swa/prakt3/EvalVisitor.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java (limited to 'Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/EvalVisitor.java') 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(); + } +} -- cgit v1.2.3