This isn't all that strict, but it gets the job done.
_str your_lang_id_proc_search(_str &proc_name, int find_first)
{
_str kw_map:[];
kw_map:["define_call"] = "proc";
kw_map:["define_function"] = "func";
_str re_map:[];
re_map:["TYPE"] = "(define_call|define_function)";
re_map:["RETURN"] = "[^(]*";
re_map:["NAME"] = ":v";
re_map:["NAME2"] = "[^']*";
return _generic_regex_proc_search('^[ \t]*<<<TYPE>>><<<RETURN>>>:b(<<<NAME>>>|''<<<NAME2>>>'')[ \t]*([(]<<<ARGS>>>[)]|$)', proc_name, find_first!=0, "", re_map, kw_map);
}