|
@ -17,8 +17,7 @@ def generate_acid_yml(acid, module_name): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _grammar_header(): |
|
|
def _grammar_header(): |
|
|
grammar = """ |
|
|
grammar = """decl module @name; |
|
|
decl module @name; |
|
|
|
|
|
decl method @name; |
|
|
decl method @name; |
|
|
|
|
|
|
|
|
decl struct @name; |
|
|
decl struct @name; |
|
@ -36,6 +35,7 @@ def _generate_functions(acid): |
|
|
|
|
|
|
|
|
# Main |
|
|
# Main |
|
|
tmpl_main = 'method {name} {{\n' |
|
|
tmpl_main = 'method {name} {{\n' |
|
|
|
|
|
tmpl_main += ' method sig="{sig}";\n' |
|
|
tmpl_main += ' return type="{return_type}";\n' |
|
|
tmpl_main += ' return type="{return_type}";\n' |
|
|
tmpl_main += '{subitems}' |
|
|
tmpl_main += '{subitems}' |
|
|
tmpl_main += '}};\n\n' |
|
|
tmpl_main += '}};\n\n' |
|
@ -61,7 +61,18 @@ def _generate_functions(acid): |
|
|
for subitem in subitems: |
|
|
for subitem in subitems: |
|
|
subitems_str += tmpl_sub.format(type=subitem["type"], name=subitem["name"]) + "\n" |
|
|
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) |
|
|
# (PEP_STATUS(*)(void*,const char*,const char*,const char*,const char*,const char*)) |
|
|
|
|
|
sig_ret = item["result_type"] + "(*)" |
|
|
|
|
|
sig_parms = "" |
|
|
|
|
|
|
|
|
|
|
|
for subitem in subitems: |
|
|
|
|
|
sig_parms += subitem["type"] + ", " |
|
|
|
|
|
|
|
|
|
|
|
sig_parms = sig_parms[:-2] |
|
|
|
|
|
|
|
|
|
|
|
sig_str = "(" + sig_ret + "(" +sig_parms + "))" |
|
|
|
|
|
|
|
|
|
|
|
ret += tmpl_main.format(name=item["name"], return_type=item["result_type"], sig=sig_str, subitems=subitems_str) |
|
|
|
|
|
|
|
|
return ret |
|
|
return ret |
|
|
|
|
|
|
|
|