aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/parser/ast
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-28 21:09:43 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:12 +0300
commit8f84c00978dc05007873a9fe1de6a18511dc3cf8 (patch)
tree39fead540e22addee40b95b68db08cbea620745b /main/core/parser/ast
parent48dcd488054024d98fe1e659a4029630130d1d35 (diff)
Restructure project for use with maven
Diffstat (limited to 'main/core/parser/ast')
-rw-r--r--main/core/parser/ast/ASTNode.java40
-rw-r--r--main/core/parser/ast/AdditionNode.java39
-rw-r--r--main/core/parser/ast/AssignmentNode.java34
-rw-r--r--main/core/parser/ast/BinaryOperatorNode.java17
-rw-r--r--main/core/parser/ast/BlockBodyNode.java26
-rw-r--r--main/core/parser/ast/BooleanLiteralNode.java30
-rw-r--r--main/core/parser/ast/BranchNode.java42
-rw-r--r--main/core/parser/ast/DivisionNode.java39
-rw-r--r--main/core/parser/ast/DoubleLiteralNode.java30
-rw-r--r--main/core/parser/ast/EmptyNode.java27
-rw-r--r--main/core/parser/ast/FunctionDefineNode.java73
-rw-r--r--main/core/parser/ast/IntegerLiteralNode.java30
-rw-r--r--main/core/parser/ast/MultiplicationNode.java39
-rw-r--r--main/core/parser/ast/NegationNode.java34
-rw-r--r--main/core/parser/ast/ParameterListNode.java38
-rw-r--r--main/core/parser/ast/StringLiteralNode.java27
-rw-r--r--main/core/parser/ast/SubtractionNode.java38
-rw-r--r--main/core/parser/ast/SymbolNode.java70
-rw-r--r--main/core/parser/ast/UnaryOperatorNode.java31
-rw-r--r--main/core/parser/ast/VarargOperatorNode.java26
-rw-r--r--main/core/parser/ast/VariableDeclareNode.java32
21 files changed, 0 insertions, 762 deletions
diff --git a/main/core/parser/ast/ASTNode.java b/main/core/parser/ast/ASTNode.java
deleted file mode 100644
index 311314f..0000000
--- a/main/core/parser/ast/ASTNode.java
+++ /dev/null
@@ -1,40 +0,0 @@
-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 com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.List;
-
-/**
- * Created by jan on 11.6.2016.
- */
-abstract public class ASTNode {
-
- public abstract DataContainer evaluate() throws InterpreterException;
-
- protected Token source;
-
- public ASTNode(Token token) {
- this.source = token;
- }
-
- public Token.Type tokenType() {
- return source.getTokenType();
- }
-
- abstract List<ASTNode> getChildren();
-
- public void print(int indent) {
- for (int i = 0; i < indent; i++) {
- System.out.print("\t");
- }
-
- System.out.println(source.toString());
- for (ASTNode node : getChildren()) {
- if (node != null) {
- node.print(indent + 1);
- }
- }
- }
-}
diff --git a/main/core/parser/ast/AdditionNode.java b/main/core/parser/ast/AdditionNode.java
deleted file mode 100644
index 00db230..0000000
--- a/main/core/parser/ast/AdditionNode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-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 com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 16.6.2016.
- */
-public class AdditionNode extends BinaryOperatorNode {
-
- public AdditionNode(Token token, ASTNode lhs, ASTNode rhs) {
- super(token, lhs, rhs);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- DataContainer operand1 = lhs.evaluate();
- DataContainer operand2 = rhs.evaluate();
-
- DataContainer result = operand1.add(operand2);
- if (result != null) {
- return result;
- } else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
- operand1.getType().toString(), operand2.getType().toString());
- return null;
- }
-
- }
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(lhs, rhs);
- }
-}
diff --git a/main/core/parser/ast/AssignmentNode.java b/main/core/parser/ast/AssignmentNode.java
deleted file mode 100644
index f2e7b8d..0000000
--- a/main/core/parser/ast/AssignmentNode.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.runtime.State;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 21.6.2016.
- */
-public class AssignmentNode extends BinaryOperatorNode {
- public AssignmentNode(Token token, SymbolNode lhs, ASTNode rhs) {
- super(token, lhs, rhs);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- SymbolNode symbol = (SymbolNode) lhs;
- DataContainer rValue = rhs.evaluate();
- State.getInstance().setSymbolValueToScope(
- symbol.getName(),
- rValue
- );
- return rValue;
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(lhs, rhs);
- }
-}
diff --git a/main/core/parser/ast/BinaryOperatorNode.java b/main/core/parser/ast/BinaryOperatorNode.java
deleted file mode 100644
index 9ec21a4..0000000
--- a/main/core/parser/ast/BinaryOperatorNode.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-/**
- * Created by jan on 16.6.2016.
- */
-abstract public class BinaryOperatorNode extends ASTNode {
- protected ASTNode lhs;
- protected ASTNode rhs;
-
- public BinaryOperatorNode(Token token, ASTNode lhs, ASTNode rhs) {
- super(token);
- this.lhs = lhs;
- this.rhs = rhs;
- }
-}
diff --git a/main/core/parser/ast/BlockBodyNode.java b/main/core/parser/ast/BlockBodyNode.java
deleted file mode 100644
index 671f847..0000000
--- a/main/core/parser/ast/BlockBodyNode.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.VoidDataContainer;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public class BlockBodyNode extends VarargOperatorNode {
- public BlockBodyNode(Token token) {
- super(token);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- DataContainer returnValue = new VoidDataContainer();
-
- for (ASTNode node : args) {
- returnValue = node.evaluate();
- }
-
- return returnValue;
- }
-}
diff --git a/main/core/parser/ast/BooleanLiteralNode.java b/main/core/parser/ast/BooleanLiteralNode.java
deleted file mode 100644
index 0d9c505..0000000
--- a/main/core/parser/ast/BooleanLiteralNode.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.BooleanDataContainer;
-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 BooleanLiteralNode extends ASTNode {
- private BooleanDataContainer value;
-
- public BooleanLiteralNode(Token token) {
- super(token);
- value = new BooleanDataContainer(Boolean.parseBoolean(token.getText()));
- }
-
- @Override
- public DataContainer evaluate() {
- return value;
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList();
- }
-}
diff --git a/main/core/parser/ast/BranchNode.java b/main/core/parser/ast/BranchNode.java
deleted file mode 100644
index d6fb4cf..0000000
--- a/main/core/parser/ast/BranchNode.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.BooleanDataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public class BranchNode extends ASTNode {
-
- private ASTNode expression;
- private BlockBodyNode branch;
-
- public BranchNode(Token token, ASTNode expression, BlockBodyNode branch) {
- super(token);
- this.expression = expression;
- this.branch = branch;
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- DataContainer ev = expression.evaluate();
- boolean returnValue = false;
- if (ev instanceof BooleanDataContainer) {
- returnValue = ((BooleanDataContainer) ev).getData();
- if (returnValue) {
- branch.evaluate();
- }
- }
- return new BooleanDataContainer(returnValue);
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(expression, branch);
- }
-}
diff --git a/main/core/parser/ast/DivisionNode.java b/main/core/parser/ast/DivisionNode.java
deleted file mode 100644
index 5bebf7b..0000000
--- a/main/core/parser/ast/DivisionNode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-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 com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 16.6.2016.
- */
-public class DivisionNode extends BinaryOperatorNode {
-
- public DivisionNode(Token token, ASTNode lhs, ASTNode rhs) {
- super(token, lhs, rhs);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- DataContainer operand1 = lhs.evaluate();
- DataContainer operand2 = rhs.evaluate();
-
- DataContainer result = operand1.divide(operand2);
- if (result != null) {
- return result;
- } else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
- operand1.getType().toString(), operand2.getType().toString());
- return null;
- }
-
- }
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(lhs, rhs);
- }
-}
diff --git a/main/core/parser/ast/DoubleLiteralNode.java b/main/core/parser/ast/DoubleLiteralNode.java
deleted file mode 100644
index a90c4af..0000000
--- a/main/core/parser/ast/DoubleLiteralNode.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.DoubleDataContainer;
-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 DoubleLiteralNode extends ASTNode {
- private DoubleDataContainer value;
-
- public DoubleLiteralNode(Token token) {
- super(token);
- value = new DoubleDataContainer(Double.parseDouble(token.getText()));
- }
-
- @Override
- public DataContainer evaluate() {
- return value;
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList();
- }
-}
diff --git a/main/core/parser/ast/EmptyNode.java b/main/core/parser/ast/EmptyNode.java
deleted file mode 100644
index 44bfcc9..0000000
--- a/main/core/parser/ast/EmptyNode.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.VoidDataContainer;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public class EmptyNode extends ASTNode {
- public EmptyNode(Token source) {
- super(source);
- }
-
- @Override
- public DataContainer evaluate() {
- return new VoidDataContainer();
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList();
- }
-}
diff --git a/main/core/parser/ast/FunctionDefineNode.java b/main/core/parser/ast/FunctionDefineNode.java
deleted file mode 100644
index 39a775a..0000000
--- a/main/core/parser/ast/FunctionDefineNode.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.StringDataContainer;
-import com.jantuomi.interpreter.main.core.runtime.Function;
-import com.jantuomi.interpreter.main.core.runtime.State;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public class FunctionDefineNode extends VarargOperatorNode {
-
- private String name;
-
- public void setBody(ASTNode body) {
- this.body = body;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- private ASTNode body;
-
- public FunctionDefineNode(Token token) {
- super(token);
- }
-
- @Override
- public DataContainer evaluate() {
- List<String> argumentNames = new ArrayList<>();
- for (ASTNode arg : args) {
- SymbolNode argSym = (SymbolNode) arg;
- argumentNames.add(argSym.getName());
- }
- Function function = new Function(argumentNames, (BlockBodyNode) body);
- function.setName(name);
- State.getInstance().addFunctionToScope(name, function);
-
- return new StringDataContainer("function " + name);
- }
-
- @Override
- public void print(int indent) {
-
- for (int i = 0; i < indent; i++) {
- System.out.print("\t");
- }
-
- System.out.println(String.format("Function %s", name));
-
- for (int i = 0; i < indent + 1; i++) {
- System.out.print("\t");
- }
-
- System.out.println(String.format("Arguments: "));
-
- for (ASTNode node : args) {
- node.print(indent + 2);
- }
-
- for (int i = 0; i < indent + 1; i++) {
- System.out.print("\t");
- }
-
- System.out.println(String.format("Body statements: "));
- body.print(indent + 2);
- }
-}
diff --git a/main/core/parser/ast/IntegerLiteralNode.java b/main/core/parser/ast/IntegerLiteralNode.java
deleted file mode 100644
index 68b57d7..0000000
--- a/main/core/parser/ast/IntegerLiteralNode.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.IntegerDataContainer;
-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 IntegerLiteralNode extends ASTNode {
- private IntegerDataContainer value;
-
- public IntegerLiteralNode(Token token) {
- super(token);
- value = new IntegerDataContainer(Integer.parseInt(token.getText()));
- }
-
- @Override
- public DataContainer evaluate() {
- return value;
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList();
- }
-}
diff --git a/main/core/parser/ast/MultiplicationNode.java b/main/core/parser/ast/MultiplicationNode.java
deleted file mode 100644
index 5d86cf3..0000000
--- a/main/core/parser/ast/MultiplicationNode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-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 com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 16.6.2016.
- */
-public class MultiplicationNode extends BinaryOperatorNode {
-
- public MultiplicationNode(Token token, ASTNode lhs, ASTNode rhs) {
- super(token, lhs, rhs);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- DataContainer operand1 = lhs.evaluate();
- DataContainer operand2 = rhs.evaluate();
-
- DataContainer result = operand1.multiply(operand2);
- if (result != null) {
- return result;
- } else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
- operand1.getType().toString(), operand2.getType().toString());
- return null;
- }
-
- }
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(lhs, rhs);
- }
-}
diff --git a/main/core/parser/ast/NegationNode.java b/main/core/parser/ast/NegationNode.java
deleted file mode 100644
index 1d381cb..0000000
--- a/main/core/parser/ast/NegationNode.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.BooleanDataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.IntegerDataContainer;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-import com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-/**
- * Created by jan on 21.6.2016.
- */
-public class NegationNode extends UnaryOperatorNode {
- public NegationNode(Token token, ASTNode operand) {
- super(token, operand);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- DataContainer d = getOperand().evaluate();
-
- if (d instanceof BooleanDataContainer) {
- return new BooleanDataContainer(!((BooleanDataContainer) d).getData());
- }
- else if (d instanceof IntegerDataContainer) {
- return new BooleanDataContainer(
- ((IntegerDataContainer) d).getData() != 0
- );
- }
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(), "not", d.toString());
- return null;
-
- }
-}
diff --git a/main/core/parser/ast/ParameterListNode.java b/main/core/parser/ast/ParameterListNode.java
deleted file mode 100644
index 50f919a..0000000
--- a/main/core/parser/ast/ParameterListNode.java
+++ /dev/null
@@ -1,38 +0,0 @@
-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.ArrayList;
-import java.util.List;
-
-/**
- * Created by jan on 19.6.2016.
- */
-public class ParameterListNode extends ASTNode {
-
- private List<ASTNode> parameters = new ArrayList<>();
-
- public void addParameter(ASTNode param) {
- parameters.add(param);
- }
-
- public List<ASTNode> getParameters() {
- return parameters;
- }
-
- public ParameterListNode(Token token) {
- super(token);
- }
-
- @Override
- public DataContainer evaluate() {
- // TODO use State to evaluate function
- return null;
- }
-
- @Override
- List<ASTNode> getChildren() {
- return parameters;
- }
-}
diff --git a/main/core/parser/ast/StringLiteralNode.java b/main/core/parser/ast/StringLiteralNode.java
deleted file mode 100644
index 1ad5e2b..0000000
--- a/main/core/parser/ast/StringLiteralNode.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.StringDataContainer;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 21.6.2016.
- */
-public class StringLiteralNode extends ASTNode {
- @Override
- public DataContainer evaluate() {
- return new StringDataContainer(source.getText());
- }
-
- public StringLiteralNode(Token source) {
- super(source);
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList();
- }
-}
diff --git a/main/core/parser/ast/SubtractionNode.java b/main/core/parser/ast/SubtractionNode.java
deleted file mode 100644
index 6b05073..0000000
--- a/main/core/parser/ast/SubtractionNode.java
+++ /dev/null
@@ -1,38 +0,0 @@
-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 com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-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() throws InterpreterException {
- DataContainer operand1 = lhs.evaluate();
- DataContainer operand2 = rhs.evaluate();
-
- DataContainer result = operand1.subtract(operand2);
- if (result != null) {
- return result;
- } else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
- operand1.getType().toString(), operand2.getType().toString());
- return null;
- }
-
- }
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(lhs, rhs);
- }
-}
diff --git a/main/core/parser/ast/SymbolNode.java b/main/core/parser/ast/SymbolNode.java
deleted file mode 100644
index 5a4346a..0000000
--- a/main/core/parser/ast/SymbolNode.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.runtime.State;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-import com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-import com.sun.deploy.util.StringUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public class SymbolNode extends ASTNode {
-
- public ParameterListNode getParameterListNode() {
- return parameterListNode;
- }
-
- public void setParameterListNode(ParameterListNode parameterListNode) {
- this.parameterListNode = parameterListNode;
- }
-
- private ParameterListNode parameterListNode;
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-
- private String name;
-
- public SymbolNode(Token token) {
- super(token);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- List<DataContainer> paramValues = new ArrayList<>();
- if (parameterListNode != null) {
- for (ASTNode param : parameterListNode.getChildren()) {
- paramValues.add(param.evaluate());
- }
- }
- DataContainer returnValue = State.getInstance().getSymbolValue(name, paramValues);
- if (returnValue != null) {
- return returnValue;
- } else {
- ExceptionManager.raise(InterpreterException.ExceptionType.UndeclaredSymbolError, source.getLine(), name,
- StringUtils.join(paramValues.stream().map(dataContainer -> dataContainer.toString()).collect(Collectors.toList()), ","));
- return null;
- }
- }
-
- @Override
- List<ASTNode> getChildren() {
- if (parameterListNode == null) {
- return Arrays.asList();
- } else {
- return Arrays.asList(parameterListNode);
- }
- }
-}
diff --git a/main/core/parser/ast/UnaryOperatorNode.java b/main/core/parser/ast/UnaryOperatorNode.java
deleted file mode 100644
index 283f07d..0000000
--- a/main/core/parser/ast/UnaryOperatorNode.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 21.6.2016.
- */
-abstract public class UnaryOperatorNode extends ASTNode {
- public UnaryOperatorNode(Token token, ASTNode operand) {
- super(token);
- this.operand = operand;
- }
-
- public ASTNode getOperand() {
- return operand;
- }
-
- public void setOperand(ASTNode operand) {
- this.operand = operand;
- }
-
- private ASTNode operand;
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList(operand);
- }
-}
diff --git a/main/core/parser/ast/VarargOperatorNode.java b/main/core/parser/ast/VarargOperatorNode.java
deleted file mode 100644
index 96a7320..0000000
--- a/main/core/parser/ast/VarargOperatorNode.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-import java.util.List;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public abstract class VarargOperatorNode extends ASTNode {
-
- protected List<ASTNode> args;
-
- public VarargOperatorNode(Token token) {
- super(token);
- }
-
- @Override
- public List<ASTNode> getChildren() {
- return args;
- }
-
- public void setArgs(List<ASTNode> args) {
- this.args = args;
- }
-}
diff --git a/main/core/parser/ast/VariableDeclareNode.java b/main/core/parser/ast/VariableDeclareNode.java
deleted file mode 100644
index 185edda..0000000
--- a/main/core/parser/ast/VariableDeclareNode.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.parser.datatype.StringDataContainer;
-import com.jantuomi.interpreter.main.core.runtime.State;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by jan on 20.6.2016.
- */
-public class VariableDeclareNode extends ASTNode {
- private SymbolNode variable;
-
- public VariableDeclareNode(Token source, SymbolNode variable) {
- super(source);
- this.variable = variable;
- }
-
- @Override
- public DataContainer evaluate() {
- State.getInstance().addSymbolToScope(variable.getName());
- return new StringDataContainer(variable.getName());
- }
-
- @Override
- List<ASTNode> getChildren() {
- return Arrays.asList();
- }
-}