:import "utils/utils.tnsl" :import "parse/parse.tnsl" :import "compile/compile.tnsl" ~uint8 DEFAULT_FOUT = "out.asm\0" ~uint8 USAGE = " TNSLC v0.6.0 (C) 2024 CircleShift (MPL 2.0) usage: tnslc (file in) [file out] \0" ~uint8 FOPEN_ERR = "Error opening file\n\0" ~uint8 char_str = "%c\0" ~uint8 newline = "\n\0" /; main (int argc, ~~uint8 argv) [int] asm "mov r10, rdi" asm "mov r11, rsi" /; if (argc < 2) _printf(USAGE) return 1 ;/ utils.File fin, fout fin.init(argv{1}) /; if (argc > 2) fout.init(argv{2}) ;; else fout.init(DEFAULT_FOUT) ;/ parse.Node n = parse.generate_ast(~fin) n.update_children() parse.print_ast(~n) n.end() # utils.Vector v = parse.gen_token_list(~fin) # parse.print_token_list(~v) # parse.end_token_list(~v) fin.end() fout.end() return 0 ;/