From d596e90554816e62d39fbaf68713810ed1eaf764 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 12 Jan 2022 18:46:55 +0000 Subject: =?UTF-8?q?Add=20statements=20separated=20by=20=E2=8B=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 378f840..784bc25 100644 --- a/main.c +++ b/main.c @@ -58,13 +58,18 @@ prompt(Rune *pr) Datum * evalline(Rune *line) { - int ntoks; - Datum *tokens = lexline(line, &ntoks, globalsymtab); - Datum *result = eval(tokens, &ntoks); - if(ntoks == 1) + Statement *stmts = lexline(line, globalsymtab); + Datum *result = eval(stmts); + if(result) return result; else{ - free(tokens); + Statement *s = stmts; + while(s != nil){ + Statement *tmp = s; + s = s->next; + free(tmp->toks); + free(tmp); + } return nil; } } \ No newline at end of file -- cgit v1.2.3