Skip to content
Snippets Groups Projects
Commit 421b4dee authored by lhausamm's avatar lhausamm
Browse files

Add script helping to generate format/name for structure

parent 6a0e0f99
Branches
Tags
1 merge request!2Update cooling with Grackle3
#!/usr/bin/env python3
symbol_table = {
" int ": "i",
" double ": "d",
" char ": "c",
}
def _generateFormatString(filename):
"""
Open a file containing a single struct and generate a format string
from it. (for dev, no guarantee of working).
"""
struct_format = ""
struct_attribute = []
with open(filename, "r") as f:
line = ""
# skip until reaching struct
while ("struct" not in line):
line = f.readline()
count = 0
in_struct = False
while (not in_struct or count != 0):
# count { and }
count += line.count("{")
if (count > 0):
in_struct = True
count -= line.count("}")
line = f.readline()
for k in symbol_table.keys():
if k not in line:
continue
i = line.index(k) + len(k)
if (line[i] == "*"):
struct_format += "p"
i += 1
else:
struct_format += symbol_table[k]
j = line.index(";")
struct_attribute.append(line[i:j])
return struct_format, struct_attribute
if __name__ == "__main__":
filename = "chemistry_data.h"
struct_format, struct_attribute = _generateFormatString(filename)
attr = "[\n"
for i in struct_attribute:
attr += "\t'%s',\n" % i
attr += "]"
txt = """
_format = "{form}"
_name = {attr}
""".format(attr=attr,
form=struct_format)
print(txt)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment