      pattern[i].nr_attr = 0
      return pattern
  
  
  cdef attr_t get_pattern_key(const TokenPatternC* pattern) except 0:
      while pattern.nr_attr != 0:
          pattern += 1
      id_attr = pattern[0].attrs[0]
      assert id_attr.attr == ID
      return id_attr.value
 
</s> remove     assert id_attr.attr == ID
 </s> add  </s> remove 
cdef int get_action(const TokenPatternC* pattern, const TokenC* token) nogil:
    lookahead = &pattern[1]
    for attr in pattern.attrs[:pattern.nr_attr]:
        if get_token_attr(token, attr.attr) != attr.value:
            if pattern.quantifier == ONE:
                return REJECT
            elif pattern.quantifier == ZERO:
                return ACCEPT if lookahead.nr_attr == 0 else ADVANCE
            elif pattern.quantifier in (ZERO_ONE, ZERO_PLUS):
                return ACCEPT_PREV if lookahead.nr_attr == 0 else ADVANCE_ZERO
            else:
                return PANIC
    if pattern.quantifier == ZERO:
        return REJECT
    elif lookahead.nr_attr == 0:
        return ACCEPT
    elif pattern.quantifier in (ONE, ZERO_ONE):
        return ADVANCE
    elif pattern.quantifier == ZERO_PLUS:
        # This is a bandaid over the 'shadowing' problem described here:
        # https://github.com/explosion/spaCy/issues/864
        next_action = get_action(lookahead, token)
        if next_action is REJECT:
            return REPEAT
        else:
            return ADVANCE_ZERO
    else:
        return PANIC


 </s> add  </s> remove ctypedef TokenPatternC* TokenPatternC_ptr
ctypedef pair[int, TokenPatternC_ptr] StateC
 </s> add cdef char get_quantifier(PatternStateC state) nogil:
    return state.pattern.quantifier
cdef attr_t get_pattern_key(const TokenPatternC* pattern) nogil:
      pattern[i].nr_attr = 0
      return pattern
  
  
cdef attr_t get_pattern_key(const TokenPatternC* pattern) nogil:
      while pattern.nr_attr != 0:
          pattern += 1
      id_attr = pattern[0].attrs[0]
      assert id_attr.attr == ID
      return id_attr.value
keep keep keep keep replace keep keep keep keep keep
 Revert "Merge branch 'develop' of https://github.com/explosion/spaCy into develop"

This reverts commit c9ba3d3c2dc7067cf8bd55f878cec45a8c6d73d4, reversing
changes made to 92c26a35d425d4e8ca1b805ea776ea10f5ded3df. 
spacy/matcher.pyx