summaryrefslogtreecommitdiffhomepage
path: root/eval.h
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-09-05 14:25:38 +0200
committerJo-Philipp Wich <jo@mein.io>2020-09-06 21:57:26 +0200
commit88099fdaf55a24854508b7a75d690fa76be6f44a (patch)
treed333186871ec1719bc03319f358583b655da46f2 /eval.h
parentb0153864c0cef2f4ba6202a0242f93d607ccbae9 (diff)
treewide: refactor internal AST structures
- unify operand and value tag structures - use a contiguous array for storing opcodes - use relative offsets for next and children ops - defer function creation to runtime - rework "this" context handling by storing context pointer in scope tags Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'eval.h')
-rw-r--r--eval.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.h b/eval.h
index 3528cc5..7f707ca 100644
--- a/eval.h
+++ b/eval.h
@@ -25,7 +25,7 @@
#include "ast.h"
__attribute__((format(printf, 3, 0))) struct json_object *
-ut_exception(struct ut_state *state, struct ut_opcode *op, const char *fmt, ...);
+ut_exception(struct ut_state *state, uint32_t op, const char *fmt, ...);
void
ut_putval(struct json_object *val);
@@ -40,7 +40,7 @@ enum json_type
ut_cast_number(struct json_object *v, int64_t *n, double *d);
struct json_object *
-ut_invoke(struct ut_state *, struct ut_opcode *, struct json_object *, struct json_object *, struct json_object *);
+ut_invoke(struct ut_state *, uint32_t, struct json_object *, struct json_object *, struct json_object *);
enum ut_error_type
ut_run(struct ut_state *state);