diff options
Diffstat (limited to 'test')
-rw-r--r-- | test | 30 |
1 files changed, 27 insertions, 3 deletions
@@ -1,5 +1,29 @@ -int main(void) { - for (int i = 0; i < 10; i++) { - printf("%d\n", i); +fn main(argc: int, argv: **argv) int; + +fn main(argc: int, argv: **argv) int +{ + if (argc != 2) { + fprintf(stderr, "usage: %s <file>\n", argv[0]); + return 1; } + const fp: *FILE = fopen(argv[1], "rb"); + if (fp == null) { + perror("main"); + return 1; + } + const data: *char = drain(fp); + fclose(fp); + if (data == null) { + fprintf(stderr, "failed to drain '%s'\n", argv[1]); + return 1; + } + const toks: *Token = lexer(data); + free(data); + if (toks == null) { + fprintf(stderr, "lexer failed\n"); + return 1; + } + lexer_print(toks); + lexer_free(toks); + return 0; } |