diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-10 12:11:45 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-10 12:11:45 +0200 |
commit | 4673fde605090320fbab227e56bb085eec97362a (patch) | |
tree | 5d510484d5543b4b11fd62b42a4b1e14672ff2cd /src/bootstrap/main.c | |
parent | c2bfb5368e603d686190fdc9f3ddbafbda075a9c (diff) | |
download | bdl-4673fde605090320fbab227e56bb085eec97362a.tar.gz bdl-4673fde605090320fbab227e56bb085eec97362a.zip |
Add boolean primitives and more (better) tests
Diffstat (limited to 'src/bootstrap/main.c')
-rwxr-xr-x | src/bootstrap/main.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/bootstrap/main.c b/src/bootstrap/main.c index 95b2e49..a8ba7bc 100755 --- a/src/bootstrap/main.c +++ b/src/bootstrap/main.c | |||
@@ -37,8 +37,11 @@ init(void) { | |||
37 | environment[env_n++] = (EnvSymbol){MAKE_SYM("*"), make_procedure(proc_mul)}; | 37 | environment[env_n++] = (EnvSymbol){MAKE_SYM("*"), make_procedure(proc_mul)}; |
38 | environment[env_n++] = (EnvSymbol){MAKE_SYM("/"), make_procedure(proc_div)}; | 38 | environment[env_n++] = (EnvSymbol){MAKE_SYM("/"), make_procedure(proc_div)}; |
39 | environment[env_n++] = (EnvSymbol){MAKE_SYM("boolean?"), make_procedure(proc_is_boolean)}; | 39 | environment[env_n++] = (EnvSymbol){MAKE_SYM("boolean?"), make_procedure(proc_is_boolean)}; |
40 | environment[env_n++] = (EnvSymbol){MAKE_SYM("false?"), make_procedure(proc_is_false)}; | 40 | environment[env_n++] = (EnvSymbol){MAKE_SYM("not"), make_procedure(proc_not)}; |
41 | environment[env_n++] = (EnvSymbol){MAKE_SYM("and"), make_procedure(proc_and)}; | ||
42 | environment[env_n++] = (EnvSymbol){MAKE_SYM("or"), make_procedure(proc_or)}; | ||
41 | environment[env_n++] = (EnvSymbol){MAKE_SYM("display"), make_procedure(proc_display)}; | 43 | environment[env_n++] = (EnvSymbol){MAKE_SYM("display"), make_procedure(proc_display)}; |
44 | environment[env_n++] = (EnvSymbol){MAKE_SYM("print"), make_procedure(proc_print)}; | ||
42 | } | 45 | } |
43 | 46 | ||
44 | void | 47 | void |
@@ -64,8 +67,9 @@ eval_line(FILE *fd, char delimiter) { | |||
64 | printf("\n"); | 67 | printf("\n"); |
65 | printf("EVAL: "); | 68 | printf("EVAL: "); |
66 | #endif | 69 | #endif |
67 | display(eval(ast)); | 70 | if (display(eval(ast))) { |
68 | printf("\n"); | 71 | printf("\n"); |
72 | }; | ||
69 | } | 73 | } |
70 | } | 74 | } |
71 | } | 75 | } |