From c697b71d676807494c35006221b333b81a7909f6 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Mon, 14 Aug 2017 22:33:18 +0000 Subject: [PATCH] WIP --- runtime.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/runtime.c b/runtime.c index de3825e0..1b65c669 100644 --- a/runtime.c +++ b/runtime.c @@ -5941,7 +5941,23 @@ void Cyc_io_read_token(void *data, object cont, object port) if (p->tok_end) _read_return_atom(data, cont, p); _read_string(data, cont, p); } else if (c == '#' && !p->tok_end) { - Cyc_rt_raise_msg(data, "TODO: parsing for #"); + _read_next_char(data, cont, p); // Fill buffer + c = p->mem_buf[p->buf_idx++]; + p->col_num++; + // TODO: block comment + if (c == 't') { + return_closcall1(data, cont, boolean_t); + // TODO: #true + } else if (c == 'f') { + return_closcall1(data, cont, boolean_f); + } + // TODO: #false + // TODO: numbers + // TODO: bytevector + // TODO: vector + // TODO: character + // TODO: datum comment + _read_error(data, p, "Unhandled input sequence"); } else { // No special meaning, add char to current token (an atom) _read_add_to_tok_buf(p, c);