コード例 #1
0
ファイル: core.py プロジェクト: vdorr/bloced
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
コード例 #2
0
ファイル: core.py プロジェクト: vdorr/bloced
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