def gen(dependentdir, inputdir, lang, outputdir): syspath = "./hub_call_client/gen/" c_suffix = "" if lang == 'ts': sys.path.append("./struct/ts") sys.path.append("./tools/ts") sys.path.append("./enum/ts") syspath += "ts/" c_suffix = "ts" sys.path.append(syspath) import gencaller sys.path.remove(syspath) if not os.path.isdir(outputdir): os.mkdir(outputdir) defmodulelist = [] for filename in os.listdir(dependentdir): fname = os.path.splitext(filename)[0] fex = os.path.splitext(filename)[1] if fex != '.juggle': continue file = open(dependentdir + '//' + filename, 'r') genfilestr = file.readlines() module, enum, struct = jparser.parser(genfilestr) checkAndPretreatCommon(fname, module, enum, struct, defmodulelist) lexical_tree = [] for filename in os.listdir(inputdir): fname = os.path.splitext(filename)[0] fex = os.path.splitext(filename)[1] if fex != '.juggle': continue file = open(inputdir + '//' + filename, 'r') genfilestr = file.readlines() module, enum, struct = jparser.parser(genfilestr) modules = checkAndPretreat(fname, module, enum, struct, defmodulelist, "hub_call_client") lexical_tree.append((fname, modules, enum, struct)) for fname, modules, enum, struct in lexical_tree: global_argv.quote_file_list = [] callercode = gencaller.gencaller(fname, modules, enum, struct) file = open(outputdir + '//' + fname + '_caller.' + c_suffix, 'w') file.write(callercode) file.close()
def gen(inputdir, outputdir): defmodulelist = [] if not os.path.isdir(outputdir): os.mkdir(outputdir) if not os.path.isdir(outputdir + '//caller'): os.mkdir(outputdir + '//caller') if not os.path.isdir(outputdir + '//module'): os.mkdir(outputdir + '//module') for filename in os.listdir(inputdir): fname = os.path.splitext(filename)[0] fex = os.path.splitext(filename)[1] if fex == '.juggle': file = open(inputdir + '//' + filename, 'r') genfilestr = file.readlines() keydict = jparser.parser(genfilestr) for module_name, funcs in keydict.items(): if module_name in defmodulelist: raise 'redefined module %s' % module_name defmodulelist.append(module_name) callercode = gencaller.gencaller(module_name, funcs) file = open(outputdir + '//caller//' + module_name + 'caller.js', 'w') file.write(callercode) file.close modulecode = genmodule.genmodule(module_name, funcs) file = open(outputdir + '//module//' + module_name + 'module.js', 'w') file.write(modulecode) file.close
def gen(inputdir, outputdir): defmodulelist = [] if not os.path.isdir(outputdir): os.mkdir(outputdir) if not os.path.isdir(outputdir + '\\caller'): os.mkdir(outputdir + '\\caller') if not os.path.isdir(outputdir + '\\module'): os.mkdir(outputdir + '\\module') for filename in os.listdir(inputdir): fname = os.path.splitext(filename)[0] fex = os.path.splitext(filename)[1] if fex == '.juggle': file = open(inputdir + '\\' + filename, 'r') genfilestr = file.readlines() keydict = jparser.parser(genfilestr) for module_name, funcs in keydict.items(): if module_name in defmodulelist: raise 'redefined module %s' % module_name defmodulelist.append(module_name) callercode = gencaller.gencaller(module_name, funcs) file = open(outputdir + '\\caller\\' + module_name + 'caller.h', 'w') file.write(callercode) file.close modulecode = genmodule.genmodule(module_name, funcs) file = open(outputdir + '\\module\\' + module_name + 'module.h', 'w') file.write(modulecode) file.close
def gen(inputdir, lang, outputdir): defmodulelist = [] syspath = "./hub_call_client/gen/" h_suffix = "" if lang == 'c++': sys.path.append("./enum/c++") syspath += "c++/" h_suffix = "hpp" if lang == 'csharp': sys.path.append("./enum/csharp") syspath += "csharp/" h_suffix = "cs" if lang == 'js': sys.path.append("./enum/js") syspath += "js/" h_suffix = "js" sys.path.append(syspath) import genmodule sys.path.remove(syspath) if not os.path.isdir(outputdir): os.mkdir(outputdir) for filename in os.listdir(inputdir): fname = os.path.splitext(filename)[0] fex = os.path.splitext(filename)[1] if fex != '.juggle': continue file = open(inputdir + '//' + filename, 'r') genfilestr = file.readlines() module, enum = jparser.parser(genfilestr) print module print enum modules = {} for module_name, module_info in module.items(): if module_name in defmodulelist: raise 'redefined module %s' % module_name if module_info["module_type"] != "hub_call_client": raise ('%s has wrong module type %s' % (module_name, module_info["module_type"])) defmodulelist.append(module_name) modules[module_name] = module_info["method"] for enum_name, enums in enum.items(): if enum_name in defmodulelist: raise 'redefined enum %s' % enum_name defmodulelist.append(enum_name) modulecode = genmodule.genmodule(fname, modules, enum) file = open(outputdir + '//' + fname + '_module.' + h_suffix, 'w') file.write(modulecode) file.close()