:import "c_wrap_linux.tnsl" :import "utils/utils.tnsl" :import "compile/compile.tnsl" ~uint8 DEFAULT_FOUT = "out.asm\0" ~uint8 USAGE = " TNSLC v0.5.0 (C) 2024 CircleShift usage: tnslc (file in) [file out] \0" ~uint8 FOPEN_ERR = "Error opening file\n\0" ~uint8 char_str = "%c\0" ~uint8 newline = "\n\0" ~uint8 rel_pth = "../../tnslc.tnsl\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 fin.init(argv{1}) fin.open() /; if (fin.at_end == true) _printf(FOPEN_ERR) fin.end() return 2 ;/ /; loop (fin.at_end == false) _print_num(char_str, fin.read()) ;/ utils.File rel = fin.relative(rel_pth) ~uint8 str = rel.path.to_cstr('/') _printf(str) _printf(newline) _delete(str) rel.end() fin.close() fin.end() return 0 ;/