()
| 547 | return self._add_rule(f"dot", rule) |
| 548 | |
| 549 | def join_seq(): |
| 550 | nonlocal seq |
| 551 | ret = [] |
| 552 | for is_literal, g in groupby(seq, lambda x: x[1]): |
| 553 | if is_literal: |
| 554 | ret.append(("".join(x[0] for x in g), True)) |
| 555 | else: |
| 556 | ret.extend(g) |
| 557 | if len(ret) == 1: |
| 558 | return ret[0] |
| 559 | return (" ".join(to_rule(x) for x in seq), False) |
| 560 | |
| 561 | while i < length: |
| 562 | c = pattern[i] |