aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-10-12 18:15:03 +0200
committerBad Diode <bd@badd10de.dev>2021-10-12 18:15:03 +0200
commitf834e2d832ed574d4d8d341bce5e0a57a0c66a61 (patch)
treee6ca2756ba226ad23ffa3ad6a08825c1a346be71
parent9e186234e75a1142f2a6bf815ffec1db167a618e (diff)
downloadbdl-f834e2d832ed574d4d8d341bce5e0a57a0c66a61.tar.gz
bdl-f834e2d832ed574d4d8d341bce5e0a57a0c66a61.zip
Resolve quote symbol directly on parserv0.3
-rw-r--r--src/bootstrap/parser.c15
1 files 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) {
91 return obj_err; 91 return obj_err;
92 } break; 92 } break;
93 case TOKEN_QUOTE: { 93 case TOKEN_QUOTE: {
94 // TODO: Implement. 94 Object *quote_sym = make_symbol((StringView){"quote", 5});
95 error_push((Error){ 95 Object *next_obj = parse_tree(vs);
96 .type = ERR_TYPE_PARSER, 96 if (next_obj == obj_err) {
97 .value = ERR_NOT_IMPLEMENTED, 97 free_objects(quote_sym);
98 .line = tok.line, 98 return obj_err;
99 .col = tok.column, 99 }
100 }); 100 return make_pair(quote_sym, make_pair(next_obj, obj_nil));
101 return obj_err;
102 } break; 101 } break;
103 case TOKEN_LPAREN: { 102 case TOKEN_LPAREN: {
104 Object *obj = parse_list(vs); 103 Object *obj = parse_list(vs);