Browse Source

reduce kolmogorov - final step

master
heck 5 years ago
parent
commit
b2fb4b96fe
  1. 41
      pEpACIDgen/acid_yml.py

41
pEpACIDgen/acid_yml.py

@ -51,16 +51,16 @@ def _generate_functions(acid):
ret = ""
for item in main_items:
subitems_str = ""
def filt(data):
if data["kind"] == "CursorKind.PARM_DECL":
return True
subitems = utils.recursive_query(item, filt)
subitems_str = ""
for subitem in subitems:
subitems_str += tmpl_sub.format(type=subitem["type"], name=subitem["name"]) + "\n"
ret += tmpl_main.format(name=item["name"], return_type=item["result_type"], subitems=subitems_str)
return ret
@ -74,9 +74,6 @@ def _generate_structs(acid):
tmpl_main += '{subitems}'
tmpl_main += '}};\n\n'
def format_func_main(tmpl, item, subitems_str):
return tmpl.format(name=item["name"], subitems=subitems_str)
# Sub
tmpl_sub = ' field {name} type="{type}";'
@ -88,14 +85,13 @@ def _generate_structs(acid):
ret = ""
for item in main_items:
subitems_str = ""
def filt(data):
if data["kind"] == "CursorKind.FIELD_DECL":
return True
subitems = utils.recursive_query(item, filt)
subitems_str = ""
for subitem in subitems:
subitems_str += tmpl_sub.format(type=subitem["type"], name=subitem["name"]) + "\n"
@ -112,19 +108,6 @@ def _generate_enums(acid):
tmpl_main += '{subitems}'
tmpl_main += '}};\n\n'
def format_func_main(tmpl, item, subitems_str):
name = ""
if item["name"]:
name = item["name"]
else:
name = item["type"]
if name == "":
print(__file__, " - warning: enum without a name or type extracted")
ret = tmpl.format(name=name, subitems=subitems_str)
return ret
# Sub
tmpl_sub = ' item {name} value={value};'
@ -136,14 +119,13 @@ def _generate_enums(acid):
ret = ""
for item in main_items:
subitems_str = ""
def filt(data):
if data["kind"] == "CursorKind.ENUM_CONSTANT_DECL":
return True
subitems = utils.recursive_query(item, filt)
subitems_str = ""
for subitem in subitems:
subitems_str += tmpl_sub.format(name=subitem["name"], value=subitem["value"]) + "\n"
@ -159,18 +141,3 @@ def _generate_enums(acid):
ret += tmpl_main.format(name=name, subitems=subitems_str)
return ret
def _format_subitems(data, tmpl, kind, func):
ret = ""
def filt(data):
if data["kind"] == kind:
return True
subitems = utils.recursive_query(data, filt)
for item in subitems:
ret += func(tmpl, item) + "\n"
return ret

Loading…
Cancel
Save