From d745f000d6d60b9cdf0ba40dbf80660c1aa6bc61 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 20 Jun 2016 20:55:22 +0300 Subject: Implemented general enhancements --- main/core/parser/ast/SubtractionNode.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 main/core/parser/ast/SubtractionNode.java (limited to 'main/core/parser/ast/SubtractionNode.java') diff --git a/main/core/parser/ast/SubtractionNode.java b/main/core/parser/ast/SubtractionNode.java new file mode 100644 index 0000000..0865ab1 --- /dev/null +++ b/main/core/parser/ast/SubtractionNode.java @@ -0,0 +1,30 @@ +package com.jantuomi.interpreter.main.core.parser.ast; + +import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; +import com.jantuomi.interpreter.main.core.tokenizer.token.Token; + +import java.util.Arrays; +import java.util.List; + +/** + * Created by jan on 16.6.2016. + */ +public class SubtractionNode extends BinaryOperatorNode { + public SubtractionNode(Token token, ASTNode lhs, ASTNode rhs) { + super(token, lhs, rhs); + } + + @Override + public DataContainer evaluate() { + DataContainer operand1 = lhs.evaluate(); + DataContainer operand2 = rhs.evaluate(); + + DataContainer result = operand1.subtract(operand2); + return result; + + } + @Override + List getChildren() { + return Arrays.asList(lhs, rhs); + } +} -- cgit v1.3