aboutsummaryrefslogtreecommitdiff
path: root/asm/parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'asm/parser.h')
-rw-r--r--asm/parser.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/asm/parser.h b/asm/parser.h
index 09a11d4..9da1117 100644
--- a/asm/parser.h
+++ b/asm/parser.h
@@ -17,7 +17,20 @@
#include <vm/inst.h>
-inst_t parse_next_inst(token_stream_t *);
-inst_t *parse_stream(token_stream_t *, size_t *);
+typedef enum
+{
+ PERR_OK = 0,
+ PERR_INTEGER_OVERFLOW,
+ PERR_NOT_A_NUMBER,
+ PERR_EXPECTED_TYPE,
+ PERR_EXPECTED_SYMBOL,
+ PERR_EXPECTED_OPERAND,
+ PERR_UNKNOWN_OPERATOR,
+} perr_t;
+
+const char *perr_as_cstr(perr_t);
+
+perr_t parse_next_inst(token_stream_t *, inst_t *);
+perr_t parse_stream(token_stream_t *, inst_t **, size_t *);
#endif