1from __future__ import absolute_import 2 3import cython 4 5from Cython.Plex.Actions cimport Action 6 7cdef class Scanner: 8 9 cdef public lexicon 10 cdef public stream 11 cdef public name 12 cdef public unicode buffer 13 cdef public Py_ssize_t buf_start_pos 14 cdef public Py_ssize_t next_pos 15 cdef public Py_ssize_t cur_pos 16 cdef public Py_ssize_t cur_line 17 cdef public Py_ssize_t cur_line_start 18 cdef public Py_ssize_t start_pos 19 cdef public Py_ssize_t start_line 20 cdef public Py_ssize_t start_col 21 cdef public text 22 cdef public initial_state # int? 23 cdef public state_name 24 cdef public list queue 25 cdef public bint trace 26 cdef public cur_char 27 cdef public long input_state 28 29 cdef public level 30 31 @cython.final 32 @cython.locals(input_state=long) 33 cdef next_char(self) 34 @cython.locals(action=Action) 35 cpdef tuple read(self) 36 @cython.final 37 cdef tuple scan_a_token(self) 38 ##cdef tuple position(self) # used frequently by Parsing.py 39 40 @cython.final 41 @cython.locals(cur_pos=Py_ssize_t, cur_line=Py_ssize_t, cur_line_start=Py_ssize_t, 42 input_state=long, next_pos=Py_ssize_t, state=dict, 43 buf_start_pos=Py_ssize_t, buf_len=Py_ssize_t, buf_index=Py_ssize_t, 44 trace=bint, discard=Py_ssize_t, data=unicode, buffer=unicode) 45 cdef run_machine_inlined(self) 46 47 @cython.final 48 cdef begin(self, state) 49 @cython.final 50 cdef produce(self, value, text = *) 51