about summary refs log tree commit diff
path: root/src/bootstrap/main.src
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/main.src')
-rw-r--r--src/bootstrap/main.src69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/bootstrap/main.src b/src/bootstrap/main.src
deleted file mode 100644
index 571cc03..0000000
--- a/src/bootstrap/main.src
+++ /dev/null
@@ -1,69 +0,0 @@
-extern fopen = (*i8, *i8) => *i8;
-extern fgets = (*i8, i64, *i8) => void;
-extern feof = (*i8) => bool;
-extern fseek = (*i8, i64, i64) => i64;
-extern ftell = (*i8) => i64;
-extern fread = (*i8, i64, i64, *i8) => i64;
-extern fclose = (*i8) => *i8;
-
-import "!stdlib.src";
-import "!mem.src";
-
-let slice = struct {
-	data: *void,
-	data_len: i64,
-};
-
-import "tokenizer.src";
-import "parser.src";
-import "codegen.src";
-
-let read_file = (filename: *i8, alloc: *arena) => slice {
-	let file = fopen(filename, "r");
-
-	fseek(file, 0, 2);
-	let file_size = ftell(file);
-	fseek(file, 0, 0);
-
-	let buf = cast(*i8, arena_alloc(alloc, file_size + 1));
-
-	let bytes_read = fread(buf, 1, file_size, file);
-	(*(buf + cast(*i8, bytes_read))) = '\0';
-
-	fclose(file);
-
-	let sl = slice{};
-	sl.data = cast(*void, buf);
-	sl.data_len = file_size;
-	return sl;
-};
-
-let main = (argc: i64, argv: **i8) => i64 {
-	if argc < 2 {
-		printf("Need filename!\n");
-		return 1;
-	};
-
-	let filename = *(argv + cast(**i8, 1));
-
-	printf("%s\n", filename);
-
-	let alloc = arena_init(999999999);
-
-	let file = read_file(filename, alloc);
-
-	let t = tokenizer_init(alloc, file);
-	let ts = tokenizer_tokenize(t);
-
-	let p = parser_init(cast(*token, ts.data), ts.data_len, alloc);
-	let ast = parse(p);
-
-	let c = codegen_init(alloc);
-	let res = codegen_generate(c, ast);
-	let res = codegen_compile(c);
-	codegen_deinit(c);
-
-	arena_free(alloc);
-
-	return 0;
-};