def main(args): filenames = [] is_sys_present = False path = os.path.abspath(args[1]) if os.path.isdir(path): additional, is_sys_present = parse_dir(path) filenames.extend(additional) output = os.path.join(path, f"{os.path.basename(path)}.asm") else: filenames.append(path) output = path[:-3] + ".asm" if os.path.basename(path) == 'Sys.vm': is_sys_present = True translator = Translator("") with open(output, 'w') as output_file: if is_sys_present: output_file.write(translator.bootstrap()) for filename in filenames: translator.filename = os.path.basename(filename[:-3]) with open(os.path.join(path, filename)) as input_file: for line in input_file: translated = translator.interpret(line[:-1]) output_file.write(translated) output_file.write(translator.finish())