import re
import sys
import pprint
+import getopt
pp = pprint.PrettyPrinter(indent=4)
-pmgfile = sys.argv[1]
-assert pmgfile.endswith(".pmg")
-prefix = pmgfile[0:-4]
-prefix = prefix.split('/')[-1]
-outfile = sys.argv[2]
+prefix = None
+pmgfiles = list()
+outfile = None
+
+opts, args = getopt.getopt(sys.argv[1:], "p:o:")
+
+for o, a in opts:
+ if o == "-p":
+ prefix = o
+ elif o == "-o":
+ outfile = a
+
+if outfile is None:
+ outfile = args[-1]
+ args = args[0:-1]
+
+for a in args:
+ assert a.endswith(".pmg")
+ if prefix is None and len(args) == 1:
+ prefix = a[0:-4]
+ prefix = prefix.split('/')[-1]
+ pmgfiles.append(a)
+
+assert prefix is not None
state_types = dict()
udata_types = dict()
return "".join(t)
-with open(pmgfile, "r") as f:
+def process_pmgfile(f):
while True:
line = f.readline()
if line == "": break
blocks.append(block)
+for fn in pmgfiles:
+ with open(fn, "r") as f:
+ process_pmgfile(f)
+
with open(outfile, "w") as f:
print("// Generated by pmgen.py from {}.pgm".format(prefix), file=f)
print("", file=f)