diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2014-05-16 00:05:37 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2014-05-16 00:05:37 +0300 |
| commit | 6814f6b99562620e70538787b6f8d66c80f7b990 (patch) | |
| tree | fd9cdb616c6ce2610d32322645223dcb01028a52 /repl.c | |
| parent | 85cff208efd20e85e9aa644d65a0cbea5e156755 (diff) | |
| download | lispish-6814f6b99562620e70538787b6f8d66c80f7b990.tar.gz lispish-6814f6b99562620e70538787b6f8d66c80f7b990.zip | |
env support to repl
Diffstat (limited to 'repl.c')
| -rw-r--r-- | repl.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -1,14 +1,19 @@ #include <stdlib.h> #include <stdio.h> +#include <string.h> #include "parse.h" #include "eval.h" #include "list.h" +#include "env.h" #include "linenoise.h" int main(int argc, char **argv) { char *line; + struct list *env; + + env = env_new(); linenoiseSetMultiLine(0); @@ -16,9 +21,15 @@ int main(int argc, char **argv) { linenoiseHistoryAdd(line); - struct list *result = eval_str(line); - - print_list(result, 0); + if (strcmp(".clean", line) == 0) + { + env = env_new(); + } + else + { + struct list *result = eval_str_env(line, env); + print_list(result, 0); + } free(line); } |
