aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-28 21:39:10 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:13 +0300
commit9c189c2d1ef35184ec9a9d08bdeeb52936902867 (patch)
tree48f1edea6c6c0c2a55f161c35ee8556063b10273
parent8f84c00978dc05007873a9fe1de6a18511dc3cf8 (diff)
Restructure classes
-rw-r--r--src/main/com/jantuomi/borker/Main.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ASTGenerator.java4
-rw-r--r--src/main/com/jantuomi/borker/core/parser/Parser.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/ASTNode.java4
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/AdditionNode.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/AssignmentNode.java4
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/BlockBodyNode.java4
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/BranchNode.java4
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/DivisionNode.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/MultiplicationNode.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/NegationNode.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/SubtractionNode.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/ast/SymbolNode.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/datatype/BooleanDataContainer.java10
-rw-r--r--src/main/com/jantuomi/borker/core/parser/datatype/DataContainer.java10
-rw-r--r--src/main/com/jantuomi/borker/core/parser/datatype/DoubleDataContainer.java10
-rw-r--r--src/main/com/jantuomi/borker/core/parser/datatype/IntegerDataContainer.java6
-rw-r--r--src/main/com/jantuomi/borker/core/parser/datatype/StringDataContainer.java8
-rw-r--r--src/main/com/jantuomi/borker/core/parser/datatype/VoidDataContainer.java6
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/Function.java4
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/Interpreter.java4
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/Scope.java4
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/State.java8
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/builtins/AsIntBuiltinFunction.java4
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/builtins/ConcatBuiltinFunction.java4
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/builtins/InBuiltinFunction.java4
-rw-r--r--src/main/com/jantuomi/borker/core/runtime/builtins/OutBuiltinFunction.java7
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/Tokenizer.java6
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/Token.java10
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/AdditionToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/AssignmentToken.java6
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/BlockBodyToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/BranchToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/DivisionToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/FunctionDefineToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/MultiplicationToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/NegationToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/OpenParenToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/StringLiteralToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/SubtractionToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/SymbolToken.java4
-rw-r--r--src/main/com/jantuomi/borker/core/tokenizer/token/types/VariableDeclareToken.java4
-rw-r--r--src/main/com/jantuomi/borker/exception/BorkError.java (renamed from src/main/com/jantuomi/borker/exception/InterpreterException.java)4
-rw-r--r--src/main/com/jantuomi/borker/exception/ExceptionManager.java4
-rw-r--r--src/test/com/jantuomi/borker/MainTest.java4
-rw-r--r--src/test/com/jantuomi/borker/core/tokenizer/TokenizerTest.java4
46 files changed, 122 insertions, 121 deletions
diff --git a/src/main/com/jantuomi/borker/Main.java b/src/main/com/jantuomi/borker/Main.java
index d7445a8..c5cbca7 100644
--- a/src/main/com/jantuomi/borker/Main.java
+++ b/src/main/com/jantuomi/borker/Main.java
@@ -7,7 +7,7 @@ import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.runtime.Interpreter;
import com.jantuomi.borker.core.tokenizer.Tokenizer;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
@@ -40,13 +40,13 @@ public class Main {
try {
run(input);
- } catch (InterpreterException e) {
+ } catch (BorkError e) {
e.printStackTrace();
}
}
}
- public static void run(String input) throws InterpreterException {
+ public static void run(String input) throws BorkError {
Tokenizer tokenizer = Tokenizer.getInstance();
List<Token> sequence = tokenizer.tokenize(input);
diff --git a/src/main/com/jantuomi/borker/core/parser/ASTGenerator.java b/src/main/com/jantuomi/borker/core/parser/ASTGenerator.java
index 4086929..e22b763 100644
--- a/src/main/com/jantuomi/borker/core/parser/ASTGenerator.java
+++ b/src/main/com/jantuomi/borker/core/parser/ASTGenerator.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.parser;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.ArrayList;
import java.util.List;
@@ -19,7 +19,7 @@ public class ASTGenerator {
return instance;
}
- public List<ASTNode> generate(List<Token> trees) throws InterpreterException {
+ public List<ASTNode> generate(List<Token> trees) throws BorkError {
List<ASTNode> list = new ArrayList<>();
for (Token root : trees) {
diff --git a/src/main/com/jantuomi/borker/core/parser/Parser.java b/src/main/com/jantuomi/borker/core/parser/Parser.java
index 99f81e9..2552d30 100644
--- a/src/main/com/jantuomi/borker/core/parser/Parser.java
+++ b/src/main/com/jantuomi/borker/core/parser/Parser.java
@@ -3,8 +3,8 @@ package com.jantuomi.borker.core.parser;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.tokenizer.token.ArgumentInfo;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import java.util.ArrayList;
import java.util.List;
@@ -29,7 +29,7 @@ public class Parser {
private Stack<Token> stack;
- public List<Token> parse(List<Token> tokens) throws InterpreterException {
+ public List<Token> parse(List<Token> tokens) throws BorkError {
this.tokens = tokens;
this.stack = new Stack<>();
@@ -78,7 +78,7 @@ public class Parser {
if (stack.size() > 0) {
args.add(stack.pop());
} else {
- ExceptionManager.raise(InterpreterException.ExceptionType.ArgumentError, t.getLine(),
+ ExceptionManager.raise(BorkError.ExceptionType.ArgumentError, t.getLine(),
t.toString(), Integer.toString(argumentInfo.getCount()));
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/ASTNode.java b/src/main/com/jantuomi/borker/core/parser/ast/ASTNode.java
index 3967edb..0af95a8 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/ASTNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/ASTNode.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.List;
@@ -11,7 +11,7 @@ import java.util.List;
*/
abstract public class ASTNode {
- public abstract DataContainer evaluate() throws InterpreterException;
+ public abstract DataContainer evaluate() throws BorkError;
protected Token source;
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/AdditionNode.java b/src/main/com/jantuomi/borker/core/parser/ast/AdditionNode.java
index ba99a54..24ecb43 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/AdditionNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/AdditionNode.java
@@ -2,8 +2,8 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import java.util.Arrays;
import java.util.List;
@@ -18,7 +18,7 @@ public class AdditionNode extends BinaryOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer operand1 = lhs.evaluate();
DataContainer operand2 = rhs.evaluate();
@@ -26,7 +26,7 @@ public class AdditionNode extends BinaryOperatorNode {
if (result != null) {
return result;
} else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
+ ExceptionManager.raise(BorkError.ExceptionType.TypeError, source.getLine(),
operand1.getType().toString(), operand2.getType().toString());
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/AssignmentNode.java b/src/main/com/jantuomi/borker/core/parser/ast/AssignmentNode.java
index 94013c2..82e31dc 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/AssignmentNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/AssignmentNode.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.runtime.State;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -17,7 +17,7 @@ public class AssignmentNode extends BinaryOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
SymbolNode symbol = (SymbolNode) lhs;
DataContainer rValue = rhs.evaluate();
State.getInstance().setSymbolValueToScope(
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/BlockBodyNode.java b/src/main/com/jantuomi/borker/core/parser/ast/BlockBodyNode.java
index dd0582c..7aaf407 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/BlockBodyNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/BlockBodyNode.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.parser.datatype.VoidDataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 17.6.2016.
@@ -14,7 +14,7 @@ public class BlockBodyNode extends VarargOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer returnValue = new VoidDataContainer();
for (ASTNode node : args) {
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/BranchNode.java b/src/main/com/jantuomi/borker/core/parser/ast/BranchNode.java
index 12f304c..e92c42e 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/BranchNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/BranchNode.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.BooleanDataContainer;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -23,7 +23,7 @@ public class BranchNode extends ASTNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer ev = expression.evaluate();
boolean returnValue = false;
if (ev instanceof BooleanDataContainer) {
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/DivisionNode.java b/src/main/com/jantuomi/borker/core/parser/ast/DivisionNode.java
index 04af834..6eccb48 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/DivisionNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/DivisionNode.java
@@ -2,8 +2,8 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import java.util.Arrays;
import java.util.List;
@@ -18,7 +18,7 @@ public class DivisionNode extends BinaryOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer operand1 = lhs.evaluate();
DataContainer operand2 = rhs.evaluate();
@@ -26,7 +26,7 @@ public class DivisionNode extends BinaryOperatorNode {
if (result != null) {
return result;
} else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
+ ExceptionManager.raise(BorkError.ExceptionType.TypeError, source.getLine(),
operand1.getType().toString(), operand2.getType().toString());
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/MultiplicationNode.java b/src/main/com/jantuomi/borker/core/parser/ast/MultiplicationNode.java
index 53bf8ee..24f1730 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/MultiplicationNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/MultiplicationNode.java
@@ -2,8 +2,8 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import java.util.Arrays;
import java.util.List;
@@ -18,7 +18,7 @@ public class MultiplicationNode extends BinaryOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer operand1 = lhs.evaluate();
DataContainer operand2 = rhs.evaluate();
@@ -26,7 +26,7 @@ public class MultiplicationNode extends BinaryOperatorNode {
if (result != null) {
return result;
} else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
+ ExceptionManager.raise(BorkError.ExceptionType.TypeError, source.getLine(),
operand1.getType().toString(), operand2.getType().toString());
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/NegationNode.java b/src/main/com/jantuomi/borker/core/parser/ast/NegationNode.java
index 2617198..c37ae1e 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/NegationNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/NegationNode.java
@@ -4,8 +4,8 @@ import com.jantuomi.borker.core.parser.datatype.BooleanDataContainer;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.parser.datatype.IntegerDataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
/**
* Created by jan on 21.6.2016.
@@ -16,7 +16,7 @@ public class NegationNode extends UnaryOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer d = getOperand().evaluate();
if (d instanceof BooleanDataContainer) {
@@ -27,7 +27,7 @@ public class NegationNode extends UnaryOperatorNode {
((IntegerDataContainer) d).getData() != 0
);
}
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(), "not", d.toString());
+ ExceptionManager.raise(BorkError.ExceptionType.TypeError, source.getLine(), "not", d.toString());
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/SubtractionNode.java b/src/main/com/jantuomi/borker/core/parser/ast/SubtractionNode.java
index 6f0b3fb..3de887a 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/SubtractionNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/SubtractionNode.java
@@ -2,8 +2,8 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import java.util.Arrays;
import java.util.List;
@@ -17,7 +17,7 @@ public class SubtractionNode extends BinaryOperatorNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
DataContainer operand1 = lhs.evaluate();
DataContainer operand2 = rhs.evaluate();
@@ -25,7 +25,7 @@ public class SubtractionNode extends BinaryOperatorNode {
if (result != null) {
return result;
} else {
- ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(),
+ ExceptionManager.raise(BorkError.ExceptionType.TypeError, source.getLine(),
operand1.getType().toString(), operand2.getType().toString());
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/ast/SymbolNode.java b/src/main/com/jantuomi/borker/core/parser/ast/SymbolNode.java
index f473989..0a483d1 100644
--- a/src/main/com/jantuomi/borker/core/parser/ast/SymbolNode.java
+++ b/src/main/com/jantuomi/borker/core/parser/ast/SymbolNode.java
@@ -3,8 +3,8 @@ package com.jantuomi.borker.core.parser.ast;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.runtime.State;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
@@ -42,7 +42,7 @@ public class SymbolNode extends ASTNode {
}
@Override
- public DataContainer evaluate() throws InterpreterException {
+ public DataContainer evaluate() throws BorkError {
List<DataContainer> paramValues = new ArrayList<>();
if (parameterListNode != null) {
for (ASTNode param : parameterListNode.getChildren()) {
@@ -53,7 +53,7 @@ public class SymbolNode extends ASTNode {
if (returnValue != null) {
return returnValue;
} else {
- ExceptionManager.raise(InterpreterException.ExceptionType.UndeclaredSymbolError, source.getLine(), name,
+ ExceptionManager.raise(BorkError.ExceptionType.UndeclaredSymbolError, source.getLine(), name,
StringUtils.join(paramValues.stream().map(dataContainer -> dataContainer.toString()).collect(Collectors.toList()), ","));
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/datatype/BooleanDataContainer.java b/src/main/com/jantuomi/borker/core/parser/datatype/BooleanDataContainer.java
index 14f4a80..855f464 100644
--- a/src/main/com/jantuomi/borker/core/parser/datatype/BooleanDataContainer.java
+++ b/src/main/com/jantuomi/borker/core/parser/datatype/BooleanDataContainer.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker.core.parser.datatype;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 16.6.2016.
@@ -23,22 +23,22 @@ public class BooleanDataContainer extends DataContainer<Boolean> {
}
@Override
- public DataContainer<Boolean> add(DataContainer<Boolean> other) throws InterpreterException {
+ public DataContainer<Boolean> add(DataContainer<Boolean> other) throws BorkError {
return null;
}
@Override
- public DataContainer<Boolean> subtract(DataContainer<Boolean> other) throws InterpreterException {
+ public DataContainer<Boolean> subtract(DataContainer<Boolean> other) throws BorkError {
return null;
}
@Override
- public DataContainer<Boolean> multiply(DataContainer<Boolean> other) throws InterpreterException {
+ public DataContainer<Boolean> multiply(DataContainer<Boolean> other) throws BorkError {
return null;
}
@Override
- public DataContainer<Boolean> divide(DataContainer<Boolean> other) throws InterpreterException {
+ public DataContainer<Boolean> divide(DataContainer<Boolean> other) throws BorkError {
return null;
}
}
diff --git a/src/main/com/jantuomi/borker/core/parser/datatype/DataContainer.java b/src/main/com/jantuomi/borker/core/parser/datatype/DataContainer.java
index cdb202d..6db9748 100644
--- a/src/main/com/jantuomi/borker/core/parser/datatype/DataContainer.java
+++ b/src/main/com/jantuomi/borker/core/parser/datatype/DataContainer.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker.core.parser.datatype;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 11.6.2016.
@@ -30,8 +30,8 @@ abstract public class DataContainer<T> {
@Override
abstract public String toString();
- abstract public DataContainer<T> add(DataContainer<T> other) throws InterpreterException;
- public abstract DataContainer<T> subtract(DataContainer<T> other) throws InterpreterException;
- public abstract DataContainer<T> multiply(DataContainer<T> other) throws InterpreterException;
- public abstract DataContainer<T> divide(DataContainer<T> other) throws InterpreterException;
+ abstract public DataContainer<T> add(DataContainer<T> other) throws BorkError;
+ public abstract DataContainer<T> subtract(DataContainer<T> other) throws BorkError;
+ public abstract DataContainer<T> multiply(DataContainer<T> other) throws BorkError;
+ public abstract DataContainer<T> divide(DataContainer<T> other) throws BorkError;
}
diff --git a/src/main/com/jantuomi/borker/core/parser/datatype/DoubleDataContainer.java b/src/main/com/jantuomi/borker/core/parser/datatype/DoubleDataContainer.java
index e7fea19..5c86d12 100644
--- a/src/main/com/jantuomi/borker/core/parser/datatype/DoubleDataContainer.java
+++ b/src/main/com/jantuomi/borker/core/parser/datatype/DoubleDataContainer.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker.core.parser.datatype;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 22.6.2016.
@@ -21,7 +21,7 @@ public class DoubleDataContainer extends DataContainer<Double> {
}
@Override
- public DataContainer add(DataContainer other) throws InterpreterException {
+ public DataContainer add(DataContainer other) throws BorkError {
switch (other.getType()) {
case Double:
return new DoubleDataContainer(
@@ -37,7 +37,7 @@ public class DoubleDataContainer extends DataContainer<Double> {
}
@Override
- public DataContainer subtract(DataContainer other) throws InterpreterException {
+ public DataContainer subtract(DataContainer other) throws BorkError {
switch (other.getType()) {
case Double:
return new DoubleDataContainer(
@@ -53,7 +53,7 @@ public class DoubleDataContainer extends DataContainer<Double> {
}
@Override
- public DataContainer multiply(DataContainer other) throws InterpreterException {
+ public DataContainer multiply(DataContainer other) throws BorkError {
switch (other.getType()) {
case Double:
return new DoubleDataContainer(
@@ -69,7 +69,7 @@ public class DoubleDataContainer extends DataContainer<Double> {
}
@Override
- public DataContainer divide(DataContainer other) throws InterpreterException {
+ public DataContainer divide(DataContainer other) throws BorkError {
switch (other.getType()) {
case Double:
return new DoubleDataContainer(
diff --git a/src/main/com/jantuomi/borker/core/parser/datatype/IntegerDataContainer.java b/src/main/com/jantuomi/borker/core/parser/datatype/IntegerDataContainer.java
index a0e42f6..ce95830 100644
--- a/src/main/com/jantuomi/borker/core/parser/datatype/IntegerDataContainer.java
+++ b/src/main/com/jantuomi/borker/core/parser/datatype/IntegerDataContainer.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker.core.parser.datatype;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 16.6.2016.
@@ -56,7 +56,7 @@ public class IntegerDataContainer extends DataContainer<Integer> {
}
@Override
- public DataContainer multiply(DataContainer other) throws InterpreterException {
+ public DataContainer multiply(DataContainer other) throws BorkError {
switch (other.getType()) {
case Integer:
return new IntegerDataContainer(
@@ -73,7 +73,7 @@ public class IntegerDataContainer extends DataContainer<Integer> {
}
@Override
- public DataContainer divide(DataContainer other) throws InterpreterException {
+ public DataContainer divide(DataContainer other) throws BorkError {
switch (other.getType()) {
case Integer:
return new IntegerDataContainer(
diff --git a/src/main/com/jantuomi/borker/core/parser/datatype/StringDataContainer.java b/src/main/com/jantuomi/borker/core/parser/datatype/StringDataContainer.java
index 6984642..407e954 100644
--- a/src/main/com/jantuomi/borker/core/parser/datatype/StringDataContainer.java
+++ b/src/main/com/jantuomi/borker/core/parser/datatype/StringDataContainer.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker.core.parser.datatype;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 16.6.2016.
@@ -30,17 +30,17 @@ public class StringDataContainer extends DataContainer<String> {
}
@Override
- public DataContainer<String> subtract(DataContainer<String> other) throws InterpreterException {
+ public DataContainer<String> subtract(DataContainer<String> other) throws BorkError {
return null;
}
@Override
- public DataContainer<String> multiply(DataContainer<String> other) throws InterpreterException {
+ public DataContainer<String> multiply(DataContainer<String> other) throws BorkError {
return null;
}
@Override
- public DataContainer<String> divide(DataContainer<String> other) throws InterpreterException {
+ public DataContainer<String> divide(DataContainer<String> other) throws BorkError {
return null;
}
}
diff --git a/src/main/com/jantuomi/borker/core/parser/datatype/VoidDataContainer.java b/src/main/com/jantuomi/borker/core/parser/datatype/VoidDataContainer.java
index 4b7be6c..b25b0d9 100644
--- a/src/main/com/jantuomi/borker/core/parser/datatype/VoidDataContainer.java
+++ b/src/main/com/jantuomi/borker/core/parser/datatype/VoidDataContainer.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker.core.parser.datatype;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 17.6.2016.
@@ -28,12 +28,12 @@ public class VoidDataContainer extends DataContainer<Integer> {
}
@Override
- public DataContainer<Integer> multiply(DataContainer<Integer> other) throws InterpreterException {
+ public DataContainer<Integer> multiply(DataContainer<Integer> other) throws BorkError {
return null;
}
@Override
- public DataContainer<Integer> divide(DataContainer<Integer> other) throws InterpreterException {
+ public DataContainer<Integer> divide(DataContainer<Integer> other) throws BorkError {
return null;
}
}
diff --git a/src/main/com/jantuomi/borker/core/runtime/Function.java b/src/main/com/jantuomi/borker/core/runtime/Function.java
index 714dcea..a2b4ce3 100644
--- a/src/main/com/jantuomi/borker/core/runtime/Function.java
+++ b/src/main/com/jantuomi/borker/core/runtime/Function.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.runtime;
import com.jantuomi.borker.core.parser.ast.BlockBodyNode;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.List;
@@ -30,7 +30,7 @@ public class Function {
this.body = body;
}
- public DataContainer evaluate(List<DataContainer> params) throws InterpreterException {
+ public DataContainer evaluate(List<DataContainer> params) throws BorkError {
State.getInstance().createScope();
if (params.size() != argumentNames.size()) {
diff --git a/src/main/com/jantuomi/borker/core/runtime/Interpreter.java b/src/main/com/jantuomi/borker/core/runtime/Interpreter.java
index 2a7bbbf..ea6e0a1 100644
--- a/src/main/com/jantuomi/borker/core/runtime/Interpreter.java
+++ b/src/main/com/jantuomi/borker/core/runtime/Interpreter.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.runtime;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.List;
@@ -19,7 +19,7 @@ public class Interpreter {
private Interpreter() {
}
- public static String execute(List<ASTNode> sequence) throws InterpreterException {
+ public static String execute(List<ASTNode> sequence) throws BorkError {
String output = "";
for (ASTNode node : sequence) {
DataContainer data = node.evaluate();
diff --git a/src/main/com/jantuomi/borker/core/runtime/Scope.java b/src/main/com/jantuomi/borker/core/runtime/Scope.java
index 90c1578..ae57788 100644
--- a/src/main/com/jantuomi/borker/core/runtime/Scope.java
+++ b/src/main/com/jantuomi/borker/core/runtime/Scope.java
@@ -1,7 +1,7 @@
package com.jantuomi.borker.core.runtime;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.HashMap;
import java.util.List;
@@ -24,7 +24,7 @@ public class Scope {
variables.replace(symbol, value);
}
- public DataContainer resolveSymbol(String symbol, List<DataContainer> params) throws InterpreterException {
+ public DataContainer resolveSymbol(String symbol, List<DataContainer> params) throws BorkError {
if (functions.containsKey(symbol)) {
DataContainer r = functions.get(symbol).evaluate(params);
return r;
diff --git a/src/main/com/jantuomi/borker/core/runtime/State.java b/src/main/com/jantuomi/borker/core/runtime/State.java
index 1ad09e7..b60796c 100644
--- a/src/main/com/jantuomi/borker/core/runtime/State.java
+++ b/src/main/com/jantuomi/borker/core/runtime/State.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.runtime;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.runtime.builtins.BuiltinManager;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -32,16 +32,16 @@ public class State {
}
- private DataContainer resolveSymbol(String symbol) throws InterpreterException {
+ private DataContainer resolveSymbol(String symbol) throws BorkError {
return scopes.peek().resolveSymbol(symbol, Arrays.asList());
}
- public DataContainer getSymbolValue(String symbol) throws InterpreterException {
+ public DataContainer getSymbolValue(String symbol) throws BorkError {
DataContainer d = resolveSymbol(symbol);
return d;
}
- public DataContainer getSymbolValue(String symbol, List<DataContainer> parameters) throws InterpreterException {
+ public DataContainer getSymbolValue(String symbol, List<DataContainer> parameters) throws BorkError {
return scopes.peek().resolveSymbol(symbol, parameters);
}
diff --git a/src/main/com/jantuomi/borker/core/runtime/builtins/AsIntBuiltinFunction.java b/src/main/com/jantuomi/borker/core/runtime/builtins/AsIntBuiltinFunction.java
index e1f2a93..10dc93f 100644
--- a/src/main/com/jantuomi/borker/core/runtime/builtins/AsIntBuiltinFunction.java
+++ b/src/main/com/jantuomi/borker/core/runtime/builtins/AsIntBuiltinFunction.java
@@ -5,7 +5,7 @@ import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.parser.datatype.IntegerDataContainer;
import com.jantuomi.borker.core.parser.datatype.StringDataContainer;
import com.jantuomi.borker.core.runtime.Function;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -27,7 +27,7 @@ public class AsIntBuiltinFunction extends Function {
}
@Override
- public DataContainer evaluate(List<DataContainer> params) throws InterpreterException {
+ public DataContainer evaluate(List<DataContainer> params) throws BorkError {
if (params.size() != 1) {
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/runtime/builtins/ConcatBuiltinFunction.java b/src/main/com/jantuomi/borker/core/runtime/builtins/ConcatBuiltinFunction.java
index 293b918..ab89871 100644
--- a/src/main/com/jantuomi/borker/core/runtime/builtins/ConcatBuiltinFunction.java
+++ b/src/main/com/jantuomi/borker/core/runtime/builtins/ConcatBuiltinFunction.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.runtime.builtins;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.parser.datatype.StringDataContainer;
import com.jantuomi.borker.core.runtime.Function;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -25,7 +25,7 @@ public class ConcatBuiltinFunction extends Function {
}
@Override
- public DataContainer evaluate(List<DataContainer> params) throws InterpreterException {
+ public DataContainer evaluate(List<DataContainer> params) throws BorkError {
StringBuilder sb = new StringBuilder();
for (DataContainer d : params) {
sb.append(d.getData());
diff --git a/src/main/com/jantuomi/borker/core/runtime/builtins/InBuiltinFunction.java b/src/main/com/jantuomi/borker/core/runtime/builtins/InBuiltinFunction.java
index 8d9184f..f88bf9f 100644
--- a/src/main/com/jantuomi/borker/core/runtime/builtins/InBuiltinFunction.java
+++ b/src/main/com/jantuomi/borker/core/runtime/builtins/InBuiltinFunction.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.runtime.builtins;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
import com.jantuomi.borker.core.parser.datatype.StringDataContainer;
import com.jantuomi.borker.core.runtime.Function;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -26,7 +26,7 @@ public class InBuiltinFunction extends Function {
}
@Override
- public DataContainer evaluate(List<DataContainer> params) throws InterpreterException {
+ public DataContainer evaluate(List<DataContainer> params) throws BorkError {
if (params.size() > 0) {
DataContainer param = params.get(0);
System.out.print(param.getData().toString());
diff --git a/src/main/com/jantuomi/borker/core/runtime/builtins/OutBuiltinFunction.java b/src/main/com/jantuomi/borker/core/runtime/builtins/OutBuiltinFunction.java
index 4e977c8..c76f9c4 100644
--- a/src/main/com/jantuomi/borker/core/runtime/builtins/OutBuiltinFunction.java
+++ b/src/main/com/jantuomi/borker/core/runtime/builtins/OutBuiltinFunction.java
@@ -1,8 +1,9 @@
package com.jantuomi.borker.core.runtime.builtins;
import com.jantuomi.borker.core.parser.datatype.DataContainer;
+import com.jantuomi.borker.core.parser.datatype.VoidDataContainer;
import com.jantuomi.borker.core.runtime.Function;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -24,9 +25,9 @@ public class OutBuiltinFunction extends Function {
}
@Override
- public DataContainer evaluate(List<DataContainer> params) throws InterpreterException {
+ public DataContainer evaluate(List<DataContainer> params) throws BorkError {
DataContainer param = params.get(0);
System.out.println(param.getData().toString());
- return param;
+ return new VoidDataContainer();
}
}
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/Tokenizer.java b/src/main/com/jantuomi/borker/core/tokenizer/Tokenizer.java
index d7d8870..a9e46df 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/Tokenizer.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/Tokenizer.java
@@ -2,8 +2,8 @@ package com.jantuomi.borker.core.tokenizer;
import com.jantuomi.borker.core.tokenizer.token.Token;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -71,7 +71,7 @@ public class Tokenizer {
erroneousTokenTypes.add(Token.Type.NotAToken);
}
- public List<Token> tokenize(String string) throws InterpreterException {
+ public List<Token> tokenize(String string) throws BorkError {
sourceString = string;
tokens.clear();
int line = 1;
@@ -93,7 +93,7 @@ public class Tokenizer {
}
if (erroneousTokenTypes.contains(token.getTokenType())) {
- ExceptionManager.raise(InterpreterException.ExceptionType.IllegalTokenError, line, token.getText());
+ ExceptionManager.raise(BorkError.ExceptionType.IllegalTokenError, line, token.getText());
}
String tokenRawText = token.getRawText();
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/Token.java b/src/main/com/jantuomi/borker/core/tokenizer/token/Token.java
index b43755d..3b05960 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/Token.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/Token.java
@@ -1,8 +1,8 @@
package com.jantuomi.borker.core.tokenizer.token;
import com.jantuomi.borker.core.parser.ast.ASTNode;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
@@ -27,7 +27,7 @@ abstract public class Token {
}
}
- abstract public ASTNode generateNode() throws InterpreterException;
+ abstract public ASTNode generateNode() throws BorkError;
/* Token types, ordered by precedence */
public enum Type {
@@ -130,7 +130,7 @@ abstract public class Token {
initialize(type, text, text);
}
- public static Token makeToken(String string, Map<Type, String> regexes, int line) throws InterpreterException {
+ public static Token makeToken(String string, Map<Type, String> regexes, int line) throws BorkError {
Type type = Type.NotAToken;
String text = Character.toString(string.charAt(0));
@@ -147,7 +147,7 @@ abstract public class Token {
return null;
}
- public static Token matchToken(String string, Type type, String regex, int line) throws InterpreterException {
+ public static Token matchToken(String string, Type type, String regex, int line) throws BorkError {
Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
Matcher matcher = pattern.matcher(string);
@@ -160,7 +160,7 @@ abstract public class Token {
token.setLine(line);
}
else {
- ExceptionManager.raise(InterpreterException.ExceptionType.IllegalTokenError, line,
+ ExceptionManager.raise(BorkError.ExceptionType.IllegalTokenError, line,
type.toString()
);
}
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/AdditionToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/AdditionToken.java
index ee49846..0e98f13 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/AdditionToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/AdditionToken.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.AdditionNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 15.6.2016.
@@ -13,7 +13,7 @@ public class AdditionToken extends BinaryOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new AdditionNode(this,
lhs.generateNode(),
rhs.generateNode()
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/AssignmentToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/AssignmentToken.java
index 8d8903e..42ec2f0 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/AssignmentToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/AssignmentToken.java
@@ -3,8 +3,8 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.AssignmentNode;
import com.jantuomi.borker.core.parser.ast.SymbolNode;
+import com.jantuomi.borker.exception.BorkError;
import com.jantuomi.borker.exception.ExceptionManager;
-import com.jantuomi.borker.exception.InterpreterException;
/**
* Created by jan on 20.6.2016.
@@ -18,11 +18,11 @@ public class AssignmentToken extends BinaryOperatorToken {
// TODO this and the node
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
ASTNode lhsNode = lhs.generateNode();
if (!(lhsNode instanceof SymbolNode)) {
- ExceptionManager.raise(InterpreterException.ExceptionType.SyntaxError, getLine(), "non-symbol " + toString());
+ ExceptionManager.raise(BorkError.ExceptionType.SyntaxError, getLine(), "non-symbol " + toString());
return null;
}
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/BlockBodyToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/BlockBodyToken.java
index c6a251d..80a3f9e 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/BlockBodyToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/BlockBodyToken.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.BlockBodyNode;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.ArrayList;
import java.util.List;
@@ -17,7 +17,7 @@ public class BlockBodyToken extends VarargOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
BlockBodyNode node = new BlockBodyNode(this);
List<ASTNode> statements = new ArrayList<>();
for (int i = 0; i < args.size() - 1; i++) {
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/BranchToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/BranchToken.java
index dd74c50..209c1ab 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/BranchToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/BranchToken.java
@@ -4,7 +4,7 @@ import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.BlockBodyNode;
import com.jantuomi.borker.core.parser.ast.BranchNode;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.Arrays;
import java.util.List;
@@ -22,7 +22,7 @@ public class BranchToken extends VarargOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new BranchNode(this,
expression.generateNode(),
(BlockBodyNode) branch.generateNode()
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/DivisionToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/DivisionToken.java
index 2b9892e..3d52579 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/DivisionToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/DivisionToken.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.DivisionNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 15.6.2016.
@@ -13,7 +13,7 @@ public class DivisionToken extends BinaryOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new DivisionNode(this,
lhs.generateNode(),
rhs.generateNode()
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/FunctionDefineToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/FunctionDefineToken.java
index dab0e3a..dae7c67 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/FunctionDefineToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/FunctionDefineToken.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.BlockBodyNode;
import com.jantuomi.borker.core.parser.ast.FunctionDefineNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import java.util.ArrayList;
import java.util.List;
@@ -17,7 +17,7 @@ public class FunctionDefineToken extends VarargOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
FunctionDefineNode node = new FunctionDefineNode(this);
node.setName(args.get(0).getText());
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/MultiplicationToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/MultiplicationToken.java
index fc55e7a..8d9d429 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/MultiplicationToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/MultiplicationToken.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.MultiplicationNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 15.6.2016.
@@ -13,7 +13,7 @@ public class MultiplicationToken extends BinaryOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new MultiplicationNode(this,
lhs.generateNode(),
rhs.generateNode()
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/NegationToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/NegationToken.java
index fbe0787..1252e38 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/NegationToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/NegationToken.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.NegationNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 21.6.2016.
@@ -14,7 +14,7 @@ public class NegationToken extends UnaryOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new NegationNode(this, operand.generateNode());
}
}
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/OpenParenToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/OpenParenToken.java
index 37a1df0..07469e1 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/OpenParenToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/OpenParenToken.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.ParameterListNode;
import com.jantuomi.borker.core.tokenizer.token.Token;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 19.6.2016.
@@ -14,7 +14,7 @@ public class OpenParenToken extends VarargOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
ParameterListNode node = new ParameterListNode(this);
for (Token token : args) {
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/StringLiteralToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/StringLiteralToken.java
index 7370444..13135fa 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/StringLiteralToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/StringLiteralToken.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.StringLiteralNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 21.6.2016.
@@ -13,7 +13,7 @@ public class StringLiteralToken extends TerminalToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new StringLiteralNode(this);
}
}
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/SubtractionToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/SubtractionToken.java
index 9e9d2cb..06effcd 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/SubtractionToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/SubtractionToken.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.SubtractionNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 16.6.2016.
@@ -13,7 +13,7 @@ public class SubtractionToken extends BinaryOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
return new SubtractionNode(this,
lhs.generateNode(),
rhs.generateNode()
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/SymbolToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/SymbolToken.java
index 76dbad2..60dd133 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/SymbolToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/SymbolToken.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.ParameterListNode;
import com.jantuomi.borker.core.parser.ast.SymbolNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 16.6.2016.
@@ -15,7 +15,7 @@ public class SymbolToken extends OptionalArgumentToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
SymbolNode node = new SymbolNode(this);
node.setName(this.getText());
if (optionalArgument != null) {
diff --git a/src/main/com/jantuomi/borker/core/tokenizer/token/types/VariableDeclareToken.java b/src/main/com/jantuomi/borker/core/tokenizer/token/types/VariableDeclareToken.java
index c999452..2d0ff88 100644
--- a/src/main/com/jantuomi/borker/core/tokenizer/token/types/VariableDeclareToken.java
+++ b/src/main/com/jantuomi/borker/core/tokenizer/token/types/VariableDeclareToken.java
@@ -3,7 +3,7 @@ package com.jantuomi.borker.core.tokenizer.token.types;
import com.jantuomi.borker.core.parser.ast.ASTNode;
import com.jantuomi.borker.core.parser.ast.SymbolNode;
import com.jantuomi.borker.core.parser.ast.VariableDeclareNode;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
/**
* Created by jan on 20.6.2016.
@@ -16,7 +16,7 @@ public class VariableDeclareToken extends UnaryOperatorToken {
}
@Override
- public ASTNode generateNode() throws InterpreterException {
+ public ASTNode generateNode() throws BorkError {
SymbolToken st = (SymbolToken) operand;
VariableDeclareNode node = new VariableDeclareNode(this,
(SymbolNode) st.generateNode());
diff --git a/src/main/com/jantuomi/borker/exception/InterpreterException.java b/src/main/com/jantuomi/borker/exception/BorkError.java
index 153da0a..a9edb20 100644
--- a/src/main/com/jantuomi/borker/exception/InterpreterException.java
+++ b/src/main/com/jantuomi/borker/exception/BorkError.java
@@ -7,7 +7,7 @@ import java.util.Map;
/**
* Created by jan on 12.6.2016.
*/
-public class InterpreterException extends Exception {
+public class BorkError extends Exception {
public enum ExceptionType {
IllegalTokenError,
@@ -30,7 +30,7 @@ public class InterpreterException extends Exception {
private ExceptionType exceptionType;
private String completeMessage;
- public InterpreterException(ExceptionType exceptionType, int line, String... args) {
+ public BorkError(ExceptionType exceptionType, int line, String... args) {
super(exceptionType.toString(), null, false, false);
this.exceptionType = exceptionType;
this.completeMessage = formatMessage(exceptionType.toString() + ": " + what(exceptionType), line, args);
diff --git a/src/main/com/jantuomi/borker/exception/ExceptionManager.java b/src/main/com/jantuomi/borker/exception/ExceptionManager.java
index b9b302b..238c341 100644
--- a/src/main/com/jantuomi/borker/exception/ExceptionManager.java
+++ b/src/main/com/jantuomi/borker/exception/ExceptionManager.java
@@ -14,8 +14,8 @@ public class ExceptionManager {
return instance;
}
- public static void raise(InterpreterException.ExceptionType ex, int line, String... args) throws InterpreterException {
- InterpreterException e = new InterpreterException(ex, line, args);
+ public static void raise(BorkError.ExceptionType ex, int line, String... args) throws BorkError {
+ BorkError e = new BorkError(ex, line, args);
throw e;
}
}
diff --git a/src/test/com/jantuomi/borker/MainTest.java b/src/test/com/jantuomi/borker/MainTest.java
index e0342a4..6e45892 100644
--- a/src/test/com/jantuomi/borker/MainTest.java
+++ b/src/test/com/jantuomi/borker/MainTest.java
@@ -1,6 +1,6 @@
package com.jantuomi.borker;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -43,7 +43,7 @@ public class MainTest {
}
@Test
- public void testWholeProcedure() throws InterpreterException {
+ public void testWholeProcedure() throws BorkError {
String input = "- + 2 5 1";
Main.run(input);
diff --git a/src/test/com/jantuomi/borker/core/tokenizer/TokenizerTest.java b/src/test/com/jantuomi/borker/core/tokenizer/TokenizerTest.java
index fdaa022..7f07e67 100644
--- a/src/test/com/jantuomi/borker/core/tokenizer/TokenizerTest.java
+++ b/src/test/com/jantuomi/borker/core/tokenizer/TokenizerTest.java
@@ -2,7 +2,7 @@ package com.jantuomi.borker.core.tokenizer;
import com.jantuomi.borker.core.tokenizer.token.Token;
import com.jantuomi.borker.core.tokenizer.token.types.IntegerLiteralToken;
-import com.jantuomi.borker.exception.InterpreterException;
+import com.jantuomi.borker.exception.BorkError;
import org.junit.Test;
import java.util.List;
@@ -15,7 +15,7 @@ import static org.junit.Assert.assertTrue;
public class TokenizerTest {
@Test
- public void testAddition() throws InterpreterException {
+ public void testAddition() throws BorkError {
String testString = "1 2 +";
List<Token> list = Tokenizer.getInstance().tokenize(testString);