| /* Generated by Cython 0.12 on Fri Jan 22 10:39:58 2010 */ |
| |
| #define PY_SSIZE_T_CLEAN |
| #include "Python.h" |
| #include "structmember.h" |
| #ifndef Py_PYTHON_H |
| #error Python headers needed to compile C extensions, please install development version of Python. |
| #else |
| #ifndef PY_LONG_LONG |
| #define PY_LONG_LONG LONG_LONG |
| #endif |
| #ifndef DL_EXPORT |
| #define DL_EXPORT(t) t |
| #endif |
| #if PY_VERSION_HEX < 0x02040000 |
| #define METH_COEXIST 0 |
| #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) |
| #define PyDict_Contains(d,o) PySequence_Contains(d,o) |
| #endif |
| #if PY_VERSION_HEX < 0x02050000 |
| typedef int Py_ssize_t; |
| #define PY_SSIZE_T_MAX INT_MAX |
| #define PY_SSIZE_T_MIN INT_MIN |
| #define PY_FORMAT_SIZE_T "" |
| #define PyInt_FromSsize_t(z) PyInt_FromLong(z) |
| #define PyInt_AsSsize_t(o) PyInt_AsLong(o) |
| #define PyNumber_Index(o) PyNumber_Int(o) |
| #define PyIndex_Check(o) PyNumber_Check(o) |
| #endif |
| #if PY_VERSION_HEX < 0x02060000 |
| #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) |
| #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) |
| #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) |
| #define PyVarObject_HEAD_INIT(type, size) \ |
| PyObject_HEAD_INIT(type) size, |
| #define PyType_Modified(t) |
| |
| typedef struct { |
| void *buf; |
| PyObject *obj; |
| Py_ssize_t len; |
| Py_ssize_t itemsize; |
| int readonly; |
| int ndim; |
| char *format; |
| Py_ssize_t *shape; |
| Py_ssize_t *strides; |
| Py_ssize_t *suboffsets; |
| void *internal; |
| } Py_buffer; |
| |
| #define PyBUF_SIMPLE 0 |
| #define PyBUF_WRITABLE 0x0001 |
| #define PyBUF_FORMAT 0x0004 |
| #define PyBUF_ND 0x0008 |
| #define PyBUF_STRIDES (0x0010 | PyBUF_ND) |
| #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) |
| #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) |
| #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) |
| #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) |
| |
| #endif |
| #if PY_MAJOR_VERSION < 3 |
| #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" |
| #else |
| #define __Pyx_BUILTIN_MODULE_NAME "builtins" |
| #endif |
| #if PY_MAJOR_VERSION >= 3 |
| #define Py_TPFLAGS_CHECKTYPES 0 |
| #define Py_TPFLAGS_HAVE_INDEX 0 |
| #endif |
| #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) |
| #define Py_TPFLAGS_HAVE_NEWBUFFER 0 |
| #endif |
| #if PY_MAJOR_VERSION >= 3 |
| #define PyBaseString_Type PyUnicode_Type |
| #define PyString_Type PyUnicode_Type |
| #define PyString_CheckExact PyUnicode_CheckExact |
| #else |
| #define PyBytes_Type PyString_Type |
| #define PyBytes_CheckExact PyString_CheckExact |
| #endif |
| #if PY_MAJOR_VERSION >= 3 |
| #define PyInt_Type PyLong_Type |
| #define PyInt_Check(op) PyLong_Check(op) |
| #define PyInt_CheckExact(op) PyLong_CheckExact(op) |
| #define PyInt_FromString PyLong_FromString |
| #define PyInt_FromUnicode PyLong_FromUnicode |
| #define PyInt_FromLong PyLong_FromLong |
| #define PyInt_FromSize_t PyLong_FromSize_t |
| #define PyInt_FromSsize_t PyLong_FromSsize_t |
| #define PyInt_AsLong PyLong_AsLong |
| #define PyInt_AS_LONG PyLong_AS_LONG |
| #define PyInt_AsSsize_t PyLong_AsSsize_t |
| #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask |
| #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask |
| #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) |
| #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) |
| #else |
| #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) |
| #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) |
| #endif |
| #if PY_MAJOR_VERSION >= 3 |
| #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) |
| #endif |
| #if !defined(WIN32) && !defined(MS_WINDOWS) |
| #ifndef __stdcall |
| #define __stdcall |
| #endif |
| #ifndef __cdecl |
| #define __cdecl |
| #endif |
| #ifndef __fastcall |
| #define __fastcall |
| #endif |
| #else |
| #define _USE_MATH_DEFINES |
| #endif |
| #if PY_VERSION_HEX < 0x02050000 |
| #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) |
| #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) |
| #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n))) |
| #else |
| #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n)) |
| #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) |
| #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) |
| #endif |
| #if PY_VERSION_HEX < 0x02050000 |
| #define __Pyx_NAMESTR(n) ((char *)(n)) |
| #define __Pyx_DOCSTR(n) ((char *)(n)) |
| #else |
| #define __Pyx_NAMESTR(n) (n) |
| #define __Pyx_DOCSTR(n) (n) |
| #endif |
| #ifdef __cplusplus |
| #define __PYX_EXTERN_C extern "C" |
| #else |
| #define __PYX_EXTERN_C extern |
| #endif |
| #include <math.h> |
| #define __PYX_HAVE_API__sphinx__pycode__pgen2__parse |
| |
| #ifdef __GNUC__ |
| #define INLINE __inline__ |
| #elif _WIN32 |
| #define INLINE __inline |
| #else |
| #define INLINE |
| #endif |
| |
| typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ |
| |
| |
| /* Type Conversion Predeclarations */ |
| |
| #if PY_MAJOR_VERSION < 3 |
| #define __Pyx_PyBytes_FromString PyString_FromString |
| #define __Pyx_PyBytes_FromStringAndSize PyString_FromStringAndSize |
| #define __Pyx_PyBytes_AsString PyString_AsString |
| #else |
| #define __Pyx_PyBytes_FromString PyBytes_FromString |
| #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize |
| #define __Pyx_PyBytes_AsString PyBytes_AsString |
| #endif |
| |
| #define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) |
| #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s)) |
| |
| #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) |
| static INLINE int __Pyx_PyObject_IsTrue(PyObject*); |
| static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); |
| |
| #if !defined(T_PYSSIZET) |
| #if PY_VERSION_HEX < 0x02050000 |
| #define T_PYSSIZET T_INT |
| #elif !defined(T_LONGLONG) |
| #define T_PYSSIZET \ |
| ((sizeof(Py_ssize_t) == sizeof(int)) ? T_INT : \ |
| ((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : -1)) |
| #else |
| #define T_PYSSIZET \ |
| ((sizeof(Py_ssize_t) == sizeof(int)) ? T_INT : \ |
| ((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : \ |
| ((sizeof(Py_ssize_t) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))) |
| #endif |
| #endif |
| |
| |
| #if !defined(T_ULONGLONG) |
| #define __Pyx_T_UNSIGNED_INT(x) \ |
| ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ |
| ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ |
| ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ |
| ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : -1)))) |
| #else |
| #define __Pyx_T_UNSIGNED_INT(x) \ |
| ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ |
| ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ |
| ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ |
| ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : \ |
| ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) |
| #endif |
| #if !defined(T_LONGLONG) |
| #define __Pyx_T_SIGNED_INT(x) \ |
| ((sizeof(x) == sizeof(char)) ? T_BYTE : \ |
| ((sizeof(x) == sizeof(short)) ? T_SHORT : \ |
| ((sizeof(x) == sizeof(int)) ? T_INT : \ |
| ((sizeof(x) == sizeof(long)) ? T_LONG : -1)))) |
| #else |
| #define __Pyx_T_SIGNED_INT(x) \ |
| ((sizeof(x) == sizeof(char)) ? T_BYTE : \ |
| ((sizeof(x) == sizeof(short)) ? T_SHORT : \ |
| ((sizeof(x) == sizeof(int)) ? T_INT : \ |
| ((sizeof(x) == sizeof(long)) ? T_LONG : \ |
| ((sizeof(x) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))))) |
| #endif |
| |
| #define __Pyx_T_FLOATING(x) \ |
| ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ |
| ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) |
| |
| #if !defined(T_SIZET) |
| #if !defined(T_ULONGLONG) |
| #define T_SIZET \ |
| ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ |
| ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1)) |
| #else |
| #define T_SIZET \ |
| ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ |
| ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : \ |
| ((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))) |
| #endif |
| #endif |
| |
| static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); |
| static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); |
| static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); |
| |
| #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) |
| |
| |
| #ifdef __GNUC__ |
| /* Test for GCC > 2.95 */ |
| #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) |
| #define likely(x) __builtin_expect(!!(x), 1) |
| #define unlikely(x) __builtin_expect(!!(x), 0) |
| #else /* __GNUC__ > 2 ... */ |
| #define likely(x) (x) |
| #define unlikely(x) (x) |
| #endif /* __GNUC__ > 2 ... */ |
| #else /* __GNUC__ */ |
| #define likely(x) (x) |
| #define unlikely(x) (x) |
| #endif /* __GNUC__ */ |
| |
| static PyObject *__pyx_m; |
| static PyObject *__pyx_b; |
| static PyObject *__pyx_empty_tuple; |
| static PyObject *__pyx_empty_bytes; |
| static int __pyx_lineno; |
| static int __pyx_clineno = 0; |
| static const char * __pyx_cfilenm= __FILE__; |
| static const char *__pyx_filename; |
| static const char **__pyx_f; |
| |
| |
| /* Type declarations */ |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":31 |
| * |
| * |
| * cdef class Parser: # <<<<<<<<<<<<<< |
| * cdef public object grammar |
| * cdef public object rootnode |
| */ |
| |
| struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser { |
| PyObject_HEAD |
| struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_vtab; |
| PyObject *grammar; |
| PyObject *rootnode; |
| PyObject *stack; |
| PyObject *used_names; |
| int _grammar_start; |
| PyObject *_grammar_labels; |
| PyObject *_grammar_dfas; |
| PyObject *_grammar_keywords; |
| PyObject *_grammar_tokens; |
| PyObject *_grammar_number2symbol; |
| }; |
| |
| |
| struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser { |
| int (*classify)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, int, PyObject *, PyObject *); |
| void (*shift)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, PyObject *, PyObject *, PyObject *, PyObject *); |
| void (*push)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, PyObject *, PyObject *, PyObject *, PyObject *); |
| void (*pop)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *); |
| PyObject *(*convert)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, PyObject *); |
| }; |
| static struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_vtabptr_6sphinx_6pycode_5pgen2_5parse_Parser; |
| |
| #ifndef CYTHON_REFNANNY |
| #define CYTHON_REFNANNY 0 |
| #endif |
| |
| #if CYTHON_REFNANNY |
| typedef struct { |
| void (*INCREF)(void*, PyObject*, int); |
| void (*DECREF)(void*, PyObject*, int); |
| void (*GOTREF)(void*, PyObject*, int); |
| void (*GIVEREF)(void*, PyObject*, int); |
| void* (*SetupContext)(const char*, int, const char*); |
| void (*FinishContext)(void**); |
| } __Pyx_RefNannyAPIStruct; |
| static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; |
| static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { |
| PyObject *m = NULL, *p = NULL; |
| void *r = NULL; |
| m = PyImport_ImportModule((char *)modname); |
| if (!m) goto end; |
| p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); |
| if (!p) goto end; |
| r = PyLong_AsVoidPtr(p); |
| end: |
| Py_XDECREF(p); |
| Py_XDECREF(m); |
| return (__Pyx_RefNannyAPIStruct *)r; |
| } |
| #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) |
| #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) |
| #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) |
| #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) |
| #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) |
| #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) |
| #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) |
| #else |
| #define __Pyx_RefNannySetupContext(name) |
| #define __Pyx_RefNannyFinishContext() |
| #define __Pyx_INCREF(r) Py_INCREF(r) |
| #define __Pyx_DECREF(r) Py_DECREF(r) |
| #define __Pyx_GOTREF(r) |
| #define __Pyx_GIVEREF(r) |
| #define __Pyx_XDECREF(r) Py_XDECREF(r) |
| #endif /* CYTHON_REFNANNY */ |
| #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) |
| #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) |
| |
| static void __Pyx_RaiseDoubleKeywordsError( |
| const char* func_name, PyObject* kw_name); /*proto*/ |
| |
| static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, |
| Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ |
| |
| static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ |
| |
| static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { |
| PyObject *r; |
| if (!j) return NULL; |
| r = PyObject_GetItem(o, j); |
| Py_DECREF(j); |
| return r; |
| } |
| |
| |
| #define __Pyx_GetItemInt_List(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ |
| __Pyx_GetItemInt_List_Fast(o, i, size <= sizeof(long)) : \ |
| __Pyx_GetItemInt_Generic(o, to_py_func(i))) |
| |
| static INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { |
| if (likely(o != Py_None)) { |
| if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { |
| PyObject *r = PyList_GET_ITEM(o, i); |
| Py_INCREF(r); |
| return r; |
| } |
| else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { |
| PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); |
| Py_INCREF(r); |
| return r; |
| } |
| } |
| return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); |
| } |
| |
| #define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ |
| __Pyx_GetItemInt_Tuple_Fast(o, i, size <= sizeof(long)) : \ |
| __Pyx_GetItemInt_Generic(o, to_py_func(i))) |
| |
| static INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { |
| if (likely(o != Py_None)) { |
| if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { |
| PyObject *r = PyTuple_GET_ITEM(o, i); |
| Py_INCREF(r); |
| return r; |
| } |
| else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { |
| PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); |
| Py_INCREF(r); |
| return r; |
| } |
| } |
| return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); |
| } |
| |
| |
| #define __Pyx_GetItemInt(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ |
| __Pyx_GetItemInt_Fast(o, i, size <= sizeof(long)) : \ |
| __Pyx_GetItemInt_Generic(o, to_py_func(i))) |
| |
| static INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { |
| PyObject *r; |
| if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { |
| r = PyList_GET_ITEM(o, i); |
| Py_INCREF(r); |
| } |
| else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { |
| r = PyTuple_GET_ITEM(o, i); |
| Py_INCREF(r); |
| } |
| else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { |
| r = PySequence_GetItem(o, i); |
| } |
| else { |
| r = __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); |
| } |
| return r; |
| } |
| |
| static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); |
| |
| static INLINE void __Pyx_RaiseTooManyValuesError(void); |
| |
| static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ |
| static int __Pyx_EndUnpack(PyObject *); /*proto*/ |
| |
| static INLINE long __Pyx_NegateNonNeg(long b) { return unlikely(b < 0) ? b : !b; } |
| static INLINE PyObject* __Pyx_PyBoolOrNull_FromLong(long b) { |
| return unlikely(b < 0) ? NULL : __Pyx_PyBool_FromLong(b); |
| } |
| |
| static INLINE void __Pyx_RaiseNoneNotIterableError(void); |
| |
| static INLINE PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) { |
| if (likely(PyList_CheckExact(L))) { |
| if (PyList_Append(L, x) < 0) return NULL; |
| Py_INCREF(Py_None); |
| return Py_None; /* this is just to have an accurate signature */ |
| } |
| else { |
| PyObject *r, *m; |
| m = __Pyx_GetAttrString(L, "append"); |
| if (!m) return NULL; |
| r = PyObject_CallFunctionObjArgs(m, x, NULL); |
| Py_DECREF(m); |
| return r; |
| } |
| } |
| |
| #define __Pyx_SetItemInt(o, i, v, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ |
| __Pyx_SetItemInt_Fast(o, i, v, size <= sizeof(long)) : \ |
| __Pyx_SetItemInt_Generic(o, to_py_func(i), v)) |
| |
| static INLINE int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { |
| int r; |
| if (!j) return -1; |
| r = PyObject_SetItem(o, j, v); |
| Py_DECREF(j); |
| return r; |
| } |
| |
| static INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int fits_long) { |
| if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { |
| Py_INCREF(v); |
| Py_DECREF(PyList_GET_ITEM(o, i)); |
| PyList_SET_ITEM(o, i, v); |
| return 1; |
| } |
| else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_ass_item && (likely(i >= 0))) |
| return PySequence_SetItem(o, i, v); |
| else { |
| PyObject *j = fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i); |
| return __Pyx_SetItemInt_Generic(o, j, v); |
| } |
| } |
| |
| static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/ |
| |
| static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ |
| |
| static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ |
| |
| static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, const char *modname); /*proto*/ |
| |
| static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ |
| static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ |
| |
| static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ |
| |
| static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); |
| |
| static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); |
| |
| static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); |
| |
| static INLINE char __Pyx_PyInt_AsChar(PyObject *); |
| |
| static INLINE short __Pyx_PyInt_AsShort(PyObject *); |
| |
| static INLINE int __Pyx_PyInt_AsInt(PyObject *); |
| |
| static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); |
| |
| static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); |
| |
| static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); |
| |
| static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); |
| |
| static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); |
| |
| static INLINE long __Pyx_PyInt_AsLong(PyObject *); |
| |
| static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); |
| |
| static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); |
| |
| static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); |
| |
| static void __Pyx_WriteUnraisable(const char *name); /*proto*/ |
| |
| static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ |
| |
| static void __Pyx_AddTraceback(const char *funcname); /*proto*/ |
| |
| static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ |
| /* Module declarations from sphinx.pycode.pgen2.parse */ |
| |
| static PyTypeObject *__pyx_ptype_6sphinx_6pycode_5pgen2_5parse_Parser = 0; |
| #define __Pyx_MODULE_NAME "sphinx.pycode.pgen2.parse" |
| int __pyx_module_is_main_sphinx__pycode__pgen2__parse = 0; |
| |
| /* Implementation of sphinx.pycode.pgen2.parse */ |
| static PyObject *__pyx_builtin_Exception; |
| static char __pyx_k_1[] = "%s: type=%r, value=%r, context=%r"; |
| static char __pyx_k_2[] = "_grammar_number2symbol"; |
| static char __pyx_k_3[] = "too much input"; |
| static char __pyx_k_4[] = "bad input"; |
| static char __pyx_k_5[] = "bad token"; |
| static char __pyx_k_6[] = "Parser engine for the grammar tables generated by pgen.\n\nThe grammar table must be loaded first.\n\nSee Parser/parser.c in the Python distribution for additional info on\nhow this parsing engine works.\n\n"; |
| static char __pyx_k_7[] = "sphinx.pycode.nodes"; |
| static char __pyx_k_8[] = "Exception to signal the parser is stuck."; |
| static char __pyx_k_9[] = "Parser.addtoken (line 66)"; |
| static char __pyx_k__add[] = "add"; |
| static char __pyx_k__msg[] = "msg"; |
| static char __pyx_k__pop[] = "pop"; |
| static char __pyx_k__Leaf[] = "Leaf"; |
| static char __pyx_k__Node[] = "Node"; |
| static char __pyx_k__dfas[] = "dfas"; |
| static char __pyx_k__push[] = "push"; |
| static char __pyx_k__self[] = "self"; |
| static char __pyx_k__type[] = "type"; |
| static char __pyx_k__shift[] = "shift"; |
| static char __pyx_k__stack[] = "stack"; |
| static char __pyx_k__start[] = "start"; |
| static char __pyx_k__value[] = "value"; |
| static char __pyx_k__Parser[] = "Parser"; |
| static char __pyx_k__labels[] = "labels"; |
| static char __pyx_k__tokens[] = "tokens"; |
| static char __pyx_k__context[] = "context"; |
| static char __pyx_k__convert[] = "convert"; |
| static char __pyx_k__grammar[] = "grammar"; |
| static char __pyx_k____init__[] = "__init__"; |
| static char __pyx_k____main__[] = "__main__"; |
| static char __pyx_k____test__[] = "__test__"; |
| static char __pyx_k__addtoken[] = "addtoken"; |
| static char __pyx_k__classify[] = "classify"; |
| static char __pyx_k__keywords[] = "keywords"; |
| static char __pyx_k__rootnode[] = "rootnode"; |
| static char __pyx_k__Exception[] = "Exception"; |
| static char __pyx_k__ParseError[] = "ParseError"; |
| static char __pyx_k__used_names[] = "used_names"; |
| static char __pyx_k___grammar_dfas[] = "_grammar_dfas"; |
| static char __pyx_k__number2symbol[] = "number2symbol"; |
| static char __pyx_k___grammar_start[] = "_grammar_start"; |
| static char __pyx_k___grammar_labels[] = "_grammar_labels"; |
| static char __pyx_k___grammar_tokens[] = "_grammar_tokens"; |
| static char __pyx_k___grammar_keywords[] = "_grammar_keywords"; |
| static PyObject *__pyx_kp_s_1; |
| static PyObject *__pyx_n_s_2; |
| static PyObject *__pyx_kp_s_3; |
| static PyObject *__pyx_kp_s_4; |
| static PyObject *__pyx_kp_s_5; |
| static PyObject *__pyx_n_s_7; |
| static PyObject *__pyx_kp_s_8; |
| static PyObject *__pyx_kp_u_9; |
| static PyObject *__pyx_n_s__Exception; |
| static PyObject *__pyx_n_s__Leaf; |
| static PyObject *__pyx_n_s__Node; |
| static PyObject *__pyx_n_s__ParseError; |
| static PyObject *__pyx_n_s__Parser; |
| static PyObject *__pyx_n_s____init__; |
| static PyObject *__pyx_n_s____main__; |
| static PyObject *__pyx_n_s____test__; |
| static PyObject *__pyx_n_s___grammar_dfas; |
| static PyObject *__pyx_n_s___grammar_keywords; |
| static PyObject *__pyx_n_s___grammar_labels; |
| static PyObject *__pyx_n_s___grammar_start; |
| static PyObject *__pyx_n_s___grammar_tokens; |
| static PyObject *__pyx_n_s__add; |
| static PyObject *__pyx_n_s__addtoken; |
| static PyObject *__pyx_n_s__classify; |
| static PyObject *__pyx_n_s__context; |
| static PyObject *__pyx_n_s__convert; |
| static PyObject *__pyx_n_s__dfas; |
| static PyObject *__pyx_n_s__grammar; |
| static PyObject *__pyx_n_s__keywords; |
| static PyObject *__pyx_n_s__labels; |
| static PyObject *__pyx_n_s__msg; |
| static PyObject *__pyx_n_s__number2symbol; |
| static PyObject *__pyx_n_s__pop; |
| static PyObject *__pyx_n_s__push; |
| static PyObject *__pyx_n_s__rootnode; |
| static PyObject *__pyx_n_s__self; |
| static PyObject *__pyx_n_s__shift; |
| static PyObject *__pyx_n_s__stack; |
| static PyObject *__pyx_n_s__start; |
| static PyObject *__pyx_n_s__tokens; |
| static PyObject *__pyx_n_s__type; |
| static PyObject *__pyx_n_s__used_names; |
| static PyObject *__pyx_n_s__value; |
| static PyObject *__pyx_int_0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":22 |
| * """Exception to signal the parser is stuck.""" |
| * |
| * def __init__(self, msg, type, value, context): # <<<<<<<<<<<<<< |
| * Exception.__init__(self, "%s: type=%r, value=%r, context=%r" % |
| * (msg, type, value, context)) |
| */ |
| |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_10ParseError___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ |
| static PyMethodDef __pyx_mdef_6sphinx_6pycode_5pgen2_5parse_10ParseError___init__ = {__Pyx_NAMESTR("__init__"), (PyCFunction)__pyx_pf_6sphinx_6pycode_5pgen2_5parse_10ParseError___init__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}; |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_10ParseError___init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { |
| PyObject *__pyx_v_self = 0; |
| PyObject *__pyx_v_msg = 0; |
| PyObject *__pyx_v_type = 0; |
| PyObject *__pyx_v_value = 0; |
| PyObject *__pyx_v_context = 0; |
| PyObject *__pyx_r = NULL; |
| PyObject *__pyx_t_1 = NULL; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__self,&__pyx_n_s__msg,&__pyx_n_s__type,&__pyx_n_s__value,&__pyx_n_s__context,0}; |
| __Pyx_RefNannySetupContext("__init__"); |
| __pyx_self = __pyx_self; |
| if (unlikely(__pyx_kwds)) { |
| Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); |
| PyObject* values[5] = {0,0,0,0,0}; |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); |
| case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); |
| case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); |
| case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); |
| case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); |
| case 0: break; |
| default: goto __pyx_L5_argtuple_error; |
| } |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 0: |
| values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__self); |
| if (likely(values[0])) kw_args--; |
| else goto __pyx_L5_argtuple_error; |
| case 1: |
| values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msg); |
| if (likely(values[1])) kw_args--; |
| else { |
| __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| case 2: |
| values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type); |
| if (likely(values[2])) kw_args--; |
| else { |
| __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| case 3: |
| values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value); |
| if (likely(values[3])) kw_args--; |
| else { |
| __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| case 4: |
| values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__context); |
| if (likely(values[4])) kw_args--; |
| else { |
| __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| } |
| if (unlikely(kw_args > 0)) { |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| __pyx_v_self = values[0]; |
| __pyx_v_msg = values[1]; |
| __pyx_v_type = values[2]; |
| __pyx_v_value = values[3]; |
| __pyx_v_context = values[4]; |
| } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { |
| goto __pyx_L5_argtuple_error; |
| } else { |
| __pyx_v_self = PyTuple_GET_ITEM(__pyx_args, 0); |
| __pyx_v_msg = PyTuple_GET_ITEM(__pyx_args, 1); |
| __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 2); |
| __pyx_v_value = PyTuple_GET_ITEM(__pyx_args, 3); |
| __pyx_v_context = PyTuple_GET_ITEM(__pyx_args, 4); |
| } |
| goto __pyx_L4_argument_unpacking_done; |
| __pyx_L5_argtuple_error:; |
| __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| __pyx_L3_error:; |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.ParseError.__init__"); |
| return NULL; |
| __pyx_L4_argument_unpacking_done:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":23 |
| * |
| * def __init__(self, msg, type, value, context): |
| * Exception.__init__(self, "%s: type=%r, value=%r, context=%r" % # <<<<<<<<<<<<<< |
| * (msg, type, value, context)) |
| * self.msg = msg |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_builtin_Exception, __pyx_n_s____init__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":24 |
| * def __init__(self, msg, type, value, context): |
| * Exception.__init__(self, "%s: type=%r, value=%r, context=%r" % |
| * (msg, type, value, context)) # <<<<<<<<<<<<<< |
| * self.msg = msg |
| * self.type = type |
| */ |
| __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_INCREF(__pyx_v_msg); |
| PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_msg); |
| __Pyx_GIVEREF(__pyx_v_msg); |
| __Pyx_INCREF(__pyx_v_type); |
| PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_type); |
| __Pyx_GIVEREF(__pyx_v_type); |
| __Pyx_INCREF(__pyx_v_value); |
| PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_context); |
| __Pyx_GIVEREF(__pyx_v_context); |
| __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_INCREF(__pyx_v_self); |
| PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); |
| __Pyx_GIVEREF(__pyx_v_self); |
| PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); |
| __Pyx_GIVEREF(__pyx_t_3); |
| __pyx_t_3 = 0; |
| __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":25 |
| * Exception.__init__(self, "%s: type=%r, value=%r, context=%r" % |
| * (msg, type, value, context)) |
| * self.msg = msg # <<<<<<<<<<<<<< |
| * self.type = type |
| * self.value = value |
| */ |
| if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__msg, __pyx_v_msg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":26 |
| * (msg, type, value, context)) |
| * self.msg = msg |
| * self.type = type # <<<<<<<<<<<<<< |
| * self.value = value |
| * self.context = context |
| */ |
| if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__type, __pyx_v_type) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":27 |
| * self.msg = msg |
| * self.type = type |
| * self.value = value # <<<<<<<<<<<<<< |
| * self.context = context |
| * |
| */ |
| if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__value, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":28 |
| * self.type = type |
| * self.value = value |
| * self.context = context # <<<<<<<<<<<<<< |
| * |
| * |
| */ |
| if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s__context, __pyx_v_context) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| |
| __pyx_r = Py_None; __Pyx_INCREF(Py_None); |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.ParseError.__init__"); |
| __pyx_r = NULL; |
| __pyx_L0:; |
| __Pyx_XGIVEREF(__pyx_r); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":34 |
| * cdef public object grammar |
| * cdef public object rootnode |
| * cdef public list stack # <<<<<<<<<<<<<< |
| * cdef public set used_names |
| * cdef int _grammar_start |
| */ |
| |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_5stack___get__(PyObject *__pyx_v_self); /*proto*/ |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_5stack___get__(PyObject *__pyx_v_self) { |
| PyObject *__pyx_r = NULL; |
| __Pyx_RefNannySetupContext("__get__"); |
| __Pyx_XDECREF(__pyx_r); |
| __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack)); |
| __pyx_r = ((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack); |
| goto __pyx_L0; |
| |
| __pyx_r = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_L0:; |
| __Pyx_XGIVEREF(__pyx_r); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| static int __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_5stack___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ |
| static int __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_5stack___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { |
| int __pyx_r; |
| __Pyx_RefNannySetupContext("__set__"); |
| if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_INCREF(__pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack = ((PyObject *)__pyx_v_value); |
| |
| __pyx_r = 0; |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.stack.__set__"); |
| __pyx_r = -1; |
| __pyx_L0:; |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":35 |
| * cdef public object rootnode |
| * cdef public list stack |
| * cdef public set used_names # <<<<<<<<<<<<<< |
| * cdef int _grammar_start |
| * cdef list _grammar_labels |
| */ |
| |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_10used_names___get__(PyObject *__pyx_v_self); /*proto*/ |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_10used_names___get__(PyObject *__pyx_v_self) { |
| PyObject *__pyx_r = NULL; |
| __Pyx_RefNannySetupContext("__get__"); |
| __Pyx_XDECREF(__pyx_r); |
| __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names)); |
| __pyx_r = ((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names); |
| goto __pyx_L0; |
| |
| __pyx_r = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_L0:; |
| __Pyx_XGIVEREF(__pyx_r); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| static int __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_10used_names___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ |
| static int __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_10used_names___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { |
| int __pyx_r; |
| __Pyx_RefNannySetupContext("__set__"); |
| if (!(likely(PyAnySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected set, got %.200s", Py_TYPE(__pyx_v_value)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_INCREF(__pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names = ((PyObject *)__pyx_v_value); |
| |
| __pyx_r = 0; |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.used_names.__set__"); |
| __pyx_r = -1; |
| __pyx_L0:; |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":43 |
| * cdef dict _grammar_number2symbol |
| * |
| * def __init__(self, grammar, convert=None): # <<<<<<<<<<<<<< |
| * self.grammar = grammar |
| * #self.convert = convert or noconvert |
| */ |
| |
| static int __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ |
| static int __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { |
| PyObject *__pyx_v_grammar = 0; |
| PyObject *__pyx_v_convert = 0; |
| int __pyx_r; |
| PyObject *__pyx_t_1 = NULL; |
| int __pyx_t_2; |
| static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__grammar,&__pyx_n_s__convert,0}; |
| __Pyx_RefNannySetupContext("__init__"); |
| if (unlikely(__pyx_kwds)) { |
| Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); |
| PyObject* values[2] = {0,0}; |
| values[1] = ((PyObject *)Py_None); |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); |
| case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); |
| case 0: break; |
| default: goto __pyx_L5_argtuple_error; |
| } |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 0: |
| values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__grammar); |
| if (likely(values[0])) kw_args--; |
| else goto __pyx_L5_argtuple_error; |
| case 1: |
| if (kw_args > 1) { |
| PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__convert); |
| if (unlikely(value)) { values[1] = value; kw_args--; } |
| } |
| } |
| if (unlikely(kw_args > 0)) { |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| __pyx_v_grammar = values[0]; |
| __pyx_v_convert = values[1]; |
| } else { |
| __pyx_v_convert = ((PyObject *)Py_None); |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 2: __pyx_v_convert = PyTuple_GET_ITEM(__pyx_args, 1); |
| case 1: __pyx_v_grammar = PyTuple_GET_ITEM(__pyx_args, 0); |
| break; |
| default: goto __pyx_L5_argtuple_error; |
| } |
| } |
| goto __pyx_L4_argument_unpacking_done; |
| __pyx_L5_argtuple_error:; |
| __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| __pyx_L3_error:; |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.__init__"); |
| return -1; |
| __pyx_L4_argument_unpacking_done:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":44 |
| * |
| * def __init__(self, grammar, convert=None): |
| * self.grammar = grammar # <<<<<<<<<<<<<< |
| * #self.convert = convert or noconvert |
| * |
| */ |
| __Pyx_INCREF(__pyx_v_grammar); |
| __Pyx_GIVEREF(__pyx_v_grammar); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->grammar); |
| __Pyx_DECREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->grammar); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->grammar = __pyx_v_grammar; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":47 |
| * #self.convert = convert or noconvert |
| * |
| * self._grammar_dfas = grammar.dfas # <<<<<<<<<<<<<< |
| * self._grammar_labels = grammar.labels |
| * self._grammar_keywords = grammar.keywords |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_v_grammar, __pyx_n_s__dfas); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GIVEREF(__pyx_t_1); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_dfas); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_dfas)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_dfas = ((PyObject *)__pyx_t_1); |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":48 |
| * |
| * self._grammar_dfas = grammar.dfas |
| * self._grammar_labels = grammar.labels # <<<<<<<<<<<<<< |
| * self._grammar_keywords = grammar.keywords |
| * self._grammar_tokens = grammar.tokens |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_v_grammar, __pyx_n_s__labels); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GIVEREF(__pyx_t_1); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_labels); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_labels)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_labels = ((PyObject *)__pyx_t_1); |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":49 |
| * self._grammar_dfas = grammar.dfas |
| * self._grammar_labels = grammar.labels |
| * self._grammar_keywords = grammar.keywords # <<<<<<<<<<<<<< |
| * self._grammar_tokens = grammar.tokens |
| * self._grammar_number2symbol = grammar.number2symbol |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_v_grammar, __pyx_n_s__keywords); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GIVEREF(__pyx_t_1); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_keywords); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_keywords)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_keywords = ((PyObject *)__pyx_t_1); |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":50 |
| * self._grammar_labels = grammar.labels |
| * self._grammar_keywords = grammar.keywords |
| * self._grammar_tokens = grammar.tokens # <<<<<<<<<<<<<< |
| * self._grammar_number2symbol = grammar.number2symbol |
| * self._grammar_start = grammar.start |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_v_grammar, __pyx_n_s__tokens); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GIVEREF(__pyx_t_1); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_tokens); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_tokens)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_tokens = ((PyObject *)__pyx_t_1); |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":51 |
| * self._grammar_keywords = grammar.keywords |
| * self._grammar_tokens = grammar.tokens |
| * self._grammar_number2symbol = grammar.number2symbol # <<<<<<<<<<<<<< |
| * self._grammar_start = grammar.start |
| * |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_v_grammar, __pyx_n_s__number2symbol); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GIVEREF(__pyx_t_1); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_number2symbol); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_number2symbol)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_number2symbol = ((PyObject *)__pyx_t_1); |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":52 |
| * self._grammar_tokens = grammar.tokens |
| * self._grammar_number2symbol = grammar.number2symbol |
| * self._grammar_start = grammar.start # <<<<<<<<<<<<<< |
| * |
| * def setup(self, start=None): |
| */ |
| __pyx_t_1 = PyObject_GetAttr(__pyx_v_grammar, __pyx_n_s__start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_start = __pyx_t_2; |
| |
| __pyx_r = 0; |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.__init__"); |
| __pyx_r = -1; |
| __pyx_L0:; |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":54 |
| * self._grammar_start = grammar.start |
| * |
| * def setup(self, start=None): # <<<<<<<<<<<<<< |
| * if start is None: |
| * start = self._grammar_start |
| */ |
| |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_setup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_setup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { |
| PyObject *__pyx_v_start = 0; |
| PyObject *__pyx_v_newnode; |
| PyObject *__pyx_v_stackentry; |
| PyObject *__pyx_r = NULL; |
| int __pyx_t_1; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__start,0}; |
| __Pyx_RefNannySetupContext("setup"); |
| if (unlikely(__pyx_kwds)) { |
| Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); |
| PyObject* values[1] = {0}; |
| values[0] = ((PyObject *)Py_None); |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); |
| case 0: break; |
| default: goto __pyx_L5_argtuple_error; |
| } |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 0: |
| if (kw_args > 1) { |
| PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__start); |
| if (unlikely(value)) { values[0] = value; kw_args--; } |
| } |
| } |
| if (unlikely(kw_args > 0)) { |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "setup") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| __pyx_v_start = values[0]; |
| } else { |
| __pyx_v_start = ((PyObject *)Py_None); |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 1: __pyx_v_start = PyTuple_GET_ITEM(__pyx_args, 0); |
| case 0: break; |
| default: goto __pyx_L5_argtuple_error; |
| } |
| } |
| goto __pyx_L4_argument_unpacking_done; |
| __pyx_L5_argtuple_error:; |
| __Pyx_RaiseArgtupleInvalid("setup", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| __pyx_L3_error:; |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.setup"); |
| return NULL; |
| __pyx_L4_argument_unpacking_done:; |
| __Pyx_INCREF((PyObject *)__pyx_v_self); |
| __Pyx_INCREF(__pyx_v_start); |
| __pyx_v_newnode = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_stackentry = Py_None; __Pyx_INCREF(Py_None); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":55 |
| * |
| * def setup(self, start=None): |
| * if start is None: # <<<<<<<<<<<<<< |
| * start = self._grammar_start |
| * # Each stack entry is a tuple: (dfa, state, node). |
| */ |
| __pyx_t_1 = (__pyx_v_start == Py_None); |
| if (__pyx_t_1) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":56 |
| * def setup(self, start=None): |
| * if start is None: |
| * start = self._grammar_start # <<<<<<<<<<<<<< |
| * # Each stack entry is a tuple: (dfa, state, node). |
| * # A node is a tuple: (type, value, context, children), |
| */ |
| __pyx_t_2 = PyInt_FromLong(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_start); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_DECREF(__pyx_v_start); |
| __pyx_v_start = __pyx_t_2; |
| __pyx_t_2 = 0; |
| goto __pyx_L6; |
| } |
| __pyx_L6:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":60 |
| * # A node is a tuple: (type, value, context, children), |
| * # where children is a list of nodes or None, and context may be None. |
| * newnode = (start, None, None, []) # <<<<<<<<<<<<<< |
| * stackentry = (self._grammar_dfas[start], 0, newnode) |
| * self.stack = [stackentry] |
| */ |
| __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_INCREF(__pyx_v_start); |
| PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_start); |
| __Pyx_GIVEREF(__pyx_v_start); |
| __Pyx_INCREF(Py_None); |
| PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None); |
| __Pyx_GIVEREF(Py_None); |
| __Pyx_INCREF(Py_None); |
| PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None); |
| __Pyx_GIVEREF(Py_None); |
| PyTuple_SET_ITEM(__pyx_t_3, 3, ((PyObject *)__pyx_t_2)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_newnode); |
| __pyx_v_newnode = __pyx_t_3; |
| __pyx_t_3 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":61 |
| * # where children is a list of nodes or None, and context may be None. |
| * newnode = (start, None, None, []) |
| * stackentry = (self._grammar_dfas[start], 0, newnode) # <<<<<<<<<<<<<< |
| * self.stack = [stackentry] |
| * self.rootnode = None |
| */ |
| __pyx_t_3 = PyObject_GetItem(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_dfas), __pyx_v_start); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); |
| __Pyx_GIVEREF(__pyx_t_3); |
| __Pyx_INCREF(__pyx_int_0); |
| PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_0); |
| __Pyx_GIVEREF(__pyx_int_0); |
| __Pyx_INCREF(__pyx_v_newnode); |
| PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_newnode); |
| __Pyx_GIVEREF(__pyx_v_newnode); |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_stackentry); |
| __pyx_v_stackentry = __pyx_t_2; |
| __pyx_t_2 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":62 |
| * newnode = (start, None, None, []) |
| * stackentry = (self._grammar_dfas[start], 0, newnode) |
| * self.stack = [stackentry] # <<<<<<<<<<<<<< |
| * self.rootnode = None |
| * self.used_names = set() # Aliased to self.rootnode.used_names in pop() |
| */ |
| __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| __Pyx_INCREF(__pyx_v_stackentry); |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_v_stackentry); |
| __Pyx_GIVEREF(__pyx_v_stackentry); |
| __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack = __pyx_t_2; |
| __pyx_t_2 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":63 |
| * stackentry = (self._grammar_dfas[start], 0, newnode) |
| * self.stack = [stackentry] |
| * self.rootnode = None # <<<<<<<<<<<<<< |
| * self.used_names = set() # Aliased to self.rootnode.used_names in pop() |
| * |
| */ |
| __Pyx_INCREF(Py_None); |
| __Pyx_GIVEREF(Py_None); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->rootnode); |
| __Pyx_DECREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->rootnode); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->rootnode = Py_None; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":64 |
| * self.stack = [stackentry] |
| * self.rootnode = None |
| * self.used_names = set() # Aliased to self.rootnode.used_names in pop() # <<<<<<<<<<<<<< |
| * |
| * def addtoken(self, int type, value, context): |
| */ |
| __pyx_t_2 = PySet_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| if (!(likely(PyAnySet_CheckExact(((PyObject *)__pyx_t_2)))||((((PyObject *)__pyx_t_2)) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected set, got %.200s", Py_TYPE(((PyObject *)__pyx_t_2))->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GIVEREF(__pyx_t_2); |
| __Pyx_GOTREF(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names); |
| __Pyx_DECREF(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names)); |
| ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->used_names = ((PyObject *)__pyx_t_2); |
| __pyx_t_2 = 0; |
| |
| __pyx_r = Py_None; __Pyx_INCREF(Py_None); |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.setup"); |
| __pyx_r = NULL; |
| __pyx_L0:; |
| __Pyx_DECREF(__pyx_v_newnode); |
| __Pyx_DECREF(__pyx_v_stackentry); |
| __Pyx_DECREF((PyObject *)__pyx_v_self); |
| __Pyx_DECREF(__pyx_v_start); |
| __Pyx_XGIVEREF(__pyx_r); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":66 |
| * self.used_names = set() # Aliased to self.rootnode.used_names in pop() |
| * |
| * def addtoken(self, int type, value, context): # <<<<<<<<<<<<<< |
| * """Add a token; return True iff this is the end of the program.""" |
| * cdef int ilabel, i, t, state, newstate |
| */ |
| |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_addtoken(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ |
| static char __pyx_doc_6sphinx_6pycode_5pgen2_5parse_6Parser_addtoken[] = "Add a token; return True iff this is the end of the program."; |
| static PyObject *__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_addtoken(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { |
| int __pyx_v_type; |
| PyObject *__pyx_v_value = 0; |
| PyObject *__pyx_v_context = 0; |
| int __pyx_v_ilabel; |
| int __pyx_v_i; |
| int __pyx_v_t; |
| int __pyx_v_state; |
| int __pyx_v_newstate; |
| PyObject *__pyx_v_dfa; |
| PyObject *__pyx_v_node; |
| PyObject *__pyx_v_states; |
| PyObject *__pyx_v_first; |
| PyObject *__pyx_v_arcs; |
| PyObject *__pyx_v_v; |
| PyObject *__pyx_v_itsdfa; |
| PyObject *__pyx_v_itsstates; |
| PyObject *__pyx_v_itsfirst; |
| PyObject *__pyx_r = NULL; |
| int __pyx_t_1; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| PyObject *__pyx_t_5 = NULL; |
| int __pyx_t_6; |
| PyObject *__pyx_t_7 = NULL; |
| Py_ssize_t __pyx_t_8; |
| int __pyx_t_9; |
| int __pyx_t_10; |
| PyObject *__pyx_t_11 = NULL; |
| static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__type,&__pyx_n_s__value,&__pyx_n_s__context,0}; |
| __Pyx_RefNannySetupContext("addtoken"); |
| if (unlikely(__pyx_kwds)) { |
| Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); |
| PyObject* values[3] = {0,0,0}; |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); |
| case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); |
| case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); |
| case 0: break; |
| default: goto __pyx_L5_argtuple_error; |
| } |
| switch (PyTuple_GET_SIZE(__pyx_args)) { |
| case 0: |
| values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type); |
| if (likely(values[0])) kw_args--; |
| else goto __pyx_L5_argtuple_error; |
| case 1: |
| values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value); |
| if (likely(values[1])) kw_args--; |
| else { |
| __Pyx_RaiseArgtupleInvalid("addtoken", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| case 2: |
| values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__context); |
| if (likely(values[2])) kw_args--; |
| else { |
| __Pyx_RaiseArgtupleInvalid("addtoken", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| } |
| if (unlikely(kw_args > 0)) { |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "addtoken") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| } |
| __pyx_v_type = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| __pyx_v_value = values[1]; |
| __pyx_v_context = values[2]; |
| } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { |
| goto __pyx_L5_argtuple_error; |
| } else { |
| __pyx_v_type = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| __pyx_v_value = PyTuple_GET_ITEM(__pyx_args, 1); |
| __pyx_v_context = PyTuple_GET_ITEM(__pyx_args, 2); |
| } |
| goto __pyx_L4_argument_unpacking_done; |
| __pyx_L5_argtuple_error:; |
| __Pyx_RaiseArgtupleInvalid("addtoken", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;} |
| __pyx_L3_error:; |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.addtoken"); |
| return NULL; |
| __pyx_L4_argument_unpacking_done:; |
| __Pyx_INCREF((PyObject *)__pyx_v_self); |
| __Pyx_INCREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| __pyx_v_dfa = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_node = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_states = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_first = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_arcs = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_v = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_itsdfa = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_itsstates = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_itsfirst = Py_None; __Pyx_INCREF(Py_None); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":70 |
| * cdef int ilabel, i, t, state, newstate |
| * # Map from token to label |
| * ilabel = self.classify(type, value, context) # <<<<<<<<<<<<<< |
| * # Loop until the token is shifted; may raise exceptions |
| * while True: |
| */ |
| __pyx_v_ilabel = ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->__pyx_vtab)->classify(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self), __pyx_v_type, __pyx_v_value, __pyx_v_context); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":72 |
| * ilabel = self.classify(type, value, context) |
| * # Loop until the token is shifted; may raise exceptions |
| * while True: # <<<<<<<<<<<<<< |
| * dfa, state, node = self.stack[-1] |
| * states, first = dfa |
| */ |
| while (1) { |
| __pyx_t_1 = 1; |
| if (!__pyx_t_1) break; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":73 |
| * # Loop until the token is shifted; may raise exceptions |
| * while True: |
| * dfa, state, node = self.stack[-1] # <<<<<<<<<<<<<< |
| * states, first = dfa |
| * arcs = states[state] |
| */ |
| __pyx_t_2 = __Pyx_GetItemInt_List(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 3)) { |
| PyObject* tuple = __pyx_t_2; |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_t_5 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __pyx_v_state = __pyx_t_6; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_5; |
| __pyx_t_5 = 0; |
| } else { |
| __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_7, 2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| if (__Pyx_EndUnpack(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __pyx_v_state = __pyx_t_6; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_5; |
| __pyx_t_5 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":74 |
| * while True: |
| * dfa, state, node = self.stack[-1] |
| * states, first = dfa # <<<<<<<<<<<<<< |
| * arcs = states[state] |
| * # Look for a state with this label |
| */ |
| if (PyTuple_CheckExact(__pyx_v_dfa) && likely(PyTuple_GET_SIZE(__pyx_v_dfa) == 2)) { |
| PyObject* tuple = __pyx_v_dfa; |
| __pyx_t_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_2); |
| __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_v_states); |
| __pyx_v_states = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_first); |
| __pyx_v_first = __pyx_t_5; |
| __pyx_t_5 = 0; |
| } else { |
| __pyx_t_4 = PyObject_GetIter(__pyx_v_dfa); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_2 = __Pyx_UnpackItem(__pyx_t_4, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_4, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| if (__Pyx_EndUnpack(__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __Pyx_DECREF(__pyx_v_states); |
| __pyx_v_states = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_first); |
| __pyx_v_first = __pyx_t_5; |
| __pyx_t_5 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":75 |
| * dfa, state, node = self.stack[-1] |
| * states, first = dfa |
| * arcs = states[state] # <<<<<<<<<<<<<< |
| * # Look for a state with this label |
| * for i, newstate in arcs: |
| */ |
| __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_states, __pyx_v_state, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_v_arcs); |
| __pyx_v_arcs = __pyx_t_5; |
| __pyx_t_5 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":77 |
| * arcs = states[state] |
| * # Look for a state with this label |
| * for i, newstate in arcs: # <<<<<<<<<<<<<< |
| * t, v = self._grammar_labels[i] |
| * if ilabel == i: |
| */ |
| if (PyList_CheckExact(__pyx_v_arcs) || PyTuple_CheckExact(__pyx_v_arcs)) { |
| __pyx_t_8 = 0; __pyx_t_5 = __pyx_v_arcs; __Pyx_INCREF(__pyx_t_5); |
| } else { |
| __pyx_t_8 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_arcs); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| } |
| for (;;) { |
| if (likely(PyList_CheckExact(__pyx_t_5))) { |
| if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_5)) break; |
| __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; |
| } else if (likely(PyTuple_CheckExact(__pyx_t_5))) { |
| if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_5)) break; |
| __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; |
| } else { |
| __pyx_t_2 = PyIter_Next(__pyx_t_5); |
| if (!__pyx_t_2) { |
| if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| break; |
| } |
| __Pyx_GOTREF(__pyx_t_2); |
| } |
| if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 2)) { |
| PyObject* tuple = __pyx_t_2; |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_4); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_v_i = __pyx_t_6; |
| __pyx_v_newstate = __pyx_t_9; |
| } else { |
| __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| if (__Pyx_EndUnpack(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; |
| __pyx_v_i = __pyx_t_9; |
| __pyx_v_newstate = __pyx_t_6; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":78 |
| * # Look for a state with this label |
| * for i, newstate in arcs: |
| * t, v = self._grammar_labels[i] # <<<<<<<<<<<<<< |
| * if ilabel == i: |
| * # Look it up in the list of labels |
| */ |
| __pyx_t_2 = __Pyx_GetItemInt_List(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_labels), __pyx_v_i, sizeof(int), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 2)) { |
| PyObject* tuple = __pyx_t_2; |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_v_t = __pyx_t_6; |
| __Pyx_DECREF(__pyx_v_v); |
| __pyx_v_v = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } else { |
| __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| if (__Pyx_EndUnpack(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; |
| __pyx_v_t = __pyx_t_6; |
| __Pyx_DECREF(__pyx_v_v); |
| __pyx_v_v = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":79 |
| * for i, newstate in arcs: |
| * t, v = self._grammar_labels[i] |
| * if ilabel == i: # <<<<<<<<<<<<<< |
| * # Look it up in the list of labels |
| * ## assert t < 256 |
| */ |
| __pyx_t_1 = (__pyx_v_ilabel == __pyx_v_i); |
| if (__pyx_t_1) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":83 |
| * ## assert t < 256 |
| * # Shift a token; we're done with it |
| * self.shift(type, value, newstate, context) # <<<<<<<<<<<<<< |
| * # Pop while we are in an accept-only state |
| * state = newstate |
| */ |
| __pyx_t_2 = PyInt_FromLong(__pyx_v_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_4 = PyInt_FromLong(__pyx_v_newstate); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->__pyx_vtab)->shift(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self), __pyx_t_2, __pyx_v_value, __pyx_t_4, __pyx_v_context); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":85 |
| * self.shift(type, value, newstate, context) |
| * # Pop while we are in an accept-only state |
| * state = newstate # <<<<<<<<<<<<<< |
| * while states[state] == [(0, state)]: |
| * self.pop() |
| */ |
| __pyx_v_state = __pyx_v_newstate; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":86 |
| * # Pop while we are in an accept-only state |
| * state = newstate |
| * while states[state] == [(0, state)]: # <<<<<<<<<<<<<< |
| * self.pop() |
| * if not self.stack: |
| */ |
| while (1) { |
| __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_states, __pyx_v_state, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_2 = PyInt_FromLong(__pyx_v_state); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_INCREF(__pyx_int_0); |
| PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); |
| __Pyx_GIVEREF(__pyx_int_0); |
| PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); |
| __Pyx_GIVEREF(__pyx_t_2); |
| __pyx_t_2 = 0; |
| __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); |
| __Pyx_GIVEREF(__pyx_t_3); |
| __pyx_t_3 = 0; |
| __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_t_2), Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; |
| __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| if (!__pyx_t_1) break; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":87 |
| * state = newstate |
| * while states[state] == [(0, state)]: |
| * self.pop() # <<<<<<<<<<<<<< |
| * if not self.stack: |
| * # Done parsing! |
| */ |
| ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->__pyx_vtab)->pop(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":88 |
| * while states[state] == [(0, state)]: |
| * self.pop() |
| * if not self.stack: # <<<<<<<<<<<<<< |
| * # Done parsing! |
| * return True |
| */ |
| __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_10 = (!__pyx_t_1); |
| if (__pyx_t_10) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":90 |
| * if not self.stack: |
| * # Done parsing! |
| * return True # <<<<<<<<<<<<<< |
| * dfa, state, node = self.stack[-1] |
| * states, first = dfa |
| */ |
| __Pyx_XDECREF(__pyx_r); |
| __pyx_t_3 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_r = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| goto __pyx_L0; |
| goto __pyx_L13; |
| } |
| __pyx_L13:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":91 |
| * # Done parsing! |
| * return True |
| * dfa, state, node = self.stack[-1] # <<<<<<<<<<<<<< |
| * states, first = dfa |
| * # Done with this token |
| */ |
| __pyx_t_3 = __Pyx_GetItemInt_List(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| if (PyTuple_CheckExact(__pyx_t_3) && likely(PyTuple_GET_SIZE(__pyx_t_3) == 3)) { |
| PyObject* tuple = __pyx_t_3; |
| __pyx_t_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_2); |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_t_7 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __pyx_v_state = __pyx_t_6; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_7; |
| __pyx_t_7 = 0; |
| } else { |
| __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_11); |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __pyx_t_2 = __Pyx_UnpackItem(__pyx_t_11, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_11, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_t_7 = __Pyx_UnpackItem(__pyx_t_11, 2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| if (__Pyx_EndUnpack(__pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __pyx_v_state = __pyx_t_6; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_7; |
| __pyx_t_7 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":92 |
| * return True |
| * dfa, state, node = self.stack[-1] |
| * states, first = dfa # <<<<<<<<<<<<<< |
| * # Done with this token |
| * return False |
| */ |
| if (PyTuple_CheckExact(__pyx_v_dfa) && likely(PyTuple_GET_SIZE(__pyx_v_dfa) == 2)) { |
| PyObject* tuple = __pyx_v_dfa; |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_7 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_v_states); |
| __pyx_v_states = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_first); |
| __pyx_v_first = __pyx_t_7; |
| __pyx_t_7 = 0; |
| } else { |
| __pyx_t_4 = PyObject_GetIter(__pyx_v_dfa); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_4, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_7 = __Pyx_UnpackItem(__pyx_t_4, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| if (__Pyx_EndUnpack(__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __Pyx_DECREF(__pyx_v_states); |
| __pyx_v_states = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_first); |
| __pyx_v_first = __pyx_t_7; |
| __pyx_t_7 = 0; |
| } |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":94 |
| * states, first = dfa |
| * # Done with this token |
| * return False # <<<<<<<<<<<<<< |
| * elif t >= 256: |
| * # See if it's a symbol and if we're in its first set |
| */ |
| __Pyx_XDECREF(__pyx_r); |
| __pyx_t_7 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __pyx_r = __pyx_t_7; |
| __pyx_t_7 = 0; |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| goto __pyx_L0; |
| goto __pyx_L10; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":95 |
| * # Done with this token |
| * return False |
| * elif t >= 256: # <<<<<<<<<<<<<< |
| * # See if it's a symbol and if we're in its first set |
| * itsdfa = self._grammar_dfas[t] |
| */ |
| __pyx_t_10 = (__pyx_v_t >= 256); |
| if (__pyx_t_10) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":97 |
| * elif t >= 256: |
| * # See if it's a symbol and if we're in its first set |
| * itsdfa = self._grammar_dfas[t] # <<<<<<<<<<<<<< |
| * itsstates, itsfirst = itsdfa |
| * if ilabel in itsfirst: |
| */ |
| __pyx_t_7 = __Pyx_GetItemInt(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->_grammar_dfas), __pyx_v_t, sizeof(int), PyInt_FromLong); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_v_itsdfa); |
| __pyx_v_itsdfa = __pyx_t_7; |
| __pyx_t_7 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":98 |
| * # See if it's a symbol and if we're in its first set |
| * itsdfa = self._grammar_dfas[t] |
| * itsstates, itsfirst = itsdfa # <<<<<<<<<<<<<< |
| * if ilabel in itsfirst: |
| * # Push a symbol |
| */ |
| if (PyTuple_CheckExact(__pyx_v_itsdfa) && likely(PyTuple_GET_SIZE(__pyx_v_itsdfa) == 2)) { |
| PyObject* tuple = __pyx_v_itsdfa; |
| __pyx_t_7 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_7); |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); |
| __Pyx_DECREF(__pyx_v_itsstates); |
| __pyx_v_itsstates = __pyx_t_7; |
| __pyx_t_7 = 0; |
| __Pyx_DECREF(__pyx_v_itsfirst); |
| __pyx_v_itsfirst = __pyx_t_3; |
| __pyx_t_3 = 0; |
| } else { |
| __pyx_t_4 = PyObject_GetIter(__pyx_v_itsdfa); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_7 = __Pyx_UnpackItem(__pyx_t_4, 0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_4, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| if (__Pyx_EndUnpack(__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __Pyx_DECREF(__pyx_v_itsstates); |
| __pyx_v_itsstates = __pyx_t_7; |
| __pyx_t_7 = 0; |
| __Pyx_DECREF(__pyx_v_itsfirst); |
| __pyx_v_itsfirst = __pyx_t_3; |
| __pyx_t_3 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":99 |
| * itsdfa = self._grammar_dfas[t] |
| * itsstates, itsfirst = itsdfa |
| * if ilabel in itsfirst: # <<<<<<<<<<<<<< |
| * # Push a symbol |
| * self.push(t, itsdfa, newstate, context) |
| */ |
| __pyx_t_3 = PyInt_FromLong(__pyx_v_ilabel); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_10 = ((PySequence_Contains(__pyx_v_itsfirst, __pyx_t_3))); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| if (__pyx_t_10) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":101 |
| * if ilabel in itsfirst: |
| * # Push a symbol |
| * self.push(t, itsdfa, newstate, context) # <<<<<<<<<<<<<< |
| * break # To continue the outer while loop |
| * else: |
| */ |
| __pyx_t_3 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_7 = PyInt_FromLong(__pyx_v_newstate); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->__pyx_vtab)->push(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self), __pyx_t_3, __pyx_v_itsdfa, __pyx_t_7, __pyx_v_context); |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":102 |
| * # Push a symbol |
| * self.push(t, itsdfa, newstate, context) |
| * break # To continue the outer while loop # <<<<<<<<<<<<<< |
| * else: |
| * if (0, state) in arcs: |
| */ |
| goto __pyx_L9_break; |
| goto __pyx_L14; |
| } |
| __pyx_L14:; |
| goto __pyx_L10; |
| } |
| __pyx_L10:; |
| } |
| /*else*/ { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":104 |
| * break # To continue the outer while loop |
| * else: |
| * if (0, state) in arcs: # <<<<<<<<<<<<<< |
| * # An accepting state, pop it and try something else |
| * self.pop() |
| */ |
| __pyx_t_7 = PyInt_FromLong(__pyx_v_state); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_INCREF(__pyx_int_0); |
| PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); |
| __Pyx_GIVEREF(__pyx_int_0); |
| PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7); |
| __Pyx_GIVEREF(__pyx_t_7); |
| __pyx_t_7 = 0; |
| __pyx_t_10 = ((PySequence_Contains(__pyx_v_arcs, __pyx_t_3))); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| if (__pyx_t_10) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":106 |
| * if (0, state) in arcs: |
| * # An accepting state, pop it and try something else |
| * self.pop() # <<<<<<<<<<<<<< |
| * if not self.stack: |
| * # Done parsing, but another token is input |
| */ |
| ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->__pyx_vtab)->pop(((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":107 |
| * # An accepting state, pop it and try something else |
| * self.pop() |
| * if not self.stack: # <<<<<<<<<<<<<< |
| * # Done parsing, but another token is input |
| * raise ParseError("too much input", |
| */ |
| __pyx_t_10 = __Pyx_PyObject_IsTrue(((PyObject *)((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self)->stack)); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_1 = (!__pyx_t_10); |
| if (__pyx_t_1) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":109 |
| * if not self.stack: |
| * # Done parsing, but another token is input |
| * raise ParseError("too much input", # <<<<<<<<<<<<<< |
| * type, value, context) |
| * else: |
| */ |
| __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__ParseError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":110 |
| * # Done parsing, but another token is input |
| * raise ParseError("too much input", |
| * type, value, context) # <<<<<<<<<<<<<< |
| * else: |
| * # No success finding a transition |
| */ |
| __pyx_t_7 = PyInt_FromLong(__pyx_v_type); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_INCREF(((PyObject *)__pyx_kp_s_3)); |
| PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_3)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3)); |
| PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); |
| __Pyx_GIVEREF(__pyx_t_7); |
| __Pyx_INCREF(__pyx_v_value); |
| PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_context); |
| __Pyx_GIVEREF(__pyx_v_context); |
| __pyx_t_7 = 0; |
| __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __Pyx_Raise(__pyx_t_7, 0, 0); |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; |
| {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| goto __pyx_L16; |
| } |
| __pyx_L16:; |
| goto __pyx_L15; |
| } |
| /*else*/ { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":113 |
| * else: |
| * # No success finding a transition |
| * raise ParseError("bad input", type, value, context) # <<<<<<<<<<<<<< |
| * |
| * cdef int classify(self, int type, value, context): |
| */ |
| __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__ParseError); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_7); |
| __pyx_t_4 = PyInt_FromLong(__pyx_v_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_INCREF(((PyObject *)__pyx_kp_s_4)); |
| PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_4)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4)); |
| PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); |
| __Pyx_GIVEREF(__pyx_t_4); |
| __Pyx_INCREF(__pyx_v_value); |
| PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_context); |
| __Pyx_GIVEREF(__pyx_v_context); |
| __pyx_t_4 = 0; |
| __pyx_t_4 = PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_Raise(__pyx_t_4, 0, 0); |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| __pyx_L15:; |
| } |
| __pyx_L9_break:; |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| } |
| |
| __pyx_r = Py_None; __Pyx_INCREF(Py_None); |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| __Pyx_XDECREF(__pyx_t_5); |
| __Pyx_XDECREF(__pyx_t_7); |
| __Pyx_XDECREF(__pyx_t_11); |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.addtoken"); |
| __pyx_r = NULL; |
| __pyx_L0:; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __Pyx_DECREF(__pyx_v_node); |
| __Pyx_DECREF(__pyx_v_states); |
| __Pyx_DECREF(__pyx_v_first); |
| __Pyx_DECREF(__pyx_v_arcs); |
| __Pyx_DECREF(__pyx_v_v); |
| __Pyx_DECREF(__pyx_v_itsdfa); |
| __Pyx_DECREF(__pyx_v_itsstates); |
| __Pyx_DECREF(__pyx_v_itsfirst); |
| __Pyx_DECREF((PyObject *)__pyx_v_self); |
| __Pyx_DECREF(__pyx_v_value); |
| __Pyx_DECREF(__pyx_v_context); |
| __Pyx_XGIVEREF(__pyx_r); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":115 |
| * raise ParseError("bad input", type, value, context) |
| * |
| * cdef int classify(self, int type, value, context): # <<<<<<<<<<<<<< |
| * """Turn a token into a label. (Internal)""" |
| * if type == NAME: |
| */ |
| |
| static int __pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_classify(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_v_self, int __pyx_v_type, PyObject *__pyx_v_value, PyObject *__pyx_v_context) { |
| int __pyx_r; |
| int __pyx_t_1; |
| int __pyx_t_2; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| PyObject *__pyx_t_5 = NULL; |
| __Pyx_RefNannySetupContext("classify"); |
| __Pyx_INCREF((PyObject *)__pyx_v_self); |
| __Pyx_INCREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":117 |
| * cdef int classify(self, int type, value, context): |
| * """Turn a token into a label. (Internal)""" |
| * if type == NAME: # <<<<<<<<<<<<<< |
| * # Keep a listing of all used names |
| * self.used_names.add(value) |
| */ |
| __pyx_t_1 = (__pyx_v_type == 1); |
| if (__pyx_t_1) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":119 |
| * if type == NAME: |
| * # Keep a listing of all used names |
| * self.used_names.add(value) # <<<<<<<<<<<<<< |
| * # Check for reserved words |
| * if value in self._grammar_keywords: |
| */ |
| __pyx_t_2 = PySet_Add(((PyObject *)__pyx_v_self->used_names), __pyx_v_value); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":121 |
| * self.used_names.add(value) |
| * # Check for reserved words |
| * if value in self._grammar_keywords: # <<<<<<<<<<<<<< |
| * return self._grammar_keywords[value] |
| * if type not in self._grammar_tokens: |
| */ |
| if (unlikely(((PyObject *)__pyx_v_self->_grammar_keywords) == Py_None)) { |
| __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } else { |
| __pyx_t_1 = ((PyDict_Contains(((PyObject *)__pyx_v_self->_grammar_keywords), __pyx_v_value))); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| if (__pyx_t_1) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":122 |
| * # Check for reserved words |
| * if value in self._grammar_keywords: |
| * return self._grammar_keywords[value] # <<<<<<<<<<<<<< |
| * if type not in self._grammar_tokens: |
| * raise ParseError("bad token", type, value, context) |
| */ |
| __pyx_t_3 = PyObject_GetItem(((PyObject *)__pyx_v_self->_grammar_keywords), __pyx_v_value); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __pyx_r = __pyx_t_2; |
| goto __pyx_L0; |
| goto __pyx_L4; |
| } |
| __pyx_L4:; |
| goto __pyx_L3; |
| } |
| __pyx_L3:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":123 |
| * if value in self._grammar_keywords: |
| * return self._grammar_keywords[value] |
| * if type not in self._grammar_tokens: # <<<<<<<<<<<<<< |
| * raise ParseError("bad token", type, value, context) |
| * return self._grammar_tokens[type] |
| */ |
| __pyx_t_3 = PyInt_FromLong(__pyx_v_type); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| if (unlikely(((PyObject *)__pyx_v_self->_grammar_tokens) == Py_None)) { |
| __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } else { |
| __pyx_t_1 = (__Pyx_NegateNonNeg(PyDict_Contains(((PyObject *)__pyx_v_self->_grammar_tokens), __pyx_t_3))); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| if (__pyx_t_1) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":124 |
| * return self._grammar_keywords[value] |
| * if type not in self._grammar_tokens: |
| * raise ParseError("bad token", type, value, context) # <<<<<<<<<<<<<< |
| * return self._grammar_tokens[type] |
| * |
| */ |
| __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__ParseError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_4 = PyInt_FromLong(__pyx_v_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| __Pyx_INCREF(((PyObject *)__pyx_kp_s_5)); |
| PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_5)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_5)); |
| PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); |
| __Pyx_GIVEREF(__pyx_t_4); |
| __Pyx_INCREF(__pyx_v_value); |
| PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_context); |
| __Pyx_GIVEREF(__pyx_v_context); |
| __pyx_t_4 = 0; |
| __pyx_t_4 = PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| __Pyx_Raise(__pyx_t_4, 0, 0); |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| goto __pyx_L5; |
| } |
| __pyx_L5:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":125 |
| * if type not in self._grammar_tokens: |
| * raise ParseError("bad token", type, value, context) |
| * return self._grammar_tokens[type] # <<<<<<<<<<<<<< |
| * |
| * cdef void shift(self, type, value, newstate, context): |
| */ |
| __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self->_grammar_tokens), __pyx_v_type, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __pyx_r = __pyx_t_2; |
| goto __pyx_L0; |
| |
| __pyx_r = 0; |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| __Pyx_XDECREF(__pyx_t_5); |
| __Pyx_WriteUnraisable("sphinx.pycode.pgen2.parse.Parser.classify"); |
| __pyx_r = 0; |
| __pyx_L0:; |
| __Pyx_DECREF((PyObject *)__pyx_v_self); |
| __Pyx_DECREF(__pyx_v_value); |
| __Pyx_DECREF(__pyx_v_context); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":127 |
| * return self._grammar_tokens[type] |
| * |
| * cdef void shift(self, type, value, newstate, context): # <<<<<<<<<<<<<< |
| * """Shift a token. (Internal)""" |
| * cdef tuple node |
| */ |
| |
| static void __pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_shift(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_value, PyObject *__pyx_v_newstate, PyObject *__pyx_v_context) { |
| PyObject *__pyx_v_node; |
| PyObject *__pyx_v_dfa; |
| PyObject *__pyx_v_state; |
| PyObject *__pyx_v_newnode; |
| PyObject *__pyx_t_1 = NULL; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| PyObject *__pyx_t_5 = NULL; |
| int __pyx_t_6; |
| __Pyx_RefNannySetupContext("shift"); |
| __Pyx_INCREF((PyObject *)__pyx_v_self); |
| __Pyx_INCREF(__pyx_v_type); |
| __Pyx_INCREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_newstate); |
| __Pyx_INCREF(__pyx_v_context); |
| __pyx_v_node = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); |
| __pyx_v_dfa = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_state = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_newnode = Py_None; __Pyx_INCREF(Py_None); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":130 |
| * """Shift a token. (Internal)""" |
| * cdef tuple node |
| * dfa, state, node = self.stack[-1] # <<<<<<<<<<<<<< |
| * newnode = (type, value, context, None) |
| * newnode = self.convert(newnode) |
| */ |
| __pyx_t_1 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_self->stack), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (PyTuple_CheckExact(__pyx_t_1) && likely(PyTuple_GET_SIZE(__pyx_t_1) == 3)) { |
| PyObject* tuple = __pyx_t_1; |
| __pyx_t_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_2); |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_4); |
| if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_4)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_state); |
| __pyx_v_state = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(((PyObject *)__pyx_v_node)); |
| __pyx_v_node = ((PyObject *)__pyx_t_4); |
| __pyx_t_4 = 0; |
| } else { |
| __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __pyx_t_2 = __Pyx_UnpackItem(__pyx_t_5, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_5, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_5, 2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_4)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| if (__Pyx_EndUnpack(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_state); |
| __pyx_v_state = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(((PyObject *)__pyx_v_node)); |
| __pyx_v_node = ((PyObject *)__pyx_t_4); |
| __pyx_t_4 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":131 |
| * cdef tuple node |
| * dfa, state, node = self.stack[-1] |
| * newnode = (type, value, context, None) # <<<<<<<<<<<<<< |
| * newnode = self.convert(newnode) |
| * if newnode is not None: |
| */ |
| __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __Pyx_INCREF(__pyx_v_type); |
| PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_type); |
| __Pyx_GIVEREF(__pyx_v_type); |
| __Pyx_INCREF(__pyx_v_value); |
| PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __Pyx_INCREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_context); |
| __Pyx_GIVEREF(__pyx_v_context); |
| __Pyx_INCREF(Py_None); |
| PyTuple_SET_ITEM(__pyx_t_1, 3, Py_None); |
| __Pyx_GIVEREF(Py_None); |
| __Pyx_DECREF(__pyx_v_newnode); |
| __pyx_v_newnode = __pyx_t_1; |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":132 |
| * dfa, state, node = self.stack[-1] |
| * newnode = (type, value, context, None) |
| * newnode = self.convert(newnode) # <<<<<<<<<<<<<< |
| * if newnode is not None: |
| * node[-1].append(newnode) |
| */ |
| if (!(likely(PyTuple_CheckExact(__pyx_v_newnode))||((__pyx_v_newnode) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_v_newnode)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_1 = ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self->__pyx_vtab)->convert(__pyx_v_self, ((PyObject *)__pyx_v_newnode)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __Pyx_DECREF(__pyx_v_newnode); |
| __pyx_v_newnode = __pyx_t_1; |
| __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":133 |
| * newnode = (type, value, context, None) |
| * newnode = self.convert(newnode) |
| * if newnode is not None: # <<<<<<<<<<<<<< |
| * node[-1].append(newnode) |
| * self.stack[-1] = (dfa, newstate, node) |
| */ |
| __pyx_t_6 = (__pyx_v_newnode != Py_None); |
| if (__pyx_t_6) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":134 |
| * newnode = self.convert(newnode) |
| * if newnode is not None: |
| * node[-1].append(newnode) # <<<<<<<<<<<<<< |
| * self.stack[-1] = (dfa, newstate, node) |
| * |
| */ |
| __pyx_t_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_node), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __pyx_t_4 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_newnode); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| goto __pyx_L3; |
| } |
| __pyx_L3:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":135 |
| * if newnode is not None: |
| * node[-1].append(newnode) |
| * self.stack[-1] = (dfa, newstate, node) # <<<<<<<<<<<<<< |
| * |
| * cdef void push(self, type, newdfa, newstate, context): |
| */ |
| __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_INCREF(__pyx_v_dfa); |
| PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_dfa); |
| __Pyx_GIVEREF(__pyx_v_dfa); |
| __Pyx_INCREF(__pyx_v_newstate); |
| PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_newstate); |
| __Pyx_GIVEREF(__pyx_v_newstate); |
| __Pyx_INCREF(((PyObject *)__pyx_v_node)); |
| PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)__pyx_v_node)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_v_node)); |
| if (__Pyx_SetItemInt(((PyObject *)__pyx_v_self->stack), -1, __pyx_t_4, sizeof(long), PyInt_FromLong) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| __Pyx_XDECREF(__pyx_t_5); |
| __Pyx_WriteUnraisable("sphinx.pycode.pgen2.parse.Parser.shift"); |
| __pyx_L0:; |
| __Pyx_DECREF(__pyx_v_node); |
| __Pyx_DECREF(__pyx_v_dfa); |
| __Pyx_DECREF(__pyx_v_state); |
| __Pyx_DECREF(__pyx_v_newnode); |
| __Pyx_DECREF((PyObject *)__pyx_v_self); |
| __Pyx_DECREF(__pyx_v_type); |
| __Pyx_DECREF(__pyx_v_value); |
| __Pyx_DECREF(__pyx_v_newstate); |
| __Pyx_DECREF(__pyx_v_context); |
| __Pyx_RefNannyFinishContext(); |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":137 |
| * self.stack[-1] = (dfa, newstate, node) |
| * |
| * cdef void push(self, type, newdfa, newstate, context): # <<<<<<<<<<<<<< |
| * """Push a nonterminal. (Internal)""" |
| * dfa, state, node = self.stack[-1] |
| */ |
| |
| static void __pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_push(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_v_self, PyObject *__pyx_v_type, PyObject *__pyx_v_newdfa, PyObject *__pyx_v_newstate, PyObject *__pyx_v_context) { |
| PyObject *__pyx_v_dfa; |
| PyObject *__pyx_v_state; |
| PyObject *__pyx_v_node; |
| PyObject *__pyx_v_newnode; |
| PyObject *__pyx_t_1 = NULL; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| PyObject *__pyx_t_5 = NULL; |
| int __pyx_t_6; |
| __Pyx_RefNannySetupContext("push"); |
| __pyx_v_dfa = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_state = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_node = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_newnode = Py_None; __Pyx_INCREF(Py_None); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":139 |
| * cdef void push(self, type, newdfa, newstate, context): |
| * """Push a nonterminal. (Internal)""" |
| * dfa, state, node = self.stack[-1] # <<<<<<<<<<<<<< |
| * newnode = (type, None, context, []) |
| * self.stack[-1] = (dfa, newstate, node) |
| */ |
| __pyx_t_1 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_self->stack), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (PyTuple_CheckExact(__pyx_t_1) && likely(PyTuple_GET_SIZE(__pyx_t_1) == 3)) { |
| PyObject* tuple = __pyx_t_1; |
| __pyx_t_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_2); |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_state); |
| __pyx_v_state = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } else { |
| __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __pyx_t_2 = __Pyx_UnpackItem(__pyx_t_5, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_5, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_5, 2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| if (__Pyx_EndUnpack(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_state); |
| __pyx_v_state = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":140 |
| * """Push a nonterminal. (Internal)""" |
| * dfa, state, node = self.stack[-1] |
| * newnode = (type, None, context, []) # <<<<<<<<<<<<<< |
| * self.stack[-1] = (dfa, newstate, node) |
| * self.stack.append((newdfa, 0, newnode)) |
| */ |
| __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_1)); |
| __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_INCREF(__pyx_v_type); |
| PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_type); |
| __Pyx_GIVEREF(__pyx_v_type); |
| __Pyx_INCREF(Py_None); |
| PyTuple_SET_ITEM(__pyx_t_4, 1, Py_None); |
| __Pyx_GIVEREF(Py_None); |
| __Pyx_INCREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_context); |
| __Pyx_GIVEREF(__pyx_v_context); |
| PyTuple_SET_ITEM(__pyx_t_4, 3, ((PyObject *)__pyx_t_1)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); |
| __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_v_newnode); |
| __pyx_v_newnode = __pyx_t_4; |
| __pyx_t_4 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":141 |
| * dfa, state, node = self.stack[-1] |
| * newnode = (type, None, context, []) |
| * self.stack[-1] = (dfa, newstate, node) # <<<<<<<<<<<<<< |
| * self.stack.append((newdfa, 0, newnode)) |
| * |
| */ |
| __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_INCREF(__pyx_v_dfa); |
| PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_dfa); |
| __Pyx_GIVEREF(__pyx_v_dfa); |
| __Pyx_INCREF(__pyx_v_newstate); |
| PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_newstate); |
| __Pyx_GIVEREF(__pyx_v_newstate); |
| __Pyx_INCREF(__pyx_v_node); |
| PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_node); |
| __Pyx_GIVEREF(__pyx_v_node); |
| if (__Pyx_SetItemInt(((PyObject *)__pyx_v_self->stack), -1, __pyx_t_4, sizeof(long), PyInt_FromLong) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":142 |
| * newnode = (type, None, context, []) |
| * self.stack[-1] = (dfa, newstate, node) |
| * self.stack.append((newdfa, 0, newnode)) # <<<<<<<<<<<<<< |
| * |
| * cdef void pop(self): |
| */ |
| if (unlikely(__pyx_v_self->stack == Py_None)) { |
| PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_INCREF(__pyx_v_newdfa); |
| PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_newdfa); |
| __Pyx_GIVEREF(__pyx_v_newdfa); |
| __Pyx_INCREF(__pyx_int_0); |
| PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_0); |
| __Pyx_GIVEREF(__pyx_int_0); |
| __Pyx_INCREF(__pyx_v_newnode); |
| PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_newnode); |
| __Pyx_GIVEREF(__pyx_v_newnode); |
| __pyx_t_6 = PyList_Append(((PyObject *)__pyx_v_self->stack), __pyx_t_4); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| __Pyx_XDECREF(__pyx_t_5); |
| __Pyx_WriteUnraisable("sphinx.pycode.pgen2.parse.Parser.push"); |
| __pyx_L0:; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __Pyx_DECREF(__pyx_v_state); |
| __Pyx_DECREF(__pyx_v_node); |
| __Pyx_DECREF(__pyx_v_newnode); |
| __Pyx_RefNannyFinishContext(); |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":144 |
| * self.stack.append((newdfa, 0, newnode)) |
| * |
| * cdef void pop(self): # <<<<<<<<<<<<<< |
| * """Pop a nonterminal. (Internal)""" |
| * popdfa, popstate, popnode = self.stack.pop() |
| */ |
| |
| static void __pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_pop(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_v_self) { |
| PyObject *__pyx_v_popdfa; |
| PyObject *__pyx_v_popstate; |
| PyObject *__pyx_v_popnode; |
| PyObject *__pyx_v_newnode; |
| PyObject *__pyx_v_dfa; |
| PyObject *__pyx_v_state; |
| PyObject *__pyx_v_node; |
| PyObject *__pyx_t_1 = NULL; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| PyObject *__pyx_t_5 = NULL; |
| int __pyx_t_6; |
| __Pyx_RefNannySetupContext("pop"); |
| __Pyx_INCREF((PyObject *)__pyx_v_self); |
| __pyx_v_popdfa = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_popstate = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_popnode = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_newnode = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_dfa = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_state = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_node = Py_None; __Pyx_INCREF(Py_None); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":146 |
| * cdef void pop(self): |
| * """Pop a nonterminal. (Internal)""" |
| * popdfa, popstate, popnode = self.stack.pop() # <<<<<<<<<<<<<< |
| * newnode = self.convert(popnode) |
| * if newnode is not None: |
| */ |
| __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self->stack), __pyx_n_s__pop); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 3)) { |
| PyObject* tuple = __pyx_t_2; |
| __pyx_t_1 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_1); |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_popdfa); |
| __pyx_v_popdfa = __pyx_t_1; |
| __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_v_popstate); |
| __pyx_v_popstate = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_popnode); |
| __pyx_v_popnode = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } else { |
| __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_t_1 = __Pyx_UnpackItem(__pyx_t_5, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_5, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_5, 2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| if (__Pyx_EndUnpack(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| __Pyx_DECREF(__pyx_v_popdfa); |
| __pyx_v_popdfa = __pyx_t_1; |
| __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_v_popstate); |
| __pyx_v_popstate = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_popnode); |
| __pyx_v_popnode = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":147 |
| * """Pop a nonterminal. (Internal)""" |
| * popdfa, popstate, popnode = self.stack.pop() |
| * newnode = self.convert(popnode) # <<<<<<<<<<<<<< |
| * if newnode is not None: |
| * if self.stack: |
| */ |
| if (!(likely(PyTuple_CheckExact(__pyx_v_popnode))||((__pyx_v_popnode) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_v_popnode)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_2 = ((struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser *)__pyx_v_self->__pyx_vtab)->convert(__pyx_v_self, ((PyObject *)__pyx_v_popnode)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_DECREF(__pyx_v_newnode); |
| __pyx_v_newnode = __pyx_t_2; |
| __pyx_t_2 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":148 |
| * popdfa, popstate, popnode = self.stack.pop() |
| * newnode = self.convert(popnode) |
| * if newnode is not None: # <<<<<<<<<<<<<< |
| * if self.stack: |
| * dfa, state, node = self.stack[-1] |
| */ |
| __pyx_t_6 = (__pyx_v_newnode != Py_None); |
| if (__pyx_t_6) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":149 |
| * newnode = self.convert(popnode) |
| * if newnode is not None: |
| * if self.stack: # <<<<<<<<<<<<<< |
| * dfa, state, node = self.stack[-1] |
| * node[-1].append(newnode) |
| */ |
| __pyx_t_6 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->stack)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| if (__pyx_t_6) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":150 |
| * if newnode is not None: |
| * if self.stack: |
| * dfa, state, node = self.stack[-1] # <<<<<<<<<<<<<< |
| * node[-1].append(newnode) |
| * else: |
| */ |
| __pyx_t_2 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_self->stack), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 3)) { |
| PyObject* tuple = __pyx_t_2; |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_4); |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_1 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_1); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_4; |
| __pyx_t_4 = 0; |
| __Pyx_DECREF(__pyx_v_state); |
| __pyx_v_state = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_1; |
| __pyx_t_1 = 0; |
| } else { |
| __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_5); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_5, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_5, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_1 = __Pyx_UnpackItem(__pyx_t_5, 2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (__Pyx_EndUnpack(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; |
| __Pyx_DECREF(__pyx_v_dfa); |
| __pyx_v_dfa = __pyx_t_4; |
| __pyx_t_4 = 0; |
| __Pyx_DECREF(__pyx_v_state); |
| __pyx_v_state = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_node); |
| __pyx_v_node = __pyx_t_1; |
| __pyx_t_1 = 0; |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":151 |
| * if self.stack: |
| * dfa, state, node = self.stack[-1] |
| * node[-1].append(newnode) # <<<<<<<<<<<<<< |
| * else: |
| * self.rootnode = newnode |
| */ |
| __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __pyx_t_1 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_v_newnode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| goto __pyx_L4; |
| } |
| /*else*/ { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":153 |
| * node[-1].append(newnode) |
| * else: |
| * self.rootnode = newnode # <<<<<<<<<<<<<< |
| * self.rootnode.used_names = self.used_names |
| * |
| */ |
| __Pyx_INCREF(__pyx_v_newnode); |
| __Pyx_GIVEREF(__pyx_v_newnode); |
| __Pyx_GOTREF(__pyx_v_self->rootnode); |
| __Pyx_DECREF(__pyx_v_self->rootnode); |
| __pyx_v_self->rootnode = __pyx_v_newnode; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":154 |
| * else: |
| * self.rootnode = newnode |
| * self.rootnode.used_names = self.used_names # <<<<<<<<<<<<<< |
| * |
| * cdef convert(self, tuple raw_node): |
| */ |
| if (PyObject_SetAttr(__pyx_v_self->rootnode, __pyx_n_s__used_names, ((PyObject *)__pyx_v_self->used_names)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| __pyx_L4:; |
| goto __pyx_L3; |
| } |
| __pyx_L3:; |
| |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| __Pyx_XDECREF(__pyx_t_5); |
| __Pyx_WriteUnraisable("sphinx.pycode.pgen2.parse.Parser.pop"); |
| __pyx_L0:; |
| __Pyx_DECREF(__pyx_v_popdfa); |
| __Pyx_DECREF(__pyx_v_popstate); |
| __Pyx_DECREF(__pyx_v_popnode); |
| __Pyx_DECREF(__pyx_v_newnode); |
| __Pyx_DECREF(__pyx_v_dfa); |
| __Pyx_DECREF(__pyx_v_state); |
| __Pyx_DECREF(__pyx_v_node); |
| __Pyx_DECREF((PyObject *)__pyx_v_self); |
| __Pyx_RefNannyFinishContext(); |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":156 |
| * self.rootnode.used_names = self.used_names |
| * |
| * cdef convert(self, tuple raw_node): # <<<<<<<<<<<<<< |
| * type, value, context, children = raw_node |
| * if children or type in self._grammar_number2symbol: |
| */ |
| |
| static PyObject *__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_convert(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *__pyx_v_self, PyObject *__pyx_v_raw_node) { |
| PyObject *__pyx_v_type; |
| PyObject *__pyx_v_value; |
| PyObject *__pyx_v_context; |
| PyObject *__pyx_v_children; |
| PyObject *__pyx_r = NULL; |
| PyObject *__pyx_t_1 = NULL; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| int __pyx_t_5; |
| int __pyx_t_6; |
| int __pyx_t_7; |
| Py_ssize_t __pyx_t_8; |
| __Pyx_RefNannySetupContext("convert"); |
| __Pyx_INCREF((PyObject *)__pyx_v_self); |
| __Pyx_INCREF(__pyx_v_raw_node); |
| __pyx_v_type = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_value = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_context = Py_None; __Pyx_INCREF(Py_None); |
| __pyx_v_children = Py_None; __Pyx_INCREF(Py_None); |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":157 |
| * |
| * cdef convert(self, tuple raw_node): |
| * type, value, context, children = raw_node # <<<<<<<<<<<<<< |
| * if children or type in self._grammar_number2symbol: |
| * # If there's exactly one child, return that child instead of |
| */ |
| if (likely(((PyObject *)__pyx_v_raw_node) != Py_None) && likely(PyTuple_GET_SIZE(((PyObject *)__pyx_v_raw_node)) == 4)) { |
| PyObject* tuple = ((PyObject *)__pyx_v_raw_node); |
| __pyx_t_1 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_1); |
| __pyx_t_2 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_2); |
| __pyx_t_3 = PyTuple_GET_ITEM(tuple, 2); __Pyx_INCREF(__pyx_t_3); |
| __pyx_t_4 = PyTuple_GET_ITEM(tuple, 3); __Pyx_INCREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_v_type); |
| __pyx_v_type = __pyx_t_1; |
| __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_v_value); |
| __pyx_v_value = __pyx_t_2; |
| __pyx_t_2 = 0; |
| __Pyx_DECREF(__pyx_v_context); |
| __pyx_v_context = __pyx_t_3; |
| __pyx_t_3 = 0; |
| __Pyx_DECREF(__pyx_v_children); |
| __pyx_v_children = __pyx_t_4; |
| __pyx_t_4 = 0; |
| } else { |
| __Pyx_UnpackTupleError(((PyObject *)__pyx_v_raw_node), 4); |
| {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":158 |
| * cdef convert(self, tuple raw_node): |
| * type, value, context, children = raw_node |
| * if children or type in self._grammar_number2symbol: # <<<<<<<<<<<<<< |
| * # If there's exactly one child, return that child instead of |
| * # creating a new node. |
| */ |
| __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_children); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| if (!__pyx_t_5) { |
| if (unlikely(((PyObject *)__pyx_v_self->_grammar_number2symbol) == Py_None)) { |
| __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } else { |
| __pyx_t_6 = ((PyDict_Contains(((PyObject *)__pyx_v_self->_grammar_number2symbol), __pyx_v_type))); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| } |
| __pyx_t_7 = __pyx_t_6; |
| } else { |
| __pyx_t_7 = __pyx_t_5; |
| } |
| if (__pyx_t_7) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":161 |
| * # If there's exactly one child, return that child instead of |
| * # creating a new node. |
| * if len(children) == 1: # <<<<<<<<<<<<<< |
| * return children[0] |
| * return Node(type, children, context=context) |
| */ |
| __pyx_t_8 = PyObject_Length(__pyx_v_children); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_7 = (__pyx_t_8 == 1); |
| if (__pyx_t_7) { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":162 |
| * # creating a new node. |
| * if len(children) == 1: |
| * return children[0] # <<<<<<<<<<<<<< |
| * return Node(type, children, context=context) |
| * else: |
| */ |
| __Pyx_XDECREF(__pyx_r); |
| __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_children, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_r = __pyx_t_4; |
| __pyx_t_4 = 0; |
| goto __pyx_L0; |
| goto __pyx_L4; |
| } |
| __pyx_L4:; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":163 |
| * if len(children) == 1: |
| * return children[0] |
| * return Node(type, children, context=context) # <<<<<<<<<<<<<< |
| * else: |
| * return Leaf(type, value, context=context) |
| */ |
| __Pyx_XDECREF(__pyx_r); |
| __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__Node); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_INCREF(__pyx_v_type); |
| PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_type); |
| __Pyx_GIVEREF(__pyx_v_type); |
| __Pyx_INCREF(__pyx_v_children); |
| PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_children); |
| __Pyx_GIVEREF(__pyx_v_children); |
| __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__context), __pyx_v_context) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_1 = PyEval_CallObjectWithKeywords(__pyx_t_4, __pyx_t_3, ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; |
| __pyx_r = __pyx_t_1; |
| __pyx_t_1 = 0; |
| goto __pyx_L0; |
| goto __pyx_L3; |
| } |
| /*else*/ { |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":165 |
| * return Node(type, children, context=context) |
| * else: |
| * return Leaf(type, value, context=context) # <<<<<<<<<<<<<< |
| */ |
| __Pyx_XDECREF(__pyx_r); |
| __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__Leaf); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_INCREF(__pyx_v_type); |
| PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_type); |
| __Pyx_GIVEREF(__pyx_v_type); |
| __Pyx_INCREF(__pyx_v_value); |
| PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value); |
| __Pyx_GIVEREF(__pyx_v_value); |
| __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_3)); |
| if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__context), __pyx_v_context) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_4 = PyEval_CallObjectWithKeywords(__pyx_t_1, __pyx_t_2, ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; |
| __pyx_r = __pyx_t_4; |
| __pyx_t_4 = 0; |
| goto __pyx_L0; |
| } |
| __pyx_L3:; |
| |
| __pyx_r = Py_None; __Pyx_INCREF(Py_None); |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| __Pyx_AddTraceback("sphinx.pycode.pgen2.parse.Parser.convert"); |
| __pyx_r = 0; |
| __pyx_L0:; |
| __Pyx_DECREF(__pyx_v_type); |
| __Pyx_DECREF(__pyx_v_value); |
| __Pyx_DECREF(__pyx_v_context); |
| __Pyx_DECREF(__pyx_v_children); |
| __Pyx_DECREF((PyObject *)__pyx_v_self); |
| __Pyx_DECREF(__pyx_v_raw_node); |
| __Pyx_XGIVEREF(__pyx_r); |
| __Pyx_RefNannyFinishContext(); |
| return __pyx_r; |
| } |
| static struct __pyx_vtabstruct_6sphinx_6pycode_5pgen2_5parse_Parser __pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser; |
| |
| static PyObject *__pyx_tp_new_6sphinx_6pycode_5pgen2_5parse_Parser(PyTypeObject *t, PyObject *a, PyObject *k) { |
| struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *p; |
| PyObject *o = (*t->tp_alloc)(t, 0); |
| if (!o) return 0; |
| p = ((struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)o); |
| p->__pyx_vtab = __pyx_vtabptr_6sphinx_6pycode_5pgen2_5parse_Parser; |
| p->grammar = Py_None; Py_INCREF(Py_None); |
| p->rootnode = Py_None; Py_INCREF(Py_None); |
| p->stack = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| p->used_names = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| p->_grammar_labels = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| p->_grammar_dfas = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| p->_grammar_keywords = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| p->_grammar_tokens = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| p->_grammar_number2symbol = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| return o; |
| } |
| |
| static void __pyx_tp_dealloc_6sphinx_6pycode_5pgen2_5parse_Parser(PyObject *o) { |
| struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *p = (struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)o; |
| Py_XDECREF(p->grammar); |
| Py_XDECREF(p->rootnode); |
| Py_XDECREF(((PyObject *)p->stack)); |
| Py_XDECREF(((PyObject *)p->used_names)); |
| Py_XDECREF(((PyObject *)p->_grammar_labels)); |
| Py_XDECREF(((PyObject *)p->_grammar_dfas)); |
| Py_XDECREF(((PyObject *)p->_grammar_keywords)); |
| Py_XDECREF(((PyObject *)p->_grammar_tokens)); |
| Py_XDECREF(((PyObject *)p->_grammar_number2symbol)); |
| (*Py_TYPE(o)->tp_free)(o); |
| } |
| |
| static int __pyx_tp_traverse_6sphinx_6pycode_5pgen2_5parse_Parser(PyObject *o, visitproc v, void *a) { |
| int e; |
| struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *p = (struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)o; |
| if (p->grammar) { |
| e = (*v)(p->grammar, a); if (e) return e; |
| } |
| if (p->rootnode) { |
| e = (*v)(p->rootnode, a); if (e) return e; |
| } |
| if (p->stack) { |
| e = (*v)(p->stack, a); if (e) return e; |
| } |
| if (p->used_names) { |
| e = (*v)(p->used_names, a); if (e) return e; |
| } |
| if (p->_grammar_labels) { |
| e = (*v)(p->_grammar_labels, a); if (e) return e; |
| } |
| if (p->_grammar_dfas) { |
| e = (*v)(p->_grammar_dfas, a); if (e) return e; |
| } |
| if (p->_grammar_keywords) { |
| e = (*v)(p->_grammar_keywords, a); if (e) return e; |
| } |
| if (p->_grammar_tokens) { |
| e = (*v)(p->_grammar_tokens, a); if (e) return e; |
| } |
| if (p->_grammar_number2symbol) { |
| e = (*v)(p->_grammar_number2symbol, a); if (e) return e; |
| } |
| return 0; |
| } |
| |
| static int __pyx_tp_clear_6sphinx_6pycode_5pgen2_5parse_Parser(PyObject *o) { |
| struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *p = (struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *)o; |
| PyObject* tmp; |
| tmp = ((PyObject*)p->grammar); |
| p->grammar = Py_None; Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->rootnode); |
| p->rootnode = Py_None; Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->stack); |
| p->stack = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->used_names); |
| p->used_names = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->_grammar_labels); |
| p->_grammar_labels = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->_grammar_dfas); |
| p->_grammar_dfas = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->_grammar_keywords); |
| p->_grammar_keywords = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->_grammar_tokens); |
| p->_grammar_tokens = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| tmp = ((PyObject*)p->_grammar_number2symbol); |
| p->_grammar_number2symbol = ((PyObject *)Py_None); Py_INCREF(Py_None); |
| Py_XDECREF(tmp); |
| return 0; |
| } |
| |
| static PyObject *__pyx_getprop_6sphinx_6pycode_5pgen2_5parse_6Parser_stack(PyObject *o, void *x) { |
| return __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_5stack___get__(o); |
| } |
| |
| static int __pyx_setprop_6sphinx_6pycode_5pgen2_5parse_6Parser_stack(PyObject *o, PyObject *v, void *x) { |
| if (v) { |
| return __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_5stack___set__(o, v); |
| } |
| else { |
| PyErr_SetString(PyExc_NotImplementedError, "__del__"); |
| return -1; |
| } |
| } |
| |
| static PyObject *__pyx_getprop_6sphinx_6pycode_5pgen2_5parse_6Parser_used_names(PyObject *o, void *x) { |
| return __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_10used_names___get__(o); |
| } |
| |
| static int __pyx_setprop_6sphinx_6pycode_5pgen2_5parse_6Parser_used_names(PyObject *o, PyObject *v, void *x) { |
| if (v) { |
| return __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_10used_names___set__(o, v); |
| } |
| else { |
| PyErr_SetString(PyExc_NotImplementedError, "__del__"); |
| return -1; |
| } |
| } |
| |
| static struct PyMethodDef __pyx_methods_6sphinx_6pycode_5pgen2_5parse_Parser[] = { |
| {__Pyx_NAMESTR("setup"), (PyCFunction)__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_setup, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}, |
| {__Pyx_NAMESTR("addtoken"), (PyCFunction)__pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser_addtoken, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6sphinx_6pycode_5pgen2_5parse_6Parser_addtoken)}, |
| {0, 0, 0, 0} |
| }; |
| |
| static struct PyMemberDef __pyx_members_6sphinx_6pycode_5pgen2_5parse_Parser[] = { |
| {(char *)"grammar", T_OBJECT, offsetof(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser, grammar), 0, 0}, |
| {(char *)"rootnode", T_OBJECT, offsetof(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser, rootnode), 0, 0}, |
| {0, 0, 0, 0, 0} |
| }; |
| |
| static struct PyGetSetDef __pyx_getsets_6sphinx_6pycode_5pgen2_5parse_Parser[] = { |
| {(char *)"stack", __pyx_getprop_6sphinx_6pycode_5pgen2_5parse_6Parser_stack, __pyx_setprop_6sphinx_6pycode_5pgen2_5parse_6Parser_stack, 0, 0}, |
| {(char *)"used_names", __pyx_getprop_6sphinx_6pycode_5pgen2_5parse_6Parser_used_names, __pyx_setprop_6sphinx_6pycode_5pgen2_5parse_6Parser_used_names, 0, 0}, |
| {0, 0, 0, 0, 0} |
| }; |
| |
| static PyNumberMethods __pyx_tp_as_number_Parser = { |
| 0, /*nb_add*/ |
| 0, /*nb_subtract*/ |
| 0, /*nb_multiply*/ |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*nb_divide*/ |
| #endif |
| 0, /*nb_remainder*/ |
| 0, /*nb_divmod*/ |
| 0, /*nb_power*/ |
| 0, /*nb_negative*/ |
| 0, /*nb_positive*/ |
| 0, /*nb_absolute*/ |
| 0, /*nb_nonzero*/ |
| 0, /*nb_invert*/ |
| 0, /*nb_lshift*/ |
| 0, /*nb_rshift*/ |
| 0, /*nb_and*/ |
| 0, /*nb_xor*/ |
| 0, /*nb_or*/ |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*nb_coerce*/ |
| #endif |
| 0, /*nb_int*/ |
| #if PY_MAJOR_VERSION >= 3 |
| 0, /*reserved*/ |
| #else |
| 0, /*nb_long*/ |
| #endif |
| 0, /*nb_float*/ |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*nb_oct*/ |
| #endif |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*nb_hex*/ |
| #endif |
| 0, /*nb_inplace_add*/ |
| 0, /*nb_inplace_subtract*/ |
| 0, /*nb_inplace_multiply*/ |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*nb_inplace_divide*/ |
| #endif |
| 0, /*nb_inplace_remainder*/ |
| 0, /*nb_inplace_power*/ |
| 0, /*nb_inplace_lshift*/ |
| 0, /*nb_inplace_rshift*/ |
| 0, /*nb_inplace_and*/ |
| 0, /*nb_inplace_xor*/ |
| 0, /*nb_inplace_or*/ |
| 0, /*nb_floor_divide*/ |
| 0, /*nb_true_divide*/ |
| 0, /*nb_inplace_floor_divide*/ |
| 0, /*nb_inplace_true_divide*/ |
| #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX) |
| 0, /*nb_index*/ |
| #endif |
| }; |
| |
| static PySequenceMethods __pyx_tp_as_sequence_Parser = { |
| 0, /*sq_length*/ |
| 0, /*sq_concat*/ |
| 0, /*sq_repeat*/ |
| 0, /*sq_item*/ |
| 0, /*sq_slice*/ |
| 0, /*sq_ass_item*/ |
| 0, /*sq_ass_slice*/ |
| 0, /*sq_contains*/ |
| 0, /*sq_inplace_concat*/ |
| 0, /*sq_inplace_repeat*/ |
| }; |
| |
| static PyMappingMethods __pyx_tp_as_mapping_Parser = { |
| 0, /*mp_length*/ |
| 0, /*mp_subscript*/ |
| 0, /*mp_ass_subscript*/ |
| }; |
| |
| static PyBufferProcs __pyx_tp_as_buffer_Parser = { |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*bf_getreadbuffer*/ |
| #endif |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*bf_getwritebuffer*/ |
| #endif |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*bf_getsegcount*/ |
| #endif |
| #if PY_MAJOR_VERSION < 3 |
| 0, /*bf_getcharbuffer*/ |
| #endif |
| #if PY_VERSION_HEX >= 0x02060000 |
| 0, /*bf_getbuffer*/ |
| #endif |
| #if PY_VERSION_HEX >= 0x02060000 |
| 0, /*bf_releasebuffer*/ |
| #endif |
| }; |
| |
| PyTypeObject __pyx_type_6sphinx_6pycode_5pgen2_5parse_Parser = { |
| PyVarObject_HEAD_INIT(0, 0) |
| __Pyx_NAMESTR("sphinx.pycode.pgen2.parse.Parser"), /*tp_name*/ |
| sizeof(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser), /*tp_basicsize*/ |
| 0, /*tp_itemsize*/ |
| __pyx_tp_dealloc_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_dealloc*/ |
| 0, /*tp_print*/ |
| 0, /*tp_getattr*/ |
| 0, /*tp_setattr*/ |
| 0, /*tp_compare*/ |
| 0, /*tp_repr*/ |
| &__pyx_tp_as_number_Parser, /*tp_as_number*/ |
| &__pyx_tp_as_sequence_Parser, /*tp_as_sequence*/ |
| &__pyx_tp_as_mapping_Parser, /*tp_as_mapping*/ |
| 0, /*tp_hash*/ |
| 0, /*tp_call*/ |
| 0, /*tp_str*/ |
| 0, /*tp_getattro*/ |
| 0, /*tp_setattro*/ |
| &__pyx_tp_as_buffer_Parser, /*tp_as_buffer*/ |
| Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ |
| 0, /*tp_doc*/ |
| __pyx_tp_traverse_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_traverse*/ |
| __pyx_tp_clear_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_clear*/ |
| 0, /*tp_richcompare*/ |
| 0, /*tp_weaklistoffset*/ |
| 0, /*tp_iter*/ |
| 0, /*tp_iternext*/ |
| __pyx_methods_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_methods*/ |
| __pyx_members_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_members*/ |
| __pyx_getsets_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_getset*/ |
| 0, /*tp_base*/ |
| 0, /*tp_dict*/ |
| 0, /*tp_descr_get*/ |
| 0, /*tp_descr_set*/ |
| 0, /*tp_dictoffset*/ |
| __pyx_pf_6sphinx_6pycode_5pgen2_5parse_6Parser___init__, /*tp_init*/ |
| 0, /*tp_alloc*/ |
| __pyx_tp_new_6sphinx_6pycode_5pgen2_5parse_Parser, /*tp_new*/ |
| 0, /*tp_free*/ |
| 0, /*tp_is_gc*/ |
| 0, /*tp_bases*/ |
| 0, /*tp_mro*/ |
| 0, /*tp_cache*/ |
| 0, /*tp_subclasses*/ |
| 0, /*tp_weaklist*/ |
| 0, /*tp_del*/ |
| #if PY_VERSION_HEX >= 0x02060000 |
| 0, /*tp_version_tag*/ |
| #endif |
| }; |
| |
| static struct PyMethodDef __pyx_methods[] = { |
| {0, 0, 0, 0} |
| }; |
| |
| static void __pyx_init_filenames(void); /*proto*/ |
| |
| #if PY_MAJOR_VERSION >= 3 |
| static struct PyModuleDef __pyx_moduledef = { |
| PyModuleDef_HEAD_INIT, |
| __Pyx_NAMESTR("parse"), |
| __Pyx_DOCSTR(__pyx_k_6), /* m_doc */ |
| -1, /* m_size */ |
| __pyx_methods /* m_methods */, |
| NULL, /* m_reload */ |
| NULL, /* m_traverse */ |
| NULL, /* m_clear */ |
| NULL /* m_free */ |
| }; |
| #endif |
| |
| static __Pyx_StringTabEntry __pyx_string_tab[] = { |
| {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, |
| {&__pyx_n_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 1}, |
| {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, |
| {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, |
| {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, |
| {&__pyx_n_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 1}, |
| {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, |
| {&__pyx_kp_u_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 1, 0, 0}, |
| {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1}, |
| {&__pyx_n_s__Leaf, __pyx_k__Leaf, sizeof(__pyx_k__Leaf), 0, 0, 1, 1}, |
| {&__pyx_n_s__Node, __pyx_k__Node, sizeof(__pyx_k__Node), 0, 0, 1, 1}, |
| {&__pyx_n_s__ParseError, __pyx_k__ParseError, sizeof(__pyx_k__ParseError), 0, 0, 1, 1}, |
| {&__pyx_n_s__Parser, __pyx_k__Parser, sizeof(__pyx_k__Parser), 0, 0, 1, 1}, |
| {&__pyx_n_s____init__, __pyx_k____init__, sizeof(__pyx_k____init__), 0, 0, 1, 1}, |
| {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, |
| {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, |
| {&__pyx_n_s___grammar_dfas, __pyx_k___grammar_dfas, sizeof(__pyx_k___grammar_dfas), 0, 0, 1, 1}, |
| {&__pyx_n_s___grammar_keywords, __pyx_k___grammar_keywords, sizeof(__pyx_k___grammar_keywords), 0, 0, 1, 1}, |
| {&__pyx_n_s___grammar_labels, __pyx_k___grammar_labels, sizeof(__pyx_k___grammar_labels), 0, 0, 1, 1}, |
| {&__pyx_n_s___grammar_start, __pyx_k___grammar_start, sizeof(__pyx_k___grammar_start), 0, 0, 1, 1}, |
| {&__pyx_n_s___grammar_tokens, __pyx_k___grammar_tokens, sizeof(__pyx_k___grammar_tokens), 0, 0, 1, 1}, |
| {&__pyx_n_s__add, __pyx_k__add, sizeof(__pyx_k__add), 0, 0, 1, 1}, |
| {&__pyx_n_s__addtoken, __pyx_k__addtoken, sizeof(__pyx_k__addtoken), 0, 0, 1, 1}, |
| {&__pyx_n_s__classify, __pyx_k__classify, sizeof(__pyx_k__classify), 0, 0, 1, 1}, |
| {&__pyx_n_s__context, __pyx_k__context, sizeof(__pyx_k__context), 0, 0, 1, 1}, |
| {&__pyx_n_s__convert, __pyx_k__convert, sizeof(__pyx_k__convert), 0, 0, 1, 1}, |
| {&__pyx_n_s__dfas, __pyx_k__dfas, sizeof(__pyx_k__dfas), 0, 0, 1, 1}, |
| {&__pyx_n_s__grammar, __pyx_k__grammar, sizeof(__pyx_k__grammar), 0, 0, 1, 1}, |
| {&__pyx_n_s__keywords, __pyx_k__keywords, sizeof(__pyx_k__keywords), 0, 0, 1, 1}, |
| {&__pyx_n_s__labels, __pyx_k__labels, sizeof(__pyx_k__labels), 0, 0, 1, 1}, |
| {&__pyx_n_s__msg, __pyx_k__msg, sizeof(__pyx_k__msg), 0, 0, 1, 1}, |
| {&__pyx_n_s__number2symbol, __pyx_k__number2symbol, sizeof(__pyx_k__number2symbol), 0, 0, 1, 1}, |
| {&__pyx_n_s__pop, __pyx_k__pop, sizeof(__pyx_k__pop), 0, 0, 1, 1}, |
| {&__pyx_n_s__push, __pyx_k__push, sizeof(__pyx_k__push), 0, 0, 1, 1}, |
| {&__pyx_n_s__rootnode, __pyx_k__rootnode, sizeof(__pyx_k__rootnode), 0, 0, 1, 1}, |
| {&__pyx_n_s__self, __pyx_k__self, sizeof(__pyx_k__self), 0, 0, 1, 1}, |
| {&__pyx_n_s__shift, __pyx_k__shift, sizeof(__pyx_k__shift), 0, 0, 1, 1}, |
| {&__pyx_n_s__stack, __pyx_k__stack, sizeof(__pyx_k__stack), 0, 0, 1, 1}, |
| {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1}, |
| {&__pyx_n_s__tokens, __pyx_k__tokens, sizeof(__pyx_k__tokens), 0, 0, 1, 1}, |
| {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1}, |
| {&__pyx_n_s__used_names, __pyx_k__used_names, sizeof(__pyx_k__used_names), 0, 0, 1, 1}, |
| {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1}, |
| {0, 0, 0, 0, 0, 0, 0} |
| }; |
| static int __Pyx_InitCachedBuiltins(void) { |
| __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| return 0; |
| __pyx_L1_error:; |
| return -1; |
| } |
| |
| static int __Pyx_InitGlobals(void) { |
| #if PY_VERSION_HEX < 0x02040000 |
| if (unlikely(__Pyx_Py23SetsImport() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| #endif |
| if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; |
| __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; |
| return 0; |
| __pyx_L1_error:; |
| return -1; |
| } |
| |
| #if PY_MAJOR_VERSION < 3 |
| PyMODINIT_FUNC initparse(void); /*proto*/ |
| PyMODINIT_FUNC initparse(void) |
| #else |
| PyMODINIT_FUNC PyInit_parse(void); /*proto*/ |
| PyMODINIT_FUNC PyInit_parse(void) |
| #endif |
| { |
| PyObject *__pyx_t_1 = NULL; |
| PyObject *__pyx_t_2 = NULL; |
| PyObject *__pyx_t_3 = NULL; |
| PyObject *__pyx_t_4 = NULL; |
| #if CYTHON_REFNANNY |
| void* __pyx_refnanny = NULL; |
| __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); |
| if (!__Pyx_RefNanny) { |
| PyErr_Clear(); |
| __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); |
| if (!__Pyx_RefNanny) |
| Py_FatalError("failed to import 'refnanny' module"); |
| } |
| __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_parse(void)", __LINE__, __FILE__); |
| #endif |
| __pyx_init_filenames(); |
| __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| #if PY_MAJOR_VERSION < 3 |
| __pyx_empty_bytes = PyString_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| #else |
| __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| #endif |
| /*--- Library function declarations ---*/ |
| /*--- Threads initialization code ---*/ |
| #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS |
| #ifdef WITH_THREAD /* Python build with threading support? */ |
| PyEval_InitThreads(); |
| #endif |
| #endif |
| /*--- Module creation code ---*/ |
| #if PY_MAJOR_VERSION < 3 |
| __pyx_m = Py_InitModule4(__Pyx_NAMESTR("parse"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_6), 0, PYTHON_API_VERSION); |
| #else |
| __pyx_m = PyModule_Create(&__pyx_moduledef); |
| #endif |
| if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; |
| #if PY_MAJOR_VERSION < 3 |
| Py_INCREF(__pyx_m); |
| #endif |
| __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); |
| if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; |
| if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; |
| /*--- Initialize various global constants etc. ---*/ |
| if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| if (__pyx_module_is_main_sphinx__pycode__pgen2__parse) { |
| if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; |
| } |
| /*--- Builtin init code ---*/ |
| if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| /*--- Global init code ---*/ |
| /*--- Function export code ---*/ |
| /*--- Type init code ---*/ |
| __pyx_vtabptr_6sphinx_6pycode_5pgen2_5parse_Parser = &__pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser; |
| #if PY_MAJOR_VERSION >= 3 |
| __pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.classify = (int (*)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, int, PyObject *, PyObject *))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_classify; |
| __pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.shift = (void (*)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, PyObject *, PyObject *, PyObject *, PyObject *))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_shift; |
| __pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.push = (void (*)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, PyObject *, PyObject *, PyObject *, PyObject *))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_push; |
| __pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.pop = (void (*)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_pop; |
| __pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.convert = (PyObject *(*)(struct __pyx_obj_6sphinx_6pycode_5pgen2_5parse_Parser *, PyObject *))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_convert; |
| #else |
| *(void(**)(void))&__pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.classify = (void(*)(void))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_classify; |
| *(void(**)(void))&__pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.shift = (void(*)(void))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_shift; |
| *(void(**)(void))&__pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.push = (void(*)(void))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_push; |
| *(void(**)(void))&__pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.pop = (void(*)(void))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_pop; |
| *(void(**)(void))&__pyx_vtable_6sphinx_6pycode_5pgen2_5parse_Parser.convert = (void(*)(void))__pyx_f_6sphinx_6pycode_5pgen2_5parse_6Parser_convert; |
| #endif |
| if (PyType_Ready(&__pyx_type_6sphinx_6pycode_5pgen2_5parse_Parser) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| if (__Pyx_SetVtable(__pyx_type_6sphinx_6pycode_5pgen2_5parse_Parser.tp_dict, __pyx_vtabptr_6sphinx_6pycode_5pgen2_5parse_Parser) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| if (__Pyx_SetAttrString(__pyx_m, "Parser", (PyObject *)&__pyx_type_6sphinx_6pycode_5pgen2_5parse_Parser) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_ptype_6sphinx_6pycode_5pgen2_5parse_Parser = &__pyx_type_6sphinx_6pycode_5pgen2_5parse_Parser; |
| /*--- Type import code ---*/ |
| /*--- Function import code ---*/ |
| /*--- Execution code ---*/ |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":15 |
| * """ |
| * |
| * from sphinx.pycode.nodes import Node, Leaf # <<<<<<<<<<<<<< |
| * |
| * DEF NAME = 1 |
| */ |
| __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_1)); |
| __Pyx_INCREF(((PyObject *)__pyx_n_s__Node)); |
| PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_n_s__Node)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_n_s__Node)); |
| __Pyx_INCREF(((PyObject *)__pyx_n_s__Leaf)); |
| PyList_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_n_s__Leaf)); |
| __Pyx_GIVEREF(((PyObject *)__pyx_n_s__Leaf)); |
| __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s_7), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_2); |
| __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; |
| __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__Node); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (PyObject_SetAttr(__pyx_m, __pyx_n_s__Node, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__Leaf); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| if (PyObject_SetAttr(__pyx_m, __pyx_n_s__Leaf, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":19 |
| * DEF NAME = 1 |
| * |
| * class ParseError(Exception): # <<<<<<<<<<<<<< |
| * """Exception to signal the parser is stuck.""" |
| * |
| */ |
| __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __Pyx_INCREF(__pyx_builtin_Exception); |
| PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); |
| __Pyx_GIVEREF(__pyx_builtin_Exception); |
| if (PyDict_SetItemString(((PyObject *)__pyx_t_2), "__doc__", ((PyObject *)__pyx_kp_s_8)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __pyx_t_3 = __Pyx_CreateClass(__pyx_t_1, ((PyObject *)__pyx_t_2), __pyx_n_s__ParseError, "sphinx.pycode.pgen2.parse"); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":22 |
| * """Exception to signal the parser is stuck.""" |
| * |
| * def __init__(self, msg, type, value, context): # <<<<<<<<<<<<<< |
| * Exception.__init__(self, "%s: type=%r, value=%r, context=%r" % |
| * (msg, type, value, context)) |
| */ |
| __pyx_t_1 = PyCFunction_New(&__pyx_mdef_6sphinx_6pycode_5pgen2_5parse_10ParseError___init__, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_1); |
| __pyx_t_4 = PyMethod_New(__pyx_t_1, 0, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; |
| if (PyObject_SetAttr(__pyx_t_3, __pyx_n_s____init__, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ParseError, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; |
| |
| /* "/home/gbr/devel/sphinx/sphinx/pycode/pgen2/parse.pyx":1 |
| * # Copyright 2004-2005 Elemental Security, Inc. All Rights Reserved. # <<<<<<<<<<<<<< |
| * # Licensed to PSF under a Contributor Agreement. |
| * |
| */ |
| __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(((PyObject *)__pyx_t_2)); |
| __pyx_t_3 = PyObject_GetAttr(__pyx_m, __pyx_n_s__Parser); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_3); |
| __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__addtoken); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_GOTREF(__pyx_t_4); |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| __pyx_t_3 = __Pyx_GetAttrString(__pyx_t_4, "__doc__"); |
| __Pyx_GOTREF(__pyx_t_3); |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; |
| if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_kp_u_9), __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; |
| if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} |
| __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; |
| goto __pyx_L0; |
| __pyx_L1_error:; |
| __Pyx_XDECREF(__pyx_t_1); |
| __Pyx_XDECREF(__pyx_t_2); |
| __Pyx_XDECREF(__pyx_t_3); |
| __Pyx_XDECREF(__pyx_t_4); |
| if (__pyx_m) { |
| __Pyx_AddTraceback("init sphinx.pycode.pgen2.parse"); |
| Py_DECREF(__pyx_m); __pyx_m = 0; |
| } else if (!PyErr_Occurred()) { |
| PyErr_SetString(PyExc_ImportError, "init sphinx.pycode.pgen2.parse"); |
| } |
| __pyx_L0:; |
| __Pyx_RefNannyFinishContext(); |
| #if PY_MAJOR_VERSION < 3 |
| return; |
| #else |
| return __pyx_m; |
| #endif |
| } |
| |
| static const char *__pyx_filenames[] = { |
| "parse.pyx", |
| }; |
| |
| /* Runtime support code */ |
| |
| static void __pyx_init_filenames(void) { |
| __pyx_f = __pyx_filenames; |
| } |
| |
| static void __Pyx_RaiseDoubleKeywordsError( |
| const char* func_name, |
| PyObject* kw_name) |
| { |
| PyErr_Format(PyExc_TypeError, |
| #if PY_MAJOR_VERSION >= 3 |
| "%s() got multiple values for keyword argument '%U'", func_name, kw_name); |
| #else |
| "%s() got multiple values for keyword argument '%s'", func_name, |
| PyString_AS_STRING(kw_name)); |
| #endif |
| } |
| |
| static void __Pyx_RaiseArgtupleInvalid( |
| const char* func_name, |
| int exact, |
| Py_ssize_t num_min, |
| Py_ssize_t num_max, |
| Py_ssize_t num_found) |
| { |
| Py_ssize_t num_expected; |
| const char *number, *more_or_less; |
| |
| if (num_found < num_min) { |
| num_expected = num_min; |
| more_or_less = "at least"; |
| } else { |
| num_expected = num_max; |
| more_or_less = "at most"; |
| } |
| if (exact) { |
| more_or_less = "exactly"; |
| } |
| number = (num_expected == 1) ? "" : "s"; |
| PyErr_Format(PyExc_TypeError, |
| #if PY_VERSION_HEX < 0x02050000 |
| "%s() takes %s %d positional argument%s (%d given)", |
| #else |
| "%s() takes %s %zd positional argument%s (%zd given)", |
| #endif |
| func_name, more_or_less, num_expected, number, num_found); |
| } |
| |
| static int __Pyx_ParseOptionalKeywords( |
| PyObject *kwds, |
| PyObject **argnames[], |
| PyObject *kwds2, |
| PyObject *values[], |
| Py_ssize_t num_pos_args, |
| const char* function_name) |
| { |
| PyObject *key = 0, *value = 0; |
| Py_ssize_t pos = 0; |
| PyObject*** name; |
| PyObject*** first_kw_arg = argnames + num_pos_args; |
| |
| while (PyDict_Next(kwds, &pos, &key, &value)) { |
| name = first_kw_arg; |
| while (*name && (**name != key)) name++; |
| if (*name) { |
| values[name-argnames] = value; |
| } else { |
| #if PY_MAJOR_VERSION < 3 |
| if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) { |
| #else |
| if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) { |
| #endif |
| goto invalid_keyword_type; |
| } else { |
| for (name = first_kw_arg; *name; name++) { |
| #if PY_MAJOR_VERSION >= 3 |
| if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && |
| PyUnicode_Compare(**name, key) == 0) break; |
| #else |
| if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && |
| _PyString_Eq(**name, key)) break; |
| #endif |
| } |
| if (*name) { |
| values[name-argnames] = value; |
| } else { |
| /* unexpected keyword found */ |
| for (name=argnames; name != first_kw_arg; name++) { |
| if (**name == key) goto arg_passed_twice; |
| #if PY_MAJOR_VERSION >= 3 |
| if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) && |
| PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice; |
| #else |
| if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) && |
| _PyString_Eq(**name, key)) goto arg_passed_twice; |
| #endif |
| } |
| if (kwds2) { |
| if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; |
| } else { |
| goto invalid_keyword; |
| } |
| } |
| } |
| } |
| } |
| return 0; |
| arg_passed_twice: |
| __Pyx_RaiseDoubleKeywordsError(function_name, **name); |
| goto bad; |
| invalid_keyword_type: |
| PyErr_Format(PyExc_TypeError, |
| "%s() keywords must be strings", function_name); |
| goto bad; |
| invalid_keyword: |
| PyErr_Format(PyExc_TypeError, |
| #if PY_MAJOR_VERSION < 3 |
| "%s() got an unexpected keyword argument '%s'", |
| function_name, PyString_AsString(key)); |
| #else |
| "%s() got an unexpected keyword argument '%U'", |
| function_name, key); |
| #endif |
| bad: |
| return -1; |
| } |
| |
| |
| static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { |
| PyErr_Format(PyExc_ValueError, |
| #if PY_VERSION_HEX < 0x02050000 |
| "need more than %d value%s to unpack", (int)index, |
| #else |
| "need more than %zd value%s to unpack", index, |
| #endif |
| (index == 1) ? "" : "s"); |
| } |
| |
| static INLINE void __Pyx_RaiseTooManyValuesError(void) { |
| PyErr_SetString(PyExc_ValueError, "too many values to unpack"); |
| } |
| |
| static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { |
| PyObject *item; |
| if (!(item = PyIter_Next(iter))) { |
| if (!PyErr_Occurred()) { |
| __Pyx_RaiseNeedMoreValuesError(index); |
| } |
| } |
| return item; |
| } |
| |
| static int __Pyx_EndUnpack(PyObject *iter) { |
| PyObject *item; |
| if ((item = PyIter_Next(iter))) { |
| Py_DECREF(item); |
| __Pyx_RaiseTooManyValuesError(); |
| return -1; |
| } |
| else if (!PyErr_Occurred()) |
| return 0; |
| else |
| return -1; |
| } |
| |
| static INLINE void __Pyx_RaiseNoneNotIterableError(void) { |
| PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); |
| } |
| |
| |
| static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { |
| if (t == Py_None) { |
| __Pyx_RaiseNoneNotIterableError(); |
| } else if (PyTuple_GET_SIZE(t) < index) { |
| __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); |
| } else { |
| __Pyx_RaiseTooManyValuesError(); |
| } |
| } |
| |
| static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { |
| PyObject *__import__ = 0; |
| PyObject *empty_list = 0; |
| PyObject *module = 0; |
| PyObject *global_dict = 0; |
| PyObject *empty_dict = 0; |
| PyObject *list; |
| __import__ = __Pyx_GetAttrString(__pyx_b, "__import__"); |
| if (!__import__) |
| goto bad; |
| if (from_list) |
| list = from_list; |
| else { |
| empty_list = PyList_New(0); |
| if (!empty_list) |
| goto bad; |
| list = empty_list; |
| } |
| global_dict = PyModule_GetDict(__pyx_m); |
| if (!global_dict) |
| goto bad; |
| empty_dict = PyDict_New(); |
| if (!empty_dict) |
| goto bad; |
| module = PyObject_CallFunctionObjArgs(__import__, |
| name, global_dict, empty_dict, list, NULL); |
| bad: |
| Py_XDECREF(empty_list); |
| Py_XDECREF(__import__); |
| Py_XDECREF(empty_dict); |
| return module; |
| } |
| |
| static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { |
| PyObject *result; |
| result = PyObject_GetAttr(dict, name); |
| if (!result) |
| PyErr_SetObject(PyExc_NameError, name); |
| return result; |
| } |
| |
| static PyObject *__Pyx_CreateClass( |
| PyObject *bases, PyObject *dict, PyObject *name, const char *modname) |
| { |
| PyObject *py_modname; |
| PyObject *result = 0; |
| |
| #if PY_MAJOR_VERSION < 3 |
| py_modname = PyString_FromString(modname); |
| #else |
| py_modname = PyUnicode_FromString(modname); |
| #endif |
| if (!py_modname) |
| goto bad; |
| if (PyDict_SetItemString(dict, "__module__", py_modname) < 0) |
| goto bad; |
| #if PY_MAJOR_VERSION < 3 |
| result = PyClass_New(bases, dict, name); |
| #else |
| result = PyObject_CallFunctionObjArgs((PyObject *)&PyType_Type, name, bases, dict, NULL); |
| #endif |
| bad: |
| Py_XDECREF(py_modname); |
| return result; |
| } |
| |
| static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { |
| PyObject *tmp_type, *tmp_value, *tmp_tb; |
| PyThreadState *tstate = PyThreadState_GET(); |
| |
| tmp_type = tstate->curexc_type; |
| tmp_value = tstate->curexc_value; |
| tmp_tb = tstate->curexc_traceback; |
| tstate->curexc_type = type; |
| tstate->curexc_value = value; |
| tstate->curexc_traceback = tb; |
| Py_XDECREF(tmp_type); |
| Py_XDECREF(tmp_value); |
| Py_XDECREF(tmp_tb); |
| } |
| |
| static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { |
| PyThreadState *tstate = PyThreadState_GET(); |
| *type = tstate->curexc_type; |
| *value = tstate->curexc_value; |
| *tb = tstate->curexc_traceback; |
| |
| tstate->curexc_type = 0; |
| tstate->curexc_value = 0; |
| tstate->curexc_traceback = 0; |
| } |
| |
| |
| #if PY_MAJOR_VERSION < 3 |
| static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { |
| Py_XINCREF(type); |
| Py_XINCREF(value); |
| Py_XINCREF(tb); |
| /* First, check the traceback argument, replacing None with NULL. */ |
| if (tb == Py_None) { |
| Py_DECREF(tb); |
| tb = 0; |
| } |
| else if (tb != NULL && !PyTraceBack_Check(tb)) { |
| PyErr_SetString(PyExc_TypeError, |
| "raise: arg 3 must be a traceback or None"); |
| goto raise_error; |
| } |
| /* Next, replace a missing value with None */ |
| if (value == NULL) { |
| value = Py_None; |
| Py_INCREF(value); |
| } |
| #if PY_VERSION_HEX < 0x02050000 |
| if (!PyClass_Check(type)) |
| #else |
| if (!PyType_Check(type)) |
| #endif |
| { |
| /* Raising an instance. The value should be a dummy. */ |
| if (value != Py_None) { |
| PyErr_SetString(PyExc_TypeError, |
| "instance exception may not have a separate value"); |
| goto raise_error; |
| } |
| /* Normalize to raise <class>, <instance> */ |
| Py_DECREF(value); |
| value = type; |
| #if PY_VERSION_HEX < 0x02050000 |
| if (PyInstance_Check(type)) { |
| type = (PyObject*) ((PyInstanceObject*)type)->in_class; |
| Py_INCREF(type); |
| } |
| else { |
| type = 0; |
| PyErr_SetString(PyExc_TypeError, |
| "raise: exception must be an old-style class or instance"); |
| goto raise_error; |
| } |
| #else |
| type = (PyObject*) Py_TYPE(type); |
| Py_INCREF(type); |
| if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { |
| PyErr_SetString(PyExc_TypeError, |
| "raise: exception class must be a subclass of BaseException"); |
| goto raise_error; |
| } |
| #endif |
| } |
| |
| __Pyx_ErrRestore(type, value, tb); |
| return; |
| raise_error: |
| Py_XDECREF(value); |
| Py_XDECREF(type); |
| Py_XDECREF(tb); |
| return; |
| } |
| |
| #else /* Python 3+ */ |
| |
| static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { |
| if (tb == Py_None) { |
| tb = 0; |
| } else if (tb && !PyTraceBack_Check(tb)) { |
| PyErr_SetString(PyExc_TypeError, |
| "raise: arg 3 must be a traceback or None"); |
| goto bad; |
| } |
| if (value == Py_None) |
| value = 0; |
| |
| if (PyExceptionInstance_Check(type)) { |
| if (value) { |
| PyErr_SetString(PyExc_TypeError, |
| "instance exception may not have a separate value"); |
| goto bad; |
| } |
| value = type; |
| type = (PyObject*) Py_TYPE(value); |
| } else if (!PyExceptionClass_Check(type)) { |
| PyErr_SetString(PyExc_TypeError, |
| "raise: exception class must be a subclass of BaseException"); |
| goto bad; |
| } |
| |
| PyErr_SetObject(type, value); |
| |
| if (tb) { |
| PyThreadState *tstate = PyThreadState_GET(); |
| PyObject* tmp_tb = tstate->curexc_traceback; |
| if (tb != tmp_tb) { |
| Py_INCREF(tb); |
| tstate->curexc_traceback = tb; |
| Py_XDECREF(tmp_tb); |
| } |
| } |
| |
| bad: |
| return; |
| } |
| #endif |
| |
| static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { |
| const unsigned char neg_one = (unsigned char)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(unsigned char) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(unsigned char)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to unsigned char" : |
| "value too large to convert to unsigned char"); |
| } |
| return (unsigned char)-1; |
| } |
| return (unsigned char)val; |
| } |
| return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); |
| } |
| |
| static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { |
| const unsigned short neg_one = (unsigned short)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(unsigned short) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(unsigned short)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to unsigned short" : |
| "value too large to convert to unsigned short"); |
| } |
| return (unsigned short)-1; |
| } |
| return (unsigned short)val; |
| } |
| return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); |
| } |
| |
| static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { |
| const unsigned int neg_one = (unsigned int)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(unsigned int) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(unsigned int)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to unsigned int" : |
| "value too large to convert to unsigned int"); |
| } |
| return (unsigned int)-1; |
| } |
| return (unsigned int)val; |
| } |
| return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); |
| } |
| |
| static INLINE char __Pyx_PyInt_AsChar(PyObject* x) { |
| const char neg_one = (char)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(char) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(char)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to char" : |
| "value too large to convert to char"); |
| } |
| return (char)-1; |
| } |
| return (char)val; |
| } |
| return (char)__Pyx_PyInt_AsLong(x); |
| } |
| |
| static INLINE short __Pyx_PyInt_AsShort(PyObject* x) { |
| const short neg_one = (short)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(short) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(short)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to short" : |
| "value too large to convert to short"); |
| } |
| return (short)-1; |
| } |
| return (short)val; |
| } |
| return (short)__Pyx_PyInt_AsLong(x); |
| } |
| |
| static INLINE int __Pyx_PyInt_AsInt(PyObject* x) { |
| const int neg_one = (int)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(int) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(int)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to int" : |
| "value too large to convert to int"); |
| } |
| return (int)-1; |
| } |
| return (int)val; |
| } |
| return (int)__Pyx_PyInt_AsLong(x); |
| } |
| |
| static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { |
| const signed char neg_one = (signed char)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(signed char) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(signed char)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to signed char" : |
| "value too large to convert to signed char"); |
| } |
| return (signed char)-1; |
| } |
| return (signed char)val; |
| } |
| return (signed char)__Pyx_PyInt_AsSignedLong(x); |
| } |
| |
| static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { |
| const signed short neg_one = (signed short)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(signed short) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(signed short)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to signed short" : |
| "value too large to convert to signed short"); |
| } |
| return (signed short)-1; |
| } |
| return (signed short)val; |
| } |
| return (signed short)__Pyx_PyInt_AsSignedLong(x); |
| } |
| |
| static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { |
| const signed int neg_one = (signed int)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| if (sizeof(signed int) < sizeof(long)) { |
| long val = __Pyx_PyInt_AsLong(x); |
| if (unlikely(val != (long)(signed int)val)) { |
| if (!unlikely(val == -1 && PyErr_Occurred())) { |
| PyErr_SetString(PyExc_OverflowError, |
| (is_unsigned && unlikely(val < 0)) ? |
| "can't convert negative value to signed int" : |
| "value too large to convert to signed int"); |
| } |
| return (signed int)-1; |
| } |
| return (signed int)val; |
| } |
| return (signed int)__Pyx_PyInt_AsSignedLong(x); |
| } |
| |
| static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { |
| const unsigned long neg_one = (unsigned long)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (likely(PyInt_Check(x))) { |
| long val = PyInt_AS_LONG(x); |
| if (is_unsigned && unlikely(val < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to unsigned long"); |
| return (unsigned long)-1; |
| } |
| return (unsigned long)val; |
| } else |
| #endif |
| if (likely(PyLong_Check(x))) { |
| if (is_unsigned) { |
| if (unlikely(Py_SIZE(x) < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to unsigned long"); |
| return (unsigned long)-1; |
| } |
| return PyLong_AsUnsignedLong(x); |
| } else { |
| return PyLong_AsLong(x); |
| } |
| } else { |
| unsigned long val; |
| PyObject *tmp = __Pyx_PyNumber_Int(x); |
| if (!tmp) return (unsigned long)-1; |
| val = __Pyx_PyInt_AsUnsignedLong(tmp); |
| Py_DECREF(tmp); |
| return val; |
| } |
| } |
| |
| static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { |
| const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (likely(PyInt_Check(x))) { |
| long val = PyInt_AS_LONG(x); |
| if (is_unsigned && unlikely(val < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to unsigned PY_LONG_LONG"); |
| return (unsigned PY_LONG_LONG)-1; |
| } |
| return (unsigned PY_LONG_LONG)val; |
| } else |
| #endif |
| if (likely(PyLong_Check(x))) { |
| if (is_unsigned) { |
| if (unlikely(Py_SIZE(x) < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to unsigned PY_LONG_LONG"); |
| return (unsigned PY_LONG_LONG)-1; |
| } |
| return PyLong_AsUnsignedLongLong(x); |
| } else { |
| return PyLong_AsLongLong(x); |
| } |
| } else { |
| unsigned PY_LONG_LONG val; |
| PyObject *tmp = __Pyx_PyNumber_Int(x); |
| if (!tmp) return (unsigned PY_LONG_LONG)-1; |
| val = __Pyx_PyInt_AsUnsignedLongLong(tmp); |
| Py_DECREF(tmp); |
| return val; |
| } |
| } |
| |
| static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { |
| const long neg_one = (long)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (likely(PyInt_Check(x))) { |
| long val = PyInt_AS_LONG(x); |
| if (is_unsigned && unlikely(val < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to long"); |
| return (long)-1; |
| } |
| return (long)val; |
| } else |
| #endif |
| if (likely(PyLong_Check(x))) { |
| if (is_unsigned) { |
| if (unlikely(Py_SIZE(x) < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to long"); |
| return (long)-1; |
| } |
| return PyLong_AsUnsignedLong(x); |
| } else { |
| return PyLong_AsLong(x); |
| } |
| } else { |
| long val; |
| PyObject *tmp = __Pyx_PyNumber_Int(x); |
| if (!tmp) return (long)-1; |
| val = __Pyx_PyInt_AsLong(tmp); |
| Py_DECREF(tmp); |
| return val; |
| } |
| } |
| |
| static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { |
| const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (likely(PyInt_Check(x))) { |
| long val = PyInt_AS_LONG(x); |
| if (is_unsigned && unlikely(val < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to PY_LONG_LONG"); |
| return (PY_LONG_LONG)-1; |
| } |
| return (PY_LONG_LONG)val; |
| } else |
| #endif |
| if (likely(PyLong_Check(x))) { |
| if (is_unsigned) { |
| if (unlikely(Py_SIZE(x) < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to PY_LONG_LONG"); |
| return (PY_LONG_LONG)-1; |
| } |
| return PyLong_AsUnsignedLongLong(x); |
| } else { |
| return PyLong_AsLongLong(x); |
| } |
| } else { |
| PY_LONG_LONG val; |
| PyObject *tmp = __Pyx_PyNumber_Int(x); |
| if (!tmp) return (PY_LONG_LONG)-1; |
| val = __Pyx_PyInt_AsLongLong(tmp); |
| Py_DECREF(tmp); |
| return val; |
| } |
| } |
| |
| static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { |
| const signed long neg_one = (signed long)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (likely(PyInt_Check(x))) { |
| long val = PyInt_AS_LONG(x); |
| if (is_unsigned && unlikely(val < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to signed long"); |
| return (signed long)-1; |
| } |
| return (signed long)val; |
| } else |
| #endif |
| if (likely(PyLong_Check(x))) { |
| if (is_unsigned) { |
| if (unlikely(Py_SIZE(x) < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to signed long"); |
| return (signed long)-1; |
| } |
| return PyLong_AsUnsignedLong(x); |
| } else { |
| return PyLong_AsLong(x); |
| } |
| } else { |
| signed long val; |
| PyObject *tmp = __Pyx_PyNumber_Int(x); |
| if (!tmp) return (signed long)-1; |
| val = __Pyx_PyInt_AsSignedLong(tmp); |
| Py_DECREF(tmp); |
| return val; |
| } |
| } |
| |
| static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { |
| const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0; |
| const int is_unsigned = neg_one > const_zero; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (likely(PyInt_Check(x))) { |
| long val = PyInt_AS_LONG(x); |
| if (is_unsigned && unlikely(val < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to signed PY_LONG_LONG"); |
| return (signed PY_LONG_LONG)-1; |
| } |
| return (signed PY_LONG_LONG)val; |
| } else |
| #endif |
| if (likely(PyLong_Check(x))) { |
| if (is_unsigned) { |
| if (unlikely(Py_SIZE(x) < 0)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "can't convert negative value to signed PY_LONG_LONG"); |
| return (signed PY_LONG_LONG)-1; |
| } |
| return PyLong_AsUnsignedLongLong(x); |
| } else { |
| return PyLong_AsLongLong(x); |
| } |
| } else { |
| signed PY_LONG_LONG val; |
| PyObject *tmp = __Pyx_PyNumber_Int(x); |
| if (!tmp) return (signed PY_LONG_LONG)-1; |
| val = __Pyx_PyInt_AsSignedLongLong(tmp); |
| Py_DECREF(tmp); |
| return val; |
| } |
| } |
| |
| static void __Pyx_WriteUnraisable(const char *name) { |
| PyObject *old_exc, *old_val, *old_tb; |
| PyObject *ctx; |
| __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); |
| #if PY_MAJOR_VERSION < 3 |
| ctx = PyString_FromString(name); |
| #else |
| ctx = PyUnicode_FromString(name); |
| #endif |
| __Pyx_ErrRestore(old_exc, old_val, old_tb); |
| if (!ctx) { |
| PyErr_WriteUnraisable(Py_None); |
| } else { |
| PyErr_WriteUnraisable(ctx); |
| Py_DECREF(ctx); |
| } |
| } |
| |
| static int __Pyx_SetVtable(PyObject *dict, void *vtable) { |
| #if PY_VERSION_HEX < 0x03010000 |
| PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); |
| #else |
| PyObject *ob = PyCapsule_New(vtable, 0, 0); |
| #endif |
| if (!ob) |
| goto bad; |
| if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0) |
| goto bad; |
| Py_DECREF(ob); |
| return 0; |
| bad: |
| Py_XDECREF(ob); |
| return -1; |
| } |
| |
| #include "compile.h" |
| #include "frameobject.h" |
| #include "traceback.h" |
| |
| static void __Pyx_AddTraceback(const char *funcname) { |
| PyObject *py_srcfile = 0; |
| PyObject *py_funcname = 0; |
| PyObject *py_globals = 0; |
| PyCodeObject *py_code = 0; |
| PyFrameObject *py_frame = 0; |
| |
| #if PY_MAJOR_VERSION < 3 |
| py_srcfile = PyString_FromString(__pyx_filename); |
| #else |
| py_srcfile = PyUnicode_FromString(__pyx_filename); |
| #endif |
| if (!py_srcfile) goto bad; |
| if (__pyx_clineno) { |
| #if PY_MAJOR_VERSION < 3 |
| py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); |
| #else |
| py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); |
| #endif |
| } |
| else { |
| #if PY_MAJOR_VERSION < 3 |
| py_funcname = PyString_FromString(funcname); |
| #else |
| py_funcname = PyUnicode_FromString(funcname); |
| #endif |
| } |
| if (!py_funcname) goto bad; |
| py_globals = PyModule_GetDict(__pyx_m); |
| if (!py_globals) goto bad; |
| py_code = PyCode_New( |
| 0, /*int argcount,*/ |
| #if PY_MAJOR_VERSION >= 3 |
| 0, /*int kwonlyargcount,*/ |
| #endif |
| 0, /*int nlocals,*/ |
| 0, /*int stacksize,*/ |
| 0, /*int flags,*/ |
| __pyx_empty_bytes, /*PyObject *code,*/ |
| __pyx_empty_tuple, /*PyObject *consts,*/ |
| __pyx_empty_tuple, /*PyObject *names,*/ |
| __pyx_empty_tuple, /*PyObject *varnames,*/ |
| __pyx_empty_tuple, /*PyObject *freevars,*/ |
| __pyx_empty_tuple, /*PyObject *cellvars,*/ |
| py_srcfile, /*PyObject *filename,*/ |
| py_funcname, /*PyObject *name,*/ |
| __pyx_lineno, /*int firstlineno,*/ |
| __pyx_empty_bytes /*PyObject *lnotab*/ |
| ); |
| if (!py_code) goto bad; |
| py_frame = PyFrame_New( |
| PyThreadState_GET(), /*PyThreadState *tstate,*/ |
| py_code, /*PyCodeObject *code,*/ |
| py_globals, /*PyObject *globals,*/ |
| 0 /*PyObject *locals*/ |
| ); |
| if (!py_frame) goto bad; |
| py_frame->f_lineno = __pyx_lineno; |
| PyTraceBack_Here(py_frame); |
| bad: |
| Py_XDECREF(py_srcfile); |
| Py_XDECREF(py_funcname); |
| Py_XDECREF(py_code); |
| Py_XDECREF(py_frame); |
| } |
| |
| static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { |
| while (t->p) { |
| #if PY_MAJOR_VERSION < 3 |
| if (t->is_unicode) { |
| *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); |
| } else if (t->intern) { |
| *t->p = PyString_InternFromString(t->s); |
| } else { |
| *t->p = PyString_FromStringAndSize(t->s, t->n - 1); |
| } |
| #else /* Python 3+ has unicode identifiers */ |
| if (t->is_unicode | t->is_str) { |
| if (t->intern) { |
| *t->p = PyUnicode_InternFromString(t->s); |
| } else if (t->encoding) { |
| *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); |
| } else { |
| *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); |
| } |
| } else { |
| *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); |
| } |
| #endif |
| if (!*t->p) |
| return -1; |
| ++t; |
| } |
| return 0; |
| } |
| |
| /* Type Conversion Functions */ |
| |
| static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { |
| if (x == Py_True) return 1; |
| else if ((x == Py_False) | (x == Py_None)) return 0; |
| else return PyObject_IsTrue(x); |
| } |
| |
| static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { |
| PyNumberMethods *m; |
| const char *name = NULL; |
| PyObject *res = NULL; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (PyInt_Check(x) || PyLong_Check(x)) |
| #else |
| if (PyLong_Check(x)) |
| #endif |
| return Py_INCREF(x), x; |
| m = Py_TYPE(x)->tp_as_number; |
| #if PY_VERSION_HEX < 0x03000000 |
| if (m && m->nb_int) { |
| name = "int"; |
| res = PyNumber_Int(x); |
| } |
| else if (m && m->nb_long) { |
| name = "long"; |
| res = PyNumber_Long(x); |
| } |
| #else |
| if (m && m->nb_int) { |
| name = "int"; |
| res = PyNumber_Long(x); |
| } |
| #endif |
| if (res) { |
| #if PY_VERSION_HEX < 0x03000000 |
| if (!PyInt_Check(res) && !PyLong_Check(res)) { |
| #else |
| if (!PyLong_Check(res)) { |
| #endif |
| PyErr_Format(PyExc_TypeError, |
| "__%s__ returned non-%s (type %.200s)", |
| name, name, Py_TYPE(res)->tp_name); |
| Py_DECREF(res); |
| return NULL; |
| } |
| } |
| else if (!PyErr_Occurred()) { |
| PyErr_SetString(PyExc_TypeError, |
| "an integer is required"); |
| } |
| return res; |
| } |
| |
| static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { |
| Py_ssize_t ival; |
| PyObject* x = PyNumber_Index(b); |
| if (!x) return -1; |
| ival = PyInt_AsSsize_t(x); |
| Py_DECREF(x); |
| return ival; |
| } |
| |
| static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { |
| #if PY_VERSION_HEX < 0x02050000 |
| if (ival <= LONG_MAX) |
| return PyInt_FromLong((long)ival); |
| else { |
| unsigned char *bytes = (unsigned char *) &ival; |
| int one = 1; int little = (int)*(unsigned char*)&one; |
| return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0); |
| } |
| #else |
| return PyInt_FromSize_t(ival); |
| #endif |
| } |
| |
| static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { |
| unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x); |
| if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) { |
| return (size_t)-1; |
| } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) { |
| PyErr_SetString(PyExc_OverflowError, |
| "value too large to convert to size_t"); |
| return (size_t)-1; |
| } |
| return (size_t)val; |
| } |
| |
| |
| #endif /* Py_PYTHON_H */ |