Mercurial > lbo > hg > ylisp
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; /**