]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-116000: Make optimizer_generator.py work without any arguments (#116470)
authorKirill Podoprigora <kirill.bast9@mail.ru>
Thu, 7 Mar 2024 19:05:50 +0000 (21:05 +0200)
committerGitHub <noreply@github.com>
Thu, 7 Mar 2024 19:05:50 +0000 (19:05 +0000)
Tools/cases_generator/optimizer_generator.py

index fca42b51fbd68905b457dbc5153f56ecec0e4606..a0a2f10aa760b70a7c605e04b6a04e3504d71b40 100644 (file)
@@ -27,7 +27,7 @@ from lexer import Token
 from stack import Stack, SizeMismatch, UNUSED
 
 DEFAULT_OUTPUT = ROOT / "Python/optimizer_cases.c.h"
-DEFAULT_ABSTRACT_INPUT = ROOT / "Python/optimizer_bytecodes.c"
+DEFAULT_ABSTRACT_INPUT = (ROOT / "Python/optimizer_bytecodes.c").absolute().as_posix()
 
 
 def validate_uop(override: Uop, uop: Uop) -> None:
@@ -214,19 +214,22 @@ arg_parser.add_argument(
 )
 
 
-arg_parser.add_argument("input", nargs=1, help="Abstract interpreter definition file")
+arg_parser.add_argument("input", nargs='*', help="Abstract interpreter definition file")
 
 arg_parser.add_argument(
-    "base", nargs=argparse.REMAINDER, help="The base instruction definition file(s)"
+    "base", nargs="*", help="The base instruction definition file(s)"
 )
 
 arg_parser.add_argument("-d", "--debug", help="Insert debug calls", action="store_true")
 
 if __name__ == "__main__":
     args = arg_parser.parse_args()
-    if len(args.base) == 0:
-        args.input.append(DEFAULT_INPUT)
+    if not args.input:
+        args.base.append(DEFAULT_INPUT)
         args.input.append(DEFAULT_ABSTRACT_INPUT)
+    else:
+        args.base.append(args.input[-1])
+        args.input.pop()
     abstract = analyze_files(args.input)
     base = analyze_files(args.base)
     with open(args.output, "w") as outfile: