* Move all struct definitions to structs.pxd, to avoid circular dependencies

This commit is contained in:
Matthew Honnibal 2014-12-20 06:51:33 +11:00
parent f6556d8e5d
commit 780cbd68b1
1 changed files with 63 additions and 0 deletions

63
spacy/structs.pxd Normal file
View File

@ -0,0 +1,63 @@
from libc.stdint cimport uint8_t, uint32_t
from .typedefs cimport flags_t, attr_t, id_t, hash_t
cdef struct Lexeme:
flags_t flags
attr_t id
attr_t sic
attr_t dense
attr_t shape
attr_t prefix
attr_t suffix
attr_t length
attr_t cluster
attr_t pos_type
float prob
float sentiment
cdef struct Morphology:
uint8_t number
uint8_t tenspect # Tense/aspect/voice
uint8_t mood
uint8_t gender
uint8_t person
uint8_t case
uint8_t misc
cdef struct PosTag:
Morphology morph
int id
int pos
cdef struct TokenC:
const Lexeme* lex
Morphology morph
int idx
int pos
int lemma
int sense
int head
int dep_tag
uint32_t l_kids
uint32_t r_kids
cdef struct Utf8Str:
id_t i
hash_t key
unsigned char* chars
int length
cdef struct UniStr:
Py_UNICODE* chars
size_t n
hash_t key