diff options
| author | Anton Johansson <anjo@rev.ng> | 2024-12-06 17:01:02 +0100 |
|---|---|---|
| committer | Brian Cain <brian.cain@oss.qualcomm.com> | 2024-12-12 21:43:52 -0600 |
| commit | e295796726131ff9c07a53afe2642c53229e6ca3 (patch) | |
| tree | 682d88709c99c0e14349abaa1d013e8da8819cba /target/hexagon/gen_idef_parser_funcs.py | |
| parent | f0db9f5759372d56d65cfb2d05b03285789468bf (diff) | |
| download | focaccia-qemu-e295796726131ff9c07a53afe2642c53229e6ca3.tar.gz focaccia-qemu-e295796726131ff9c07a53afe2642c53229e6ca3.zip | |
target/hexagon: Use argparse in all python scripts
QOL commit, all the various gen_* python scripts take a large set arguments where order is implicit. Using argparse we also get decent error messages if a field is missing or too many are added. Signed-off-by: Anton Johansson <anjo@rev.ng> Reviewed-by: Brian Cain <brian.cain@oss.qualcomm.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Diffstat (limited to 'target/hexagon/gen_idef_parser_funcs.py')
| -rw-r--r-- | target/hexagon/gen_idef_parser_funcs.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/target/hexagon/gen_idef_parser_funcs.py b/target/hexagon/gen_idef_parser_funcs.py index 72f11c68ca..2f6e826f76 100644 --- a/target/hexagon/gen_idef_parser_funcs.py +++ b/target/hexagon/gen_idef_parser_funcs.py @@ -20,6 +20,7 @@ import sys import re import string +import argparse from io import StringIO import hex_common @@ -43,13 +44,19 @@ import hex_common ## them are inputs ("in" prefix), while some others are outputs. ## def main(): - hex_common.read_semantics_file(sys.argv[1]) + parser = argparse.ArgumentParser( + "Emit instruction implementations that can be fed to idef-parser" + ) + parser.add_argument("semantics", help="semantics file") + parser.add_argument("out", help="output file") + args = parser.parse_args() + hex_common.read_semantics_file(args.semantics) hex_common.calculate_attribs() hex_common.init_registers() tagregs = hex_common.get_tagregs() tagimms = hex_common.get_tagimms() - with open(sys.argv[-1], "w") as f: + with open(args.out, "w") as f: f.write('#include "macros.h.inc"\n\n') for tag in hex_common.tags: |