5 return re.sub(
r'(?<!^)(?=[A-Z])',
'_', src).lower()
9 return ''.join(x.title()
for x
in temp)
14 Emit file with contents of
15 _ZE_API(api_name, api_domain, cb, param_type)
17 api = open(
"ze_api.def",
"w")
19 matches = re.finditer(
r'typedef struct _ze_([_a-z]+)_callbacks_t\n\{\n([a-zA-Z_;\s\n]+)\n\} ze_([_a-z]+)_callbacks_t;', header)
23 for l
in match.group(2).splitlines():
25 api_match = re.match(
r'ze_pfn([a-zA-Z]+)Cb_t', parts[0])
26 api_name_tail = api_match.group(1)
27 api_name =
'ze' + api_name_tail
31 cb =
'pfn' + api_name_tail.replace(api_domain,
'') +
'Cb'
33 api.write(
"_ZE_API({}, {}, {}, {})\n".format(api_name, api_domain, cb, param_type))
37 if __name__ ==
"__main__":
38 with open(sys.argv[1],
'r')
as f: