(self)
| 4501 | syntax = property(get_syntax, set_syntax) |
| 4502 | |
| 4503 | def translate(self): |
| 4504 | if self.offset: raise RuntimeError('Parser is a one time instance.') |
| 4505 | while True: |
| 4506 | m = self.re_split.search(self.source, pos=self.offset) |
| 4507 | if m: |
| 4508 | text = self.source[self.offset:m.start()] |
| 4509 | self.text_buffer.append(text) |
| 4510 | self.offset = m.end() |
| 4511 | if m.group(1): # Escape syntax |
| 4512 | line, sep, _ = self.source[self.offset:].partition('\n') |
| 4513 | self.text_buffer.append(self.source[m.start():m.start(1)] + |
| 4514 | m.group(2) + line + sep) |
| 4515 | self.offset += len(line + sep) |
| 4516 | continue |
| 4517 | self.flush_text() |
| 4518 | self.offset += self.read_code(self.source[self.offset:], |
| 4519 | multiline=bool(m.group(4))) |
| 4520 | else: |
| 4521 | break |
| 4522 | self.text_buffer.append(self.source[self.offset:]) |
| 4523 | self.flush_text() |
| 4524 | return ''.join(self.code_buffer) |
| 4525 | |
| 4526 | def read_code(self, pysource, multiline): |
| 4527 | code_line, comment = '', '' |
no test coverage detected