| 3469 | return self._syntax |
| 3470 | |
| 3471 | def set_syntax(self, syntax): |
| 3472 | self._syntax = syntax |
| 3473 | self._tokens = syntax.split() |
| 3474 | if not syntax in self._re_cache: |
| 3475 | names = 'block_start block_close line_start inline_start inline_end' |
| 3476 | etokens = map(re.escape, self._tokens) |
| 3477 | pattern_vars = dict(zip(names.split(), etokens)) |
| 3478 | patterns = (self._re_split, self._re_tok, self._re_inl) |
| 3479 | patterns = [re.compile(p%pattern_vars) for p in patterns] |
| 3480 | self._re_cache[syntax] = patterns |
| 3481 | self.re_split, self.re_tok, self.re_inl = self._re_cache[syntax] |
| 3482 | |
| 3483 | syntax = property(get_syntax, set_syntax) |
| 3484 | |