  from .cfile cimport CFile
  from .lemmatizer import Lemmatizer
  
  from . import attrs
  from . import symbols
  
  from cymem.cymem cimport Address
  from .serialize.packer cimport Packer
 
</s> remove             # Set the special tokens up to have morphology and lemmas if
            # specified, otherwise use the part-of-speech tag (if specified)
            token.lex = <LexemeC*>self.get(self.mem, props['F'])
            if 'pos' in props:
                self.morphology.assign_tag(token, props['pos'])
            if 'L' in props:
                tokens[i].lemma = self.strings[props['L']]
            for feature, value in props.get('morph', {}).items():
                self.morphology.assign_feature(&token.morph, feature, value)
 </s> add             # Set the special tokens up to have arbitrary attributes
            token.lex = <LexemeC*>self.get_by_orth(self.mem, props[attrs.ORTH])
            if attrs.TAG in props:
                self.morphology.assign_tag(token, props[attrs.TAG])
            for attr_id, value in props.items():
                Token.set_struct_attr(token, attr_id, value)
from .attrs import intify_attrs
from .tokens.token cimport Token
  from .cfile cimport CFile
  from .lemmatizer import Lemmatizer
from .attrs import intify_attrs
from .tokens.token cimport Token
  
  from . import attrs
  from . import symbols
  
  from cymem.cymem cimport Address
  from .serialize.packer cimport Packer
keep add keep keep keep keep keep keep
 Fix #656, #624: Support arbitrary token attributes when adding special-case rules. 
spacy/vocab.pyx