summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/Errors.java
diff options
context:
space:
mode:
Diffstat (limited to 'dice-lang/src/bjc/dicelang/Errors.java')
-rw-r--r--dice-lang/src/bjc/dicelang/Errors.java82
1 files changed, 68 insertions, 14 deletions
diff --git a/dice-lang/src/bjc/dicelang/Errors.java b/dice-lang/src/bjc/dicelang/Errors.java
index f5ced44..31d57b5 100644
--- a/dice-lang/src/bjc/dicelang/Errors.java
+++ b/dice-lang/src/bjc/dicelang/Errors.java
@@ -277,10 +277,13 @@ public class Errors {
} else {
System.out.println("\t? " + key.ordinal());
}
+
break;
+
case DEV:
devError(key, args);
break;
+
default:
System.out.println("\tERROR ERROR: Unknown error mode " + mode);
}
@@ -291,158 +294,209 @@ public class Errors {
case EK_DFN_PREDSYN:
System.out.printf("\tERROR: Incorrect define guard syntax %s\n", args[0]);
break;
+
case EK_DFN_SRCSYN:
System.out.printf("\tERROR: Incorrect define match syntax %s\n", args[0]);
break;
+
case EK_DFN_RECUR:
System.out.printf(
- "\tERROR: Recursive define didn't converge after %s iterations."
- + " Original string was %s, last iteration was %s\n",
- args[0], args[1], args[2]);
+ "\tERROR: Recursive define didn't converge after %s iterations."
+ + " Original string was %s, last iteration was %s\n",
+ args[0], args[1], args[2]);
break;
+
case EK_CONS_INVPRAG:
System.out.printf("\tERROR: Unknown pragma %s\n", args[0]);
break;
+
case EK_CONS_INVDEFINE:
System.out.printf("\tERROR: Improperly formatted define %s\n", args[0]);
break;
+
case EK_ENG_NOOPENING:
System.out.printf("\tERROR: Encountered closing doublebrace without"
- + " matching opening doublebrace\n");
+ + " matching opening doublebrace\n");
break;
+
case EK_ENG_NOCLOSING:
System.out.printf("\tERROR: Reached end of string before closing doublebrace was found\n");
break;
+
case EK_TOK_UNGROUP:
System.out.printf("\tERROR: Unrecognized grouping token %s\n", args[0]);
break;
+
case EK_TOK_INVBASE:
System.out.printf("\tERROR: Invalid flexadecimal base %s\n", args[0]);
break;
+
case EK_TOK_INVFLEX:
- System.out.printf("\tERROR: Invalid flexadecimal number %s in base %s\n", args[0], args[1]);
+ System.out.printf("\tERROR: Invalid flexadecimal number %s in base %s\n", args[0],
+ args[1]);
break;
+
case EK_EVAL_INVNODE:
System.out.printf("\tERROR: Unknown node in evaluator: %s\n", args[0]);
break;
+
case EK_EVAL_INVBIN:
System.out.printf("\tERROR: Binary operators take 2 operands, not %s\n"
- + "\tProblem node is %s\n", args[0], args[1]);
+ + "\tProblem node is %s\n", args[0], args[1]);
break;
+
case EK_EVAL_UNBIN:
System.out.printf("\tERROR: Unknown binary operator %s\n", args[0]);
break;
+
case EK_EVAL_STRINGMATH:
System.out.printf("\tERROR: Math operators don't work on strings\n");
break;
+
case EK_EVAL_DIVZERO:
System.out.printf("\tERROR: Attempted divide by zero\n");
break;
+
case EK_EVAL_DIVDICE:
System.out.printf("\tERROR: Dice cannot be divided\n");
break;
+
case EK_EVAL_UNMATH:
System.out.printf("\tERROR: Unknown math binary operator: %s\n", args[0]);
break;
+
case EK_EVAL_UNTOK:
System.out.printf("\tERROR: Unknown token ref %s\n", args[0]);
break;
+
case EK_EVAL_UNDICE:
System.out.printf("\tERROR: Unknown dice operator %s\n", args[0]);
break;
+
case EK_EVAL_INVDCREATE:
- System.out.printf("\tERROR: Dice creation operator expects integers," + " not %s\n", args[0]);
+ System.out.printf("\tERROR: Dice creation operator expects integers," + " not %s\n",
+ args[0]);
break;
+
case EK_EVAL_INVDGROUP:
- System.out.printf("\tERROR: Dice group operator expects scalar dice or integers," + " not %s\n",
- args[0]);
+ System.out.printf("\tERROR: Dice group operator expects scalar dice or integers," +
+ " not %s\n",
+ args[0]);
break;
+
case EK_EVAL_INVDICE:
System.out.printf("\tERROR: Dice operators expect scalar dice, not %s\n", args[0]);
break;
+
case EK_EVAL_MISMATH:
System.out.printf("\tERROR: Math operators expect two operands of the same type\n");
break;
+
case EK_EVAL_INVSTRING:
System.out.printf("\tERROR: Incorrect type %s to string operator\n", args[0]);
break;
+
case EK_EVAL_UNSTRING:
System.out.printf("\tERROR: Unknown string operator %s\n", args[0]);
break;
+
case EK_PARSE_NOCLOSE:
System.out.printf("\tERROR: Group closing with no possible group opener\n");
break;
+
case EK_PARSE_UNCLOSE:
System.out.printf("\tERROR: Found group closer without opener: (closing was %s"
- + ", expected %s)\n", args[0], args[1]);
+ + ", expected %s)\n", args[0], args[1]);
break;
+
case EK_PARSE_BINARY:
System.out.printf("\tERROR: Expected at least two operands\n");
break;
+
case EK_PARSE_UNOPERAND:
System.out.printf("\tERROR: Operator %s expected more operands than provided\n", args[0]);
break;
+
case EK_PARSE_INVTOKEN:
System.out.printf("\tERROR: Unrecognized token type in parsing: %s\n", args[0]);
break;
+
case EK_SHUNT_NOTADV:
System.out.printf("\tERROR: Unary operator %s is an adjective, not an adverb. It can't be"
- + " applied to the operator %s\n", args[0], args[1]);
+ + " applied to the operator %s\n", args[0], args[1]);
break;
+
case EK_SHUNT_NOTADJ:
System.out.printf("\tERROR: Unary operator %s is an adjective, not an adverb. It can't be"
- + " applied to the operator %s\n", args[0], args[1]);
+ + " applied to the operator %s\n", args[0], args[1]);
break;
+
case EK_SHUNT_NOOP:
System.out.printf("\tERROR: Unary operator %s is an adverb, but there is no operator"
- + " to apply it to\n", args[0]);
+ + " to apply it to\n", args[0]);
break;
+
case EK_SHUNT_NOGROUP:
System.out.printf("\tERROR: Couldn't find matching grouping %s (expected %s)\n", args[0],
- args[1]);
+ args[1]);
break;
+
case EK_SHUNT_NOTASSOC:
System.out.printf("\tERROR: Attempted to chain non-associative operator %s\n", args[0]);
break;
+
case EK_SHUNT_INVSEP:
System.out.printf("\tERROR: Couldn't find grouper for group seperator to attach to\n");
break;
+
case EK_STRM_NONEX:
System.out.printf("\tERROR: Attempted to switch to non-existent stream\n");
break;
+
case EK_STRM_LAST:
System.out.printf("\tERROR: Cannot delete last stream\n");
break;
+
case EK_STRM_INVCOM:
System.out.printf("\tERROR: Unknown stream control command %s\n", args[0]);
break;
+
case EK_SCL_INVTOKEN:
System.out.printf("\tERROR: Unknown SCL token %s\n", args[0]);
break;
+
case EK_SCL_MMQUOTE:
System.out.printf("\tERROR: Mismatched delimiter in SCL command\n");
break;
+
case EK_SCL_SUNDERFLOW:
System.out.printf("\tERROR: Not enough items in stack for word %s\n", args[0]);
break;
+
case EK_SCL_UNWORD:
System.out.printf("\tERROR: Unknown word %s\n", args[0]);
break;
+
case EK_CLI_UNARG:
System.out.printf("\tERROR: Unknown argument %s\n", args[0]);
break;
+
case EK_CLI_MISARG:
System.out.printf("\tERROR: Missing subargument to command %s", args[0]);
break;
+
case EK_CLI_INVDFNTYPE:
System.out.printf("\tERROR: Invalid define type %s\n", args[0]);
break;
+
case EK_MISC_IOEX:
System.out.printf("\tERROR: I/O problem with file\n");
break;
+
case EK_MISC_NOFILE:
System.out.printf("\tERROR: No such file %s\n", args[0]);
break;
+
default:
System.out.printf("\tERROR ERROR: Unknown error key %s\n", key);
}