diff options
| author | Mistivia <i@mistivia.com> | 2025-06-21 12:00:31 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-21 12:00:31 +0800 |
| commit | 1caa0e8862905cc7d4ed0cba4082e4d5ce12e6ed (patch) | |
| tree | 0452c5b38b99625fd9fdea6fb3beede56e325134 /src/main.c | |
| parent | 86742c415b34ae063bf8597d9228e9d37f0d7294 (diff) | |
load prelude
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -5,20 +5,17 @@ int main() { int ret = -1; Interp interp; - Parser parser; Interp_init(&interp); - Parser_init(&parser); - parser.ctx = &interp; - Parser_set_readline(&parser); + Parser_set_readline(interp.parser); SExpRef sexp, res; ParseResult parse_result; while (1) { - parse_result = parse_sexp(&parser); + parse_result = parse_sexp(interp.parser); if (parse_result.errmsg != NULL) { - if (Parser_peek(&parser) == EOF) goto end; + if (Parser_peek(interp.parser) == EOF) goto end; fprintf(stderr, "Parsing error: %s", parse_result.errmsg); - free((void*)parser.string); - Parser_set_readline(&parser); + free((void*)interp.parser->string); + Parser_set_readline(interp.parser); continue; } @@ -36,7 +33,6 @@ int main() { lisp_print(&interp, res, stdout); } end: - Parser_free(&parser); Interp_free(&interp); return 0; } |
