From: Keith Packard Date: Fri, 11 Nov 2016 07:24:11 +0000 (-0800) Subject: altos/lisp: use regular read-eval-print loop for make const X-Git-Tag: 1.7~182 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=fb710f7f4f24f74ac3d45fcc423803384d986bb2 altos/lisp: use regular read-eval-print loop for make const No need to open code this sequence of operations. Signed-off-by: Keith Packard --- diff --git a/src/lisp/Makefile b/src/lisp/Makefile index 9c99f05c..aa542021 100644 --- a/src/lisp/Makefile +++ b/src/lisp/Makefile @@ -19,6 +19,7 @@ SRCS=\ ao_lisp_frame.c \ ao_lisp_lambda.c \ ao_lisp_eval.c \ + ao_lisp_rep.c \ ao_lisp_error.c OBJS=$(SRCS:.c=.o) diff --git a/src/lisp/ao_lisp_make_const.c b/src/lisp/ao_lisp_make_const.c index bb4afbfb..4fc43e58 100644 --- a/src/lisp/ao_lisp_make_const.c +++ b/src/lisp/ao_lisp_make_const.c @@ -105,20 +105,12 @@ main(int argc, char **argv) ao_lisp_atom_set(ao_lisp_atom_poly(a), ao_lisp_atom_poly(a)); - for (;;) { - sexpr = ao_lisp_read(); - if (!sexpr) - break; - printf ("sexpr: "); - ao_lisp_poly_print(sexpr); - printf("\n"); - val = ao_lisp_eval(sexpr); - if (ao_lisp_exception) - exit(1); - printf("\t"); - ao_lisp_poly_print(val); - printf("\n"); - } + /* end of file value */ + a = ao_lisp_atom_intern("eof"); + ao_lisp_atom_set(ao_lisp_atom_poly(a), + ao_lisp_atom_poly(a)); + + ao_lisp_read_eval_print(); /* Reduce to referenced values */ ao_lisp_collect();