summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/v2/Shunter.java
diff options
context:
space:
mode:
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v2/Shunter.java')
-rw-r--r--dice-lang/src/bjc/dicelang/v2/Shunter.java23
1 files changed, 10 insertions, 13 deletions
diff --git a/dice-lang/src/bjc/dicelang/v2/Shunter.java b/dice-lang/src/bjc/dicelang/v2/Shunter.java
index 7e17e6f..014be7d 100644
--- a/dice-lang/src/bjc/dicelang/v2/Shunter.java
+++ b/dice-lang/src/bjc/dicelang/v2/Shunter.java
@@ -10,6 +10,7 @@ import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;
+import static bjc.dicelang.v2.Errors.ErrorKey.*;
import static bjc.dicelang.v2.Token.Type.*;
public class Shunter {
@@ -73,10 +74,7 @@ public class Shunter {
|| unaryAdjectives.contains(tk.type);
if(isOp) {
- System.out.printf("\tError: Unary operator %s is an"
- + " adjective, not an adverb (can't be applied"
- + " to operator %s)\n", currOperator, tk );
-
+ Errors.inst.printError(EK_SHUNT_NOTADV, currOperator.toString(), tk.toString());
return false;
}
@@ -84,8 +82,8 @@ public class Shunter {
currReturned.addLast(unaryOps.pop());
} else if (unaryAdverbs.contains(currOperator.type)) {
if(opStack.size() < 1) {
- System.out.printf("\tError: Unary operators %s is an adverb,"
- + " but there is no operator to apply it to\n");
+ Errors.inst.printError(EK_SHUNT_NOOP, currOperator.toString());
+ return false;
}
Token currOperand = opStack.peek();
@@ -95,9 +93,9 @@ public class Shunter {
|| unaryAdjectives.contains(currOperand.type);
if(!isOp) {
- System.out.printf("\tError: Unary operator %s is an adverb,"
- + " not an adjective (can't be applied to operand %s)\n",
- currOperator, tk);
+ Errors.inst.printError(EK_SHUNT_NOTADJ,
+ currOperator.toString(),
+ tk.toString());
return false;
}
@@ -140,9 +138,8 @@ public class Shunter {
}
if(!opStack.contains(matching)) {
- System.out.printf("\tError: Could not find matching grouping "
- + tk.type);
-
+ Errors.inst.printError(EK_SHUNT_NOGROUP,
+ tk.toString(), matching.toString());
return false;
}
@@ -167,7 +164,7 @@ public class Shunter {
}
if(currReturned.size() == 0) {
- System.out.println("\tERROR: Didn't find grouper for group seperator to attach to");
+ Errors.inst.printError(EK_SHUNT_INVSEP);
return false;
}