| 4487 | return self._syntax |
| 4488 | |
| 4489 | def set_syntax(self, syntax): |
| 4490 | self._syntax = syntax |
| 4491 | self._tokens = syntax.split() |
| 4492 | if syntax not in self._re_cache: |
| 4493 | names = 'block_start block_close line_start inline_start inline_end' |
| 4494 | etokens = map(re.escape, self._tokens) |
| 4495 | pattern_vars = dict(zip(names.split(), etokens)) |
| 4496 | patterns = (self._re_split, self._re_tok, self._re_inl) |
| 4497 | patterns = [re.compile(p % pattern_vars) for p in patterns] |
| 4498 | self._re_cache[syntax] = patterns |
| 4499 | self.re_split, self.re_tok, self.re_inl = self._re_cache[syntax] |
| 4500 | |
| 4501 | syntax = property(get_syntax, set_syntax) |
| 4502 | |