diff options
Diffstat (limited to 'dice-lang/src/bjc/dicelang/Errors.java')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/Errors.java | 82 |
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); } |
