(token, pattern)
| 1611 | return (s, None) |
| 1612 | |
| 1613 | def match(token, pattern): |
| 1614 | if not pattern: |
| 1615 | return MatchResult(False) |
| 1616 | end = None |
| 1617 | bindings = {} |
| 1618 | words = [bind_split(word) for word in pattern.split()] |
| 1619 | for p, b in words: |
| 1620 | t = match_atom(token, p) |
| 1621 | if b: |
| 1622 | bindings[b] = token |
| 1623 | if not t: |
| 1624 | return MatchResult(False, keys=[xx for pp, xx in words]+['end']) |
| 1625 | end = t |
| 1626 | token = t.next |
| 1627 | bindings['end'] = end |
| 1628 | return MatchResult(True, bindings=bindings) |
| 1629 | |
| 1630 | def get_function_call_name_args(token): |
| 1631 | """Get function name and arguments for function call |
nothing calls this directly
no test coverage detected