  
  cdef class Parser:
      cdef readonly ParserModel model
      cdef readonly TransitionSystem moves
  
      cdef int parseC(self, TokenC* tokens, int length, int nr_feat, int nr_class) nogil
 
</s> remove     def __init__(self, StringStore strings, transition_system, ParserModel model):
 </s> add     def __init__(self, StringStore strings, transition_system, ParserModel model, int projectivize = 0): </s> remove                 # If this head is still to the right of us, we can skip to it
                # No token that's between this token and this head could be our
                # child.
                if (ptr.head >= 1) and (ptr + ptr.head) < self.c:
                    ptr += ptr.head

                elif ptr + ptr.head == self.c:
 </s> add                 if ptr + ptr.head == self.c: </s> remove                 # If this head is still to the right of us, we can skip to it
                # No token that's between this token and this head could be our
                # child.
                if (ptr.head < 0) and ((ptr + ptr.head) > self.c):
                    ptr += ptr.head
                elif ptr + ptr.head == self.c:
 </s> add                 if ptr + ptr.head == self.c:
    cdef int _projectivize
  
  cdef class Parser:
      cdef readonly ParserModel model
      cdef readonly TransitionSystem moves
    cdef int _projectivize
  
      cdef int parseC(self, TokenC* tokens, int length, int nr_feat, int nr_class) nogil
keep keep keep add keep keep
 integrated pseudo-projective parsing into parser

- nonproj.pyx holds a class PseudoProjectivity which currently holds
  all functionality to implement Nivre & Nilsson 2005's pseudo-projective
  parsing using the HEAD decoration scheme
- changed lefts/rights in Token to account for possible non-projective
  structures 
spacy/syntax/parser.pxd