diff options
| author | Mistivia <i@mistivia.com> | 2025-06-26 19:18:56 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-26 19:33:00 +0800 |
| commit | 0ba662762023b7e3788690d9990ab39e89fd6f34 (patch) | |
| tree | ade9d378c7a8e7c04ed7242626c07f889686e2a5 /src/main.c | |
| parent | e05a649c3b5b97f04756d8d08f8b8d6b5d8e672c (diff) | |
add webassembly build; readline dep is optional
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -24,16 +24,26 @@ int main(int argc, char **argv) { mainret = -1; goto end; } } +#ifdef WITHREADLINE Parser_set_readline(interp.parser); +#else + Parser_set_file(interp.parser, stdin); +#endif SExpRef sexp, res; ParseResult parse_result; while (1) { +#ifndef WITHREADLINE + printf(">>> "); + fflush(stdout); +#endif parse_result = parse_sexp(interp.parser); if (parse_result.errmsg != NULL) { if (Parser_peek(interp.parser) == EOF) goto end; fprintf(stderr, "Parsing error: %s", parse_result.errmsg); +#ifdef WITHREADLINE free((void*)interp.parser->string); Parser_set_readline(interp.parser); +#endif continue; } |
