(source, options)
| 367 | |
| 368 | |
| 369 | def parse_pattern(source, options): |
| 370 | tokens = Tokens.from_pattern(source) |
| 371 | result = parse_expr(tokens, options) |
| 372 | if tokens.current() is not None: |
| 373 | raise tokens.error('unexpected ending: %r' % ' '.join(tokens)) |
| 374 | return Required(*result) |
| 375 | |
| 376 | |
| 377 | def parse_expr(tokens, options): |
no test coverage detected