Lines Matching defs:code
7 * 1999-10-24 fl created (based on existing template matcher code)
280 [clinic start generated code]*/
281 /*[clinic end generated code: output=da39a3ee5e6b4b0d input=fe2966e32b66a231]*/
285 [clinic start generated code]*/
289 /*[clinic end generated code: output=e0db7ce34a6dd7b1 input=bd6f6ecf4916bb2b]*/
300 [clinic start generated code]*/
304 /*[clinic end generated code: output=4f454b630fbd19a2 input=9f0bd952812c7ed3]*/
316 [clinic start generated code]*/
320 /*[clinic end generated code: output=9c5ddee0dc2bc258 input=51e42c3b8dddb78e]*/
332 [clinic start generated code]*/
336 /*[clinic end generated code: output=228294ed6ff2a612 input=272c609b5b61f136]*/
347 [clinic start generated code]*/
351 /*[clinic end generated code: output=6422272d7d7fee65 input=91d708c5f3c2045a]*/
475 compiling C code where it believes that `const void**` cannot be
553 /* This error code seems to be unused. */
639 [clinic start generated code]*/
645 /*[clinic end generated code: output=ec6208ea58a0cca0 input=4bdb9c3e564d13ac]*/
682 [clinic start generated code]*/
688 /*[clinic end generated code: output=625b75b027ef94da input=50981172ab0fcfdd]*/
728 [clinic start generated code]*/
734 /*[clinic end generated code: output=bd7f2d9d583e1463 input=afa9afb66a74a4b3]*/
795 [clinic start generated code]*/
800 /*[clinic end generated code: output=f4966baceea60aca input=5b6a4ee799741563]*/
896 [clinic start generated code]*/
902 /*[clinic end generated code: output=1791dbf3618ade56 input=812e332a4848cbaf]*/
933 [clinic start generated code]*/
939 /*[clinic end generated code: output=f70cd506112f1bd9 input=2e487e5151bcee4c]*/
953 [clinic start generated code]*/
958 /*[clinic end generated code: output=7ac66f381c45e0be input=1eeeb10dafc9947a]*/
1244 [clinic start generated code]*/
1249 /*[clinic end generated code: output=4be141ab04bca60d input=d8d1d4ac2311a07c]*/
1266 [clinic start generated code]*/
1272 /*[clinic end generated code: output=da02fd85258b1e1f input=8b78a65b8302e58d]*/
1282 [clinic start generated code]*/
1286 /*[clinic end generated code: output=85dedc2db1bd8694 input=a730a59d863bc9f5]*/
1298 [clinic start generated code]*/
1302 /*[clinic end generated code: output=2ad25679c1f1204a input=a465b1602f997bed]*/
1406 code: object(subclass_of='&PyList_Type')
1411 [clinic start generated code]*/
1415 PyObject *code, Py_ssize_t groups, PyObject *groupindex,
1417 /*[clinic end generated code: output=ef9c2b3693776404 input=0a68476dbbe5db30]*/
1425 n = PyList_GET_SIZE(code);
1438 PyObject *o = PyList_GET_ITEM(code, i);
1440 self->code[i] = (SRE_CODE) value;
1441 if ((unsigned long) self->code[i] != value) {
1443 "regular expression code size limit exceeded");
1498 /* To learn more about this code, have a look at the _compile() function in
1499 Lib/sre_compile.py. The validation functions below checks the code array
1500 for conformance with the code patterns generated there.
1502 The nice thing about the generated code is that it is position-independent:
1533 /* Extract opcode, argument, or skip count from code array */
1536 VTRACE(("%p: ", code)); \
1537 if (code >= end) FAIL; \
1538 op = *code++; \
1543 VTRACE(("%p= ", code)); \
1544 if (code >= end) FAIL; \
1545 arg = *code++; \
1550 VTRACE(("%p= ", code)); \
1551 if (code >= end) FAIL; \
1552 skip = *code; \
1554 (unsigned long)skip, code+skip)); \
1555 if (skip-adj > (uintptr_t)(end - code)) \
1557 code++; \
1562 _validate_charset(SRE_CODE *code, SRE_CODE *end)
1570 while (code < end) {
1589 if (offset > (uintptr_t)(end - code))
1591 code += offset;
1597 if (offset > (uintptr_t)(end - code))
1601 if (((unsigned char *)code)[i] >= arg)
1604 code += offset;
1606 if (offset > (uintptr_t)(end - code))
1608 code += offset;
1649 _validate_inner(SRE_CODE *code, SRE_CODE *end, Py_ssize_t groups)
1656 VTRACE(("code=%p, end=%p\n", code, end));
1658 if (code > end)
1661 while (code < end) {
1667 sre_match() code is robust even if they don't, and the worst
1725 if (_validate_charset(code, code+skip-2))
1727 if (code[skip-2] != SRE_OP_FAILURE)
1729 code += skip-1;
1741 newcode = code+skip-1;
1764 if (prefix_len > (uintptr_t)(newcode - code))
1766 code += prefix_len;
1768 if (prefix_len > (uintptr_t)(newcode - code))
1772 if (code[i] >= prefix_len)
1775 code += prefix_len;
1779 if (_validate_charset(code, newcode-1))
1783 code = newcode;
1785 else if (code != newcode) {
1786 VTRACE(("code=%p, newcode=%p\n", code, newcode));
1800 if (_validate_inner(code, code+skip-3, groups))
1802 code += skip-3;
1810 target = code+skip-1;
1811 else if (code+skip-1 != target)
1814 if (code != target)
1831 if (_validate_inner(code, code+skip-4, groups))
1833 code += skip-4;
1851 if (_validate_inner(code, code+skip-3, groups))
1853 code += skip-3;
1869 if (_validate_inner(code, code+skip-2, groups))
1871 code += skip-2;
1895 code--; /* The skip is relative to the first arg! */
1897 part and an 'else' part, the generated code looks like:
1918 to allow arbitrary jumps anywhere in the code; so we just look
1922 int rc = _validate_inner(code+1, code+skip-1, groups);
1925 code += skip-2; /* Position after JUMP, at <skipno> */
1927 rc = _validate_inner(code, code+skip-1, groups);
1931 code += skip-1;
1938 code--; /* Back up over arg to simplify math below */
1942 if (_validate_inner(code+1, code+skip-2, groups))
1944 code += skip-2;
1951 if (code + 1 != end)
1967 _validate_outer(SRE_CODE *code, SRE_CODE *end, Py_ssize_t groups)
1970 code >= end || end[-1] != SRE_OP_SUCCESS)
1972 return _validate_inner(code, end-1, groups);
1978 if (_validate_outer(self->code, self->code+self->codesize, self->groups))
1980 PyErr_SetString(PyExc_RuntimeError, "invalid SRE code");
2105 [clinic start generated code]*/
2109 /*[clinic end generated code: output=931b58ccc323c3a1 input=4bfdb22c2f8b146a]*/
2111 /* delegate to Python code */
2166 [clinic start generated code]*/
2170 /*[clinic end generated code: output=daf8e2641537238a input=bb069ef55dabca91]*/
2199 [clinic start generated code]*/
2203 /*[clinic end generated code: output=29917c9073e41757 input=0ded7960b23780aa]*/
2244 [clinic start generated code]*/
2248 /*[clinic end generated code: output=3f6e7f9df2fb5201 input=ced8e4ed4b33ee6c]*/
2267 [clinic start generated code]*/
2271 /*[clinic end generated code: output=f4240b09911f7692 input=1b799560c7f3d7e6]*/
2317 [clinic start generated code]*/
2321 /*[clinic end generated code: output=f02ae40594d14fe6 input=8fa6014e982d71d4]*/
2362 [clinic start generated code]*/
2366 /*[clinic end generated code: output=a779c5fc8b5b4eb4 input=3bb4d30b6baddb5b]*/
2378 [clinic start generated code]*/
2382 /*[clinic end generated code: output=ba7cb46d655e4ee2 input=779d12a31c2c325e]*/
2578 [clinic start generated code]*/
2582 /*[clinic end generated code: output=6e22c149dc0f0325 input=b5146e1f30278cb7]*/
2628 [clinic start generated code]*/
2632 /*[clinic end generated code: output=23e8fc78013f9161 input=056c2d37171d0bf2]*/
2710 hash2 = _Py_HashBytes(self->code, sizeof(self->code[0]) * self->codesize);
2752 /* Compare the code and the pattern because the same pattern can
2756 cmp = (memcmp(left->code, right->code,
2757 sizeof(left->code[0]) * left->codesize) == 0);