From f834e2d832ed574d4d8d341bce5e0a57a0c66a61 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 12 Oct 2021 18:15:03 +0200 Subject: Resolve quote symbol directly on parser --- src/bootstrap/parser.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/bootstrap/parser.c b/src/bootstrap/parser.c index e690c29..f047b8e 100644 --- a/src/bootstrap/parser.c +++ b/src/bootstrap/parser.c @@ -91,14 +91,13 @@ parse_tree(Visitor *vs) { return obj_err; } break; case TOKEN_QUOTE: { - // TODO: Implement. - error_push((Error){ - .type = ERR_TYPE_PARSER, - .value = ERR_NOT_IMPLEMENTED, - .line = tok.line, - .col = tok.column, - }); - return obj_err; + Object *quote_sym = make_symbol((StringView){"quote", 5}); + Object *next_obj = parse_tree(vs); + if (next_obj == obj_err) { + free_objects(quote_sym); + return obj_err; + } + return make_pair(quote_sym, make_pair(next_obj, obj_nil)); } break; case TOKEN_LPAREN: { Object *obj = parse_list(vs); -- cgit v1.2.1