aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/parser/ast/AdditionNode.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-16 20:21:25 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:02 +0300
commitd35a37a449d31e6f4b43b937abf7b0e1fc497828 (patch)
tree8d65ac1068dbf09de480e7cae0fb39ec21d330ec /main/core/parser/ast/AdditionNode.java
parentf441022881945db08846e09a8f3bfee2f8cfa95d (diff)
Grammar now uses reverse polish notation
Diffstat (limited to 'main/core/parser/ast/AdditionNode.java')
-rw-r--r--main/core/parser/ast/AdditionNode.java30
1 files changed, 15 insertions, 15 deletions
diff --git a/main/core/parser/ast/AdditionNode.java b/main/core/parser/ast/AdditionNode.java
index f6ebc84..46f67a4 100644
--- a/main/core/parser/ast/AdditionNode.java
+++ b/main/core/parser/ast/AdditionNode.java
@@ -6,31 +6,31 @@ import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
import java.util.Arrays;
import java.util.List;
-
/**
- * Created by jan on 13.6.2016.
+ * Created by jan on 16.6.2016.
*/
-public class AdditionNode extends ExpressionNode {
-
- private ExpressionNode lhs;
- private ExpressionNode rhs;
+public class AdditionNode extends ASTNode {
- public AdditionNode(ExpressionNode lhs, ExpressionNode rhs) {
- super(new Token(Token.Type.AdditionToken));
+ private ASTNode lhs;
+ private ASTNode rhs;
+ public AdditionNode(Token token, ASTNode lhs, ASTNode rhs) {
+ super(token);
this.lhs = lhs;
this.rhs = rhs;
}
@Override
- public List<ASTNode> getChildren() {
- return Arrays.asList(lhs, rhs);
- }
+ public DataContainer evaluate() {
+ DataContainer operand1 = lhs.evaluate();
+ DataContainer operand2 = rhs.evaluate();
+ DataContainer result = operand1.add(operand2);
+ return result;
+
+ }
@Override
- public DataContainer evaluate() {
- DataContainer lhs = this.lhs.evaluate();
- DataContainer rhs = this.rhs.evaluate();
- return lhs.add(rhs);
+ List<ASTNode> getChildren() {
+ return Arrays.asList(lhs, rhs);
}
}