From e7b46b0ff92b872d83cac770e924979d1c70a48e Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Mon, 1 May 2023 19:45:59 -0400 Subject: [PATCH] tweak: save again. --- mumble | Bin 103664 -> 99568 bytes src/mumble.c | 71 ++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/mumble b/mumble index ae4f8d41cbee0921d2b21a9c9652ba382a6ddb78..e3d2a884ea75eee437f1f0c15c5d276ba55f7326 100755 GIT binary patch delta 25413 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 Ck+SXp delta 26270 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 diff --git a/src/mumble.c b/src/mumble.c index bc3bee7..e530a1e 100644 --- a/src/mumble.c +++ b/src/mumble.c @@ -228,7 +228,7 @@ lispval* take_lispval(lispval* v, int i){ delete_lispval(v); return x; } - +/* lispval* builtin_op(char* op, lispval* v){ // For now, ensure all args are numbers for(int i=0; icount; i++){ @@ -249,7 +249,7 @@ lispval* builtin_op(char* op, lispval* v){ lispval* x = pop_lispval(v,0); while(v->count > 0){ - /* Pop the next element */ + // Pop the next element lispval* y = pop_lispval(v, 0); if (strcmp(op, "+") == 0) { x->num += y->num; } @@ -271,6 +271,49 @@ lispval* builtin_op(char* op, lispval* v){ return lispval_err("Error: Incorrect number of args. Perhaps a lispval->count was wrongly initialized?"); } } +*/ + + +lispval* builtin_op(lispval* a, char* op) { + return lispval_num(1); + /* Ensure all arguments are numbers */ + for (int i = 0; i < a->count; i++) { + if (a->cell[i]->type != LISPVAL_NUM) { + // delete_lispval(a); + return lispval_err("Cannot operate on non-number!"); + } + } + + /* Pop the first element */ + lispval* x = pop_lispval(a, 0); + + /* If no arguments and sub then perform unary negation */ + if ((strcmp(op, "-") == 0) && a->count == 0) { + x->num = -x->num; + } + + /* While there are still elements remaining */ + while (a->count > 0) { + + /* Pop the next element */ + lispval* y = pop_lispval(a, 0); + + if (strcmp(op, "+") == 0) { x->num += y->num; } + if (strcmp(op, "-") == 0) { x->num -= y->num; } + if (strcmp(op, "*") == 0) { x->num *= y->num; } + if (strcmp(op, "/") == 0) { + if (y->num == 0) { + delete_lispval(x); delete_lispval(y); + return lispval_err("Division By Zero!"); + } + x->num /= y->num; + } + + delete_lispval(y); + } + + delete_lispval(a); return x; +} lispval* evaluate_lispval(lispval* l) { @@ -285,22 +328,13 @@ lispval* evaluate_lispval(lispval* l) return pop_lispval(l, i); } } - - // Check if the first item of a list is a symbol. - if(l->count > 0 && l->cell[0]->type == LISPVAL_SYM){ - /* lispval* lisp_op = pop_lispval(l, 0); - lispval* result = builtin_op(lisp_op->sym, l); - delete_lispval(l); - delete_lispval(lisp_op); - return result; - */ - return l; - }else{ - return l; - // In particular, leave (5) (the list that contains 5) as is - // rather than returning 5. - } + // Check if the first element is an operation. + if(l->count >=2 && ( (l->cell[0])->type == LISPVAL_SYM)){ + lispval* op = pop_lispval(l, 0); + lispval* result = builtin_op(l, op->sym); + return result; + } return l; } // Main @@ -359,7 +393,8 @@ int main(int argc, char** argv) printf("\nParenthesis printing: \n"); print_lispval_parenthesis(l); } - evaluate_lispval(l); + lispval* result = evaluate_lispval(l); + print_lispval_parenthesis(result); delete_lispval(l); } else { /* Otherwise Print the Error */