aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-26 19:18:56 +0800
committerMistivia <i@mistivia.com>2025-06-26 19:33:00 +0800
commit0ba662762023b7e3788690d9990ab39e89fd6f34 (patch)
treeade9d378c7a8e7c04ed7242626c07f889686e2a5 /src/main.c
parente05a649c3b5b97f04756d8d08f8b8d6b5d8e672c (diff)
add webassembly build; readline dep is optional
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 86a5d36..4ebcd03 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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;
}