|
|
@ -1,14 +1,33 @@ |
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
from . import utils |
|
|
|
|
|
|
|
def generate_yml(cid): |
|
|
|
|
|
|
|
def generate_yml(cid, module_name): |
|
|
|
ret = "" |
|
|
|
ret += generate_functions(cid) |
|
|
|
ret += generate_structs(cid) |
|
|
|
ret += generate_enums(cid) |
|
|
|
ret += _grammar_header() |
|
|
|
ret += "module " + module_name + " {\n" |
|
|
|
ret += _generate_functions(cid) |
|
|
|
ret += _generate_structs(cid) |
|
|
|
ret += _generate_enums(cid) |
|
|
|
ret += "}" |
|
|
|
return ret |
|
|
|
|
|
|
|
def generate_functions(cid): |
|
|
|
|
|
|
|
def _grammar_header(): |
|
|
|
grammar = """ |
|
|
|
decl method @name; |
|
|
|
|
|
|
|
decl struct @name; |
|
|
|
decl field @name; |
|
|
|
|
|
|
|
decl enum @name; |
|
|
|
decl item @name; |
|
|
|
|
|
|
|
""" |
|
|
|
return grammar |
|
|
|
|
|
|
|
|
|
|
|
def _generate_functions(cid): |
|
|
|
data_root = cid["functions"] |
|
|
|
|
|
|
|
# Main |
|
|
@ -41,7 +60,8 @@ def generate_functions(cid): |
|
|
|
|
|
|
|
return ret |
|
|
|
|
|
|
|
def generate_structs(cid): |
|
|
|
|
|
|
|
def _generate_structs(cid): |
|
|
|
data_root = cid["types"] |
|
|
|
|
|
|
|
# Main |
|
|
@ -71,7 +91,8 @@ def generate_structs(cid): |
|
|
|
|
|
|
|
return ret |
|
|
|
|
|
|
|
def generate_enums(cid): |
|
|
|
|
|
|
|
def _generate_enums(cid): |
|
|
|
data_root = cid["types"] |
|
|
|
|
|
|
|
# Main |
|
|
@ -101,6 +122,7 @@ def generate_enums(cid): |
|
|
|
|
|
|
|
return ret |
|
|
|
|
|
|
|
|
|
|
|
def _format(data, tmpl_main, kind_main, func_main, tmpl_sub, kind_sub, func_sub): |
|
|
|
ret = "" |
|
|
|
|
|
|
@ -116,6 +138,7 @@ def _format(data, tmpl_main, kind_main, func_main, tmpl_sub, kind_sub, func_sub) |
|
|
|
|
|
|
|
return ret |
|
|
|
|
|
|
|
|
|
|
|
def _format_subitems(data, tmpl, kind, func): |
|
|
|
ret = "" |
|
|
|
|
|
|
|