summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/exceptions
diff options
context:
space:
mode:
authorBen Culkin <scorpress@gmail.com>2020-03-28 12:02:32 -0400
committerBen Culkin <scorpress@gmail.com>2020-03-28 12:02:32 -0400
commitb453ec0047b5a87e36098b3519e085f03d917d81 (patch)
tree881e8f129d87decc34524cf467df8d743e27166b /base/src/main/java/bjc/utils/exceptions
parent373464d30d87bd8702fe27b920ed1406a0833ef3 (diff)
Add DualExprParser
This class parses DualExprs from prefix expressions
Diffstat (limited to 'base/src/main/java/bjc/utils/exceptions')
-rw-r--r--base/src/main/java/bjc/utils/exceptions/InvalidToken.java9
-rw-r--r--base/src/main/java/bjc/utils/exceptions/NonConstantPower.java9
-rw-r--r--base/src/main/java/bjc/utils/exceptions/OperandsRemaining.java28
3 files changed, 46 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/exceptions/InvalidToken.java b/base/src/main/java/bjc/utils/exceptions/InvalidToken.java
new file mode 100644
index 0000000..b09af78
--- /dev/null
+++ b/base/src/main/java/bjc/utils/exceptions/InvalidToken.java
@@ -0,0 +1,9 @@
+package bjc.utils.exceptions;
+
+public class InvalidToken extends RuntimeException {
+ private static final long serialVersionUID = -5077165766341244689L;
+
+ public InvalidToken(String tok) {
+ super(String.format("Did not recognize token '%s' as a valid token", tok));
+ }
+} \ No newline at end of file
diff --git a/base/src/main/java/bjc/utils/exceptions/NonConstantPower.java b/base/src/main/java/bjc/utils/exceptions/NonConstantPower.java
new file mode 100644
index 0000000..143fb4d
--- /dev/null
+++ b/base/src/main/java/bjc/utils/exceptions/NonConstantPower.java
@@ -0,0 +1,9 @@
+package bjc.utils.exceptions;
+
+public class NonConstantPower extends RuntimeException {
+ private static final long serialVersionUID = 1640883448305031149L;
+
+ public NonConstantPower() {
+ super("Cannot raise an expression to a non-constant power");
+ }
+} \ No newline at end of file
diff --git a/base/src/main/java/bjc/utils/exceptions/OperandsRemaining.java b/base/src/main/java/bjc/utils/exceptions/OperandsRemaining.java
new file mode 100644
index 0000000..ca83b30
--- /dev/null
+++ b/base/src/main/java/bjc/utils/exceptions/OperandsRemaining.java
@@ -0,0 +1,28 @@
+package bjc.utils.exceptions;
+
+/**
+ * Exception thrown when an operation has finished, but still has more input
+ * that has not been processed.
+ *
+ * @author Ben Culkin
+ *
+ */
+public class OperandsRemaining extends RuntimeException {
+ private static final long serialVersionUID = 4848222659854671315L;
+
+ /**
+ * Create a new OperandsRemaining exception with a default message.
+ */
+ public OperandsRemaining() {
+ super("Operation had input left-over");
+ }
+
+ /**
+ * Create a new OperandsRemaining exception with a specific message.
+ *
+ * @param msg The message of the exception.
+ */
+ public OperandsRemaining(String msg) {
+ super(msg);
+ }
+}