summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-11-17 21:12:08 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-11-17 21:12:08 -0800
commitdf70e45dae4adccca01441e0911d2f5e114e8e7f (patch)
treeab71125a6493e59b609eb5bc80bae30690d1baa9 /lib.h
parent68ca87bc780e25dea1418019161d99727225d1ce (diff)
downloadtxr-df70e45dae4adccca01441e0911d2f5e114e8e7f.tar.gz
txr-df70e45dae4adccca01441e0911d2f5e114e8e7f.tar.bz2
txr-df70e45dae4adccca01441e0911d2f5e114e8e7f.zip
Adding quote and unquote read syntax to list forms, resembling
Lisp. The difference is that splice is spelled ,* because @ already means something, and that there is only one quote operator. None of this does anything; it is only syntax. * lib.c (quote_s, qquote_s, unquote_s, splice_s): New variables. (obj_init): New variables initialized. * lib.h (quote_s, qquote_s, unquote_s, splice_s): Declared. * parser.l: Added recognition rules. * parser.y (SPLICE): New symbolic token. (list): Added new syntax for quote and splicing.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index a395b76b..5700a35c 100644
--- a/lib.h
+++ b/lib.h
@@ -243,6 +243,7 @@ extern val null, t, cons_s, str_s, chr_s, num_s, sym_s, pkg_s, fun_s, vec_s;
extern val stream_s, hash_s, hash_iter_s, lcons_s, lstr_s, cobj_s, cptr_s;
extern val var_s, expr_s, regex_s, chset_s, set_s, cset_s, wild_s, oneplus_s;
extern val nongreedy_s, compiled_regex_s;
+extern val quote_s, qquote_s, unquote_s, splice_s;
extern val zeroplus_s, optional_s, compl_s, compound_s, or_s, and_s, quasi_s;
extern val skip_s, trailer_s, block_s, next_s, freeform_s, fail_s, accept_s;
extern val all_s, some_s, none_s, maybe_s, cases_s, collect_s, until_s, coll_s;