changeset 129:e4c55f83eef0

types: Update according to previous two commits
author Lewin Bormann <lbo@spheniscida.de>
date Sun, 01 Sep 2019 19:22:31 +0200
parents 38714d118bbd
children 75ed83d94261
files src/types.h
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/types.h	Sun Sep 01 19:22:12 2019 +0200
+++ b/src/types.h	Sun Sep 01 19:22:31 2019 +0200
@@ -19,12 +19,14 @@
 /**
  * @brief Type of a reference: Symbolic or numeric.
  *
- * Symbolic references can be resolved to a numeric one, creating a "value slot" (see `value.h`).
+ * Symbolic references can be resolved to a numeric one, creating a "value slot"
+ * (see `value.h`).
  */
 typedef enum {
     YREF_UNDEF = 0,
     YREF_ID = 1,
     YREF_SYM = 2,
+    YREF_STACK = 3,
 } YREF_TYPE;
 
 /**
@@ -40,6 +42,9 @@
         ystr_t sym;
         /// An ID pointing to a slot in the values table (see value.c)
         yvalue_id_t id;
+        /// An index relative to the top of the call_stack, describing a
+        /// function argument.
+        uint64_t cix;
     } ref;
 } yref_t;
 
@@ -72,6 +77,9 @@
     YBUILTIN_CAR = 12,
     YBUILTIN_CDR = 13,
     YBUILTIN_PUSH = 14,
+
+    YBUILTIN_RAISE = 15,
+    YBUILTIN_RECOVER = 16,
 } YBUILTIN_TYPE;
 
 /**