def parse_vmex_line(s) : tokens = hparser.tokenize(s, os.linesep) # print "parse_vmex_line:", tokens if not tokens : return None ret_type, name, args_list = hparser.parse_decl(tokens) return ret_type, name, args_list
def extract_exports(src_str, known_types) : exports = [] for tk_list in hparser.extract_declarations(hparser.tokenize2(src_str, os.linesep)) : preprocessed = tuple(hparser.drop_comments(tk_list)) decl = hparser.stripped_token_list(preprocessed) # print here(), decl if VMEX_SIG in decl : #TODO deeper syntax check ret_type, name, args_list = hparser.parse_decl(decl) # print here(), "'%s'" % name, ret_type exports.append((ret_type, name, args_list)) vmex_funcs = [ parse_vmex_export(vmex, known_types) for vmex in exports ] return vmex_funcs