From bb55895e9471594cde7e474d13d2c8a7ac628764 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 21 Jan 2026 09:27:59 +0000 Subject: [PATCH] Test program to read all whitespace delimited tokens in a text file --- main.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 788df7a..6d0f9ff 100644 --- a/main.c +++ b/main.c @@ -18,12 +18,25 @@ #include "./alisp.h" +const char *TOKEN_DELIM = "\n "; + int main(void) { + char filename[] = "./lorem.txt"; + FILE *fp = fopen(filename, "r"); stream_t stream = {0}; - stream_init_pipe(&stream, "", stdin); - sv_t sv = stream_substr(&stream, 10); - printf("=> `" PR_SV "`\n", SV_FMT(sv)); + stream_init_file(&stream, filename, fp); + + for (u64 token_no = 1; !stream_eoc(&stream); ++token_no) + { + // Skip forward any delimiters + stream_while(&stream, TOKEN_DELIM); + // Get the token (up until delimiter) + sv_t token = stream_till(&stream, TOKEN_DELIM); + printf("%s[%lu] => `" PR_SV "`\n", stream.name, token_no, SV_FMT(token)); + } + stream_stop(&stream); + fclose(fp); return 0; }