| # Provide backward compatibility for module "regexp" using "regex". | 
 |  | 
 | import regex | 
 | from regex_syntax import * | 
 |  | 
 | class Prog: | 
 | 	def init(self, pat): | 
 | 		save_syntax = regex.set_syntax(RE_SYNTAX_AWK) | 
 | 		try: | 
 | 			self.prog = regex.compile(pat) | 
 | 		finally: | 
 | 			xxx = regex.set_syntax(save_syntax) | 
 | 		return self | 
 | 	def match(self, args): | 
 | 		if type(args) == type(()): | 
 | 			str, offset = args | 
 | 		else: | 
 | 			str, offset = args, 0 | 
 | 		if self.prog.search(str, offset) < 0: | 
 | 			return () | 
 | 		regs = self.prog.regs | 
 | 		i = len(regs) | 
 | 		while i > 0 and regs[i-1] == (-1, -1): | 
 | 			i = i-1 | 
 | 		return regs[:i] | 
 |  | 
 | def compile(pat): | 
 | 	return Prog().init(pat) | 
 |  | 
 | cache_pat = None | 
 | cache_prog = None | 
 |  | 
 | def match(pat, str): | 
 | 	global cache_pat, cache_prog | 
 | 	if pat <> cache_pat: | 
 | 		cache_pat, cache_prog = pat, compile(pat) | 
 | 	return cache_prog.match(str) |