XPointer NCName QName NormalChar EscapedChar StringWithoutParens XPointer Shorthand $$ = PyObject_CallMethod(XPointer, "Shorthand", "O", $1); $$ = XPointer.Shorthand($1) SchemeBased $$ = PyObject_CallMethod(XPointer, "SchemeBased", "O", $1); $$ = XPointer.SchemeBased($1) Shorthand NCName SchemeBased PointerPart $$ = PyList_New(1); PyList_SET_ITEM($$, 0, $1); Py_INCREF($1); $$ = [$1] SchemeBased PointerPart PyList_Append($1, $2); Py_INCREF($1); $$ = $1; $1.append($2) $$ = $1 PointerPart SchemeName '(' SchemeData ')' lexer->state = LEXER_INITIAL; $$ = PyObject_CallMethod(XPointer, "Scheme", "OO", $1, $3); lexer.state = INITIAL; $$ = XPointer.Scheme($1, $3) SchemeName NCName lexer->state = LEXER_SCHEME_DATA; Py_INCREF($1); $$ = $1; lexer.state = SCHEME_DATA $$ = $1 QName lexer->state = LEXER_SCHEME_DATA; Py_INCREF($1); $$ = $1; lexer.state = SCHEME_DATA $$ = $1 SchemeData $$ = PyUnicode_FromUnicode(NULL, 0); $$ = u"" EscapedDataList PyObject *empty = PyUnicode_FromUnicode(NULL, 0); $$ = PyUnicode_Join(empty, $1); Py_DECREF(empty); $$ = u"".join($1) EscapedDataList EscapedData $$ = PyList_New(1); if ($$) { PyList_SET_ITEM($$, 0, $1); Py_INCREF($1); } $$ = [$1] EscapedDataList EscapedData PyList_Append($1, $2); Py_INCREF($1); $$ = $1; $1.append($2) $$ = $1 EscapedData NormalChar EscapedChar $$ = PyUnicode_FromUnicode(PyUnicode_AS_UNICODE($1)+1, 1); $$ = $1[1] '(' SchemeData ')' $$ = PyUnicode_FromUnicode(NULL, PyUnicode_GET_SIZE($2) + 2); if ($$) { PyUnicode_AS_UNICODE($$)[0] = '('; Py_UNICODE_COPY(PyUnicode_AS_UNICODE($$) + 1, PyUnicode_AS_UNICODE($2), PyUnicode_GET_SIZE($2)); PyUnicode_AS_UNICODE($$)[PyUnicode_GET_SIZE($2) + 1] = ')'; } $$ = $1 + $2 + $3 SCHEME_DATA NCName QName @ASCII@ NormalChar EscapedChar @ASCII@