(sequence, groups=None)
| 658 | # Parse nested lists and tuples from the sequence into groups. |
| 659 | # [DT [JJ NN]] => Match.group(1) will yield the JJ NN sequences. |
| 660 | def _ungroup(sequence, groups=None): |
| 661 | for v in sequence: |
| 662 | if isinstance(v, (list, tuple)): |
| 663 | if groups is not None: |
| 664 | groups.append(list(_ungroup(v, groups=None))) |
| 665 | for v in _ungroup(v, groups): |
| 666 | yield v |
| 667 | else: |
| 668 | yield v |
| 669 | self.groups = [] |
| 670 | self.sequence = list(_ungroup(sequence, groups=self.groups)) |
| 671 | # Assign Constraint.index: |