projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: Add apply
[fw/altos]
/
src
/
lisp
/
ao_lisp.h
diff --git
a/src/lisp/ao_lisp.h
b/src/lisp/ao_lisp.h
index 77a94cf14eda714b55f60ca36f412a29b9cd4739..a445ddddaadf991012fd2c6387b7b0da1e2d34fe 100644
(file)
--- a/
src/lisp/ao_lisp.h
+++ b/
src/lisp/ao_lisp.h
@@
-54,14
+54,14
@@
extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST] __attribute__((aligned(4)));
#define ao_lisp_pool ao_lisp_const
#define AO_LISP_POOL AO_LISP_POOL_CONST
#define ao_lisp_pool ao_lisp_const
#define AO_LISP_POOL AO_LISP_POOL_CONST
-#define _atom(n) ao_lisp_atom_poly(ao_lisp_atom_intern(
#
n))
+#define _atom(n) ao_lisp_atom_poly(ao_lisp_atom_intern(n))
#define _bool(v) ao_lisp_bool_poly(ao_lisp_bool_get(v))
#define _ao_lisp_bool_true _bool(1)
#define _ao_lisp_bool_false _bool(0)
#define _bool(v) ao_lisp_bool_poly(ao_lisp_bool_get(v))
#define _ao_lisp_bool_true _bool(1)
#define _ao_lisp_bool_false _bool(0)
-#define _ao_lisp_atom_eof _atom(
eof
)
-#define _ao_lisp_atom_else _atom(
else
)
+#define _ao_lisp_atom_eof _atom(
"eof"
)
+#define _ao_lisp_atom_else _atom(
"else"
)
#define AO_LISP_BUILTIN_ATOMS
#include "ao_lisp_builtin.h"
#define AO_LISP_BUILTIN_ATOMS
#include "ao_lisp_builtin.h"
@@
-184,6
+184,7
@@
enum eval_state {
eval_val, /* Value computed */
eval_formal, /* Formal computed */
eval_exec, /* Start a lambda evaluation */
eval_val, /* Value computed */
eval_formal, /* Formal computed */
eval_exec, /* Start a lambda evaluation */
+ eval_apply, /* Execute apply */
eval_cond, /* Start next cond clause */
eval_cond_test, /* Check cond condition */
eval_progn, /* Start next progn entry */
eval_cond, /* Start next cond clause */
eval_cond_test, /* Check cond condition */
eval_progn, /* Start next progn entry */