summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test30
1 files changed, 27 insertions, 3 deletions
diff --git a/test b/test
index f49dbe5..593194e 100644
--- a/test
+++ b/test
@@ -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;
}