summaryrefslogtreecommitdiff
path: root/lisp.y
diff options
context:
space:
mode:
authorFelix Perktold <Felix.Perktold@student.uibk.ac.at>2025-12-21 14:01:36 +0100
committerFelix Perktold <Felix.Perktold@student.uibk.ac.at>2025-12-21 14:01:36 +0100
commit4f025b96cfe6bc121ea9b37eb26d8814dd838647 (patch)
tree50a034fe08d59d52a6c90fee19d1179a76736221 /lisp.y
parente3b757ab811e82f8e1022b0bba0be5f3c328f8b7 (diff)
start implementing eval
Diffstat (limited to 'lisp.y')
-rw-r--r--lisp.y10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp.y b/lisp.y
index 93dd877..8ed479d 100644
--- a/lisp.y
+++ b/lisp.y
@@ -28,8 +28,14 @@ static int is_integer(double x) {
%start sexprs
%%
-sexprs: sexpr { print_value($1); printf("\n"); }
- | sexprs sexpr { print_value($2); printf("\n"); };
+sexprs: sexpr
+ {
+ print_value(eval(global_env, $1)); printf("\n");
+ }
+ | sexprs sexpr
+ {
+ print_value(eval(global_env, $2)); printf("\n");
+ };
sexpr: atom
| list