From 8c8d29452700797debace9a7c4f2b79a8c41a9c0 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Sun, 28 Apr 2024 03:22:32 +0300 Subject: [PATCH] Cleanup arguments --- 04_semantics_and_running/main.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/04_semantics_and_running/main.py b/04_semantics_and_running/main.py index c2f2dd3..b2a9450 100644 --- a/04_semantics_and_running/main.py +++ b/04_semantics_and_running/main.py @@ -644,8 +644,9 @@ if __name__ == '__main__': group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--who', action='store_true', help='print out student IDs and NAMEs of authors') group.add_argument('-f', '--file', help='filename to process') - parser.add_argument('-o', '--compile', help='output filename for compiled code. if not given, no compilation is done') + parser.add_argument('-o', '--output', help='output filename for compiled code. default (a.out)', default='a.out') parser.add_argument('-a', '--assembly', help='output filename for generated assembly code') + parser.add_argument('-r', '--run', action='store_true', help='run the compiled code after compilation') args = parser.parse_args() @@ -667,12 +668,11 @@ if __name__ == '__main__': assembly = compile_data.get_full_code() - if args.assembly is None: - if args.compile is None: - print(assembly) - else: + if args.assembly is not None: with open(args.assembly, 'w', encoding='utf-8') as file: file.write(assembly) - if args.compile is not None: - subprocess.run(['gcc', '-x', 'assembler', '-o', args.compile, '-static', '-'], input=assembly, encoding='utf-8') + subprocess.run(['gcc', '-x', 'assembler', '-o', args.output, '-static', '-'], input=assembly, encoding='utf-8') + + if args.run: + subprocess.run([f'./{args.output}'])