mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-01 00:17:44 +03:00 
			
		
		
		
	* moving syntax folder to _parser_internals * moving nn_parser and transition_system * move nn_parser and transition_system out of internals folder * moving nn_parser code into transition_system file * rename transition_system to transition_parser * moving parser_model and _state to ml * move _state back to internals * The Parser now inherits from Pipe! * small code fixes * removing unnecessary imports * remove link_vectors_to_models * transition_system to internals folder * little bit more cleanup * newlines
		
			
				
	
	
		
			138 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Cython
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Cython
		
	
	
	
	
	
| from cymem.cymem cimport Pool
 | |
| 
 | |
| from ...structs cimport TokenC, SpanC
 | |
| from ...typedefs cimport attr_t
 | |
| 
 | |
| from ._state cimport StateC
 | |
| 
 | |
| 
 | |
| cdef class StateClass:
 | |
|     cdef Pool mem
 | |
|     cdef StateC* c
 | |
|     cdef int _borrowed
 | |
| 
 | |
|     @staticmethod
 | |
|     cdef inline StateClass init(const TokenC* sent, int length):
 | |
|         cdef StateClass self = StateClass()
 | |
|         self.c = new StateC(sent, length)
 | |
|         return self
 | |
|     
 | |
|     @staticmethod
 | |
|     cdef inline StateClass borrow(StateC* ptr):
 | |
|         cdef StateClass self = StateClass()
 | |
|         del self.c
 | |
|         self.c = ptr
 | |
|         self._borrowed = 1
 | |
|         return self
 | |
| 
 | |
| 
 | |
|     @staticmethod
 | |
|     cdef inline StateClass init_offset(const TokenC* sent, int length, int
 | |
|                                        offset):
 | |
|         cdef StateClass self = StateClass()
 | |
|         self.c = new StateC(sent, length)
 | |
|         self.c.offset = offset
 | |
|         return self
 | |
| 
 | |
|     cdef inline int S(self, int i) nogil:
 | |
|         return self.c.S(i)
 | |
| 
 | |
|     cdef inline int B(self, int i) nogil:
 | |
|         return self.c.B(i)
 | |
| 
 | |
|     cdef inline const TokenC* S_(self, int i) nogil:
 | |
|         return self.c.S_(i)
 | |
| 
 | |
|     cdef inline const TokenC* B_(self, int i) nogil:
 | |
|         return self.c.B_(i)
 | |
| 
 | |
|     cdef inline const TokenC* H_(self, int i) nogil:
 | |
|         return self.c.H_(i)
 | |
| 
 | |
|     cdef inline const TokenC* E_(self, int i) nogil:
 | |
|         return self.c.E_(i)
 | |
| 
 | |
|     cdef inline const TokenC* L_(self, int i, int idx) nogil:
 | |
|         return self.c.L_(i, idx)
 | |
| 
 | |
|     cdef inline const TokenC* R_(self, int i, int idx) nogil:
 | |
|         return self.c.R_(i, idx)
 | |
| 
 | |
|     cdef inline const TokenC* safe_get(self, int i) nogil:
 | |
|         return self.c.safe_get(i)
 | |
| 
 | |
|     cdef inline int H(self, int i) nogil:
 | |
|         return self.c.H(i)
 | |
|     
 | |
|     cdef inline int E(self, int i) nogil:
 | |
|         return self.c.E(i)
 | |
| 
 | |
|     cdef inline int L(self, int i, int idx) nogil:
 | |
|         return self.c.L(i, idx)
 | |
| 
 | |
|     cdef inline int R(self, int i, int idx) nogil:
 | |
|         return self.c.R(i, idx)
 | |
| 
 | |
|     cdef inline bint empty(self) nogil:
 | |
|         return self.c.empty()
 | |
| 
 | |
|     cdef inline bint eol(self) nogil:
 | |
|         return self.c.eol()
 | |
| 
 | |
|     cdef inline bint at_break(self) nogil:
 | |
|         return self.c.at_break()
 | |
| 
 | |
|     cdef inline bint has_head(self, int i) nogil:
 | |
|         return self.c.has_head(i)
 | |
| 
 | |
|     cdef inline int n_L(self, int i) nogil:
 | |
|         return self.c.n_L(i)
 | |
| 
 | |
|     cdef inline int n_R(self, int i) nogil:
 | |
|         return self.c.n_R(i)
 | |
| 
 | |
|     cdef inline bint stack_is_connected(self) nogil:
 | |
|         return False
 | |
| 
 | |
|     cdef inline bint entity_is_open(self) nogil:
 | |
|         return self.c.entity_is_open()
 | |
| 
 | |
|     cdef inline int stack_depth(self) nogil:
 | |
|         return self.c.stack_depth()
 | |
| 
 | |
|     cdef inline int buffer_length(self) nogil:
 | |
|         return self.c.buffer_length()
 | |
| 
 | |
|     cdef inline void push(self) nogil:
 | |
|         self.c.push()
 | |
| 
 | |
|     cdef inline void pop(self) nogil:
 | |
|         self.c.pop()
 | |
| 
 | |
|     cdef inline void unshift(self) nogil:
 | |
|         self.c.unshift()
 | |
| 
 | |
|     cdef inline void add_arc(self, int head, int child, attr_t label) nogil:
 | |
|         self.c.add_arc(head, child, label)
 | |
| 
 | |
|     cdef inline void del_arc(self, int head, int child) nogil:
 | |
|         self.c.del_arc(head, child)
 | |
| 
 | |
|     cdef inline void open_ent(self, attr_t label) nogil:
 | |
|         self.c.open_ent(label)
 | |
| 
 | |
|     cdef inline void close_ent(self) nogil:
 | |
|         self.c.close_ent()
 | |
| 
 | |
|     cdef inline void set_ent_tag(self, int i, int ent_iob, attr_t ent_type) nogil:
 | |
|         self.c.set_ent_tag(i, ent_iob, ent_type)
 | |
| 
 | |
|     cdef inline void set_break(self, int i) nogil:
 | |
|         self.c.set_break(i)
 | |
| 
 | |
|     cdef inline void clone(self, StateClass src) nogil:
 | |
|         self.c.clone(src.c)
 | |
| 
 | |
|     cdef inline void fast_forward(self) nogil:
 | |
|         self.c.fast_forward()
 |