From 06665c7eade0f3c9005c503d9b5fa5f7086279ba Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Tue, 2 May 2023 01:25:41 -0400 Subject: [PATCH] step: debug eval --- mumble | Bin 111948 -> 111636 bytes src/mumble.c | 16 +++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/mumble b/mumble index d862f30ee7e73b75e7634be3c4686c432c708b34..8a7507a5b8363ba44a2728b4abd356bd87d0d3df 100755 GIT binary patch delta 27746 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 delta 28367 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 diff --git a/src/mumble.c b/src/mumble.c index 172e46a..b86ad7f 100644 --- a/src/mumble.c +++ b/src/mumble.c @@ -314,7 +314,7 @@ lispval* clone_lispval(lispval* old) lispval* pop_lispval(lispval* v, int i) { - LISPVAL_ASSERT(v->type == LISPVAL_QEXPR || v->type == LISPVAL_SEXPR, "Error: function head passed too many arguments"); + LISPVAL_ASSERT(v->type == LISPVAL_QEXPR || v->type == LISPVAL_SEXPR, "Error: function pop passed too many arguments"); lispval* r = v->cell[i]; /* Shift memory after the item at "i" over the top */ memmove(&v->cell[i], &v->cell[i + 1], @@ -330,7 +330,7 @@ lispval* pop_lispval(lispval* v, int i) lispval* take_lispval(lispval* v, int i) { // Unneeded. - LISPVAL_ASSERT(v->type == LISPVAL_QEXPR || v->type == LISPVAL_SEXPR, "Error: function head passed too many arguments"); + LISPVAL_ASSERT(v->type == LISPVAL_QEXPR || v->type == LISPVAL_SEXPR, "Error: function take_lispval passed too many arguments"); lispval* x = pop_lispval(v, i); delete_lispval(v); return x; @@ -348,7 +348,7 @@ lispval* builtin_head(lispval* v){ // printf("Passed assertions, v->cell[0]->count = %d\n", v->cell[0]->count); // print_lispval_parenthesis(v); // print_lispval_parenthesis(v->cell[0]); - lispval* result = clone_lispval(v->cell[0]); + lispval* result = clone_lispval(v->cell[0]->cell[0]); // printf("Cloned lispval, result->type = %d\n", result->type); // lispval* result = pop_lispval(v->cell[0], 0); // ^ also possible @@ -375,14 +375,16 @@ lispval* builtin_tail(lispval* v) lispval* new = lispval_qexpr(); if(old->count == 1){ return new; - } else { + } else if (old->count > 1 && old->type == LISPVAL_QEXPR) { for(int i=1; i<(old->count); i++){ // lispval_append_child(new, clone_lispval(old->cell[i])); lispval_append_child(new, old->cell[i]); } + return clone_lispval(new); + } else { + return lispval_err("Error: Unreachable point reached in tail function"); } - return clone_lispval(new); // Returns something that should be freed later: yes. // Returns something that doesn't share pointers with the input: yes. } @@ -405,8 +407,8 @@ lispval* builtin_eval(lispval* v){ // not sure how this will end up working, but we'll see LISPVAL_ASSERT(v->count ==1, "Error: function eval passed too many arguments"); LISPVAL_ASSERT(v->cell[0]->type == LISPVAL_QEXPR, "Error: Argument passed to eval is not a q-expr, i.e., a bracketed list."); - v->type=LISPVAL_SEXPR; - return evaluate_lispval(v); + v->cell[0]->type=LISPVAL_SEXPR; + return evaluate_lispval(v->cell[0]); } lispval* builtin_join(lispval* l){