NCBI C++ ToolKit
|
#include "pcre2_internal.h"
Go to the source code of this file.
Go to the SVN repository for this file.
Macros | |
#define | APTROWS (LAST_AUTOTAB_LEFT_OP - FIRST_AUTOTAB_OP + 1) |
#define | APTCOLS (LAST_AUTOTAB_RIGHT_OP - FIRST_AUTOTAB_OP + 1) |
Functions | |
static PCRE2_UCHAR | get_repeat_base (PCRE2_UCHAR c) |
static PCRE2_SPTR | get_chr_property_list (PCRE2_SPTR code, BOOL utf, BOOL ucp, const uint8_t *fcc, uint32_t *list) |
static BOOL | compare_opcodes (PCRE2_SPTR code, BOOL utf, BOOL ucp, const compile_block *cb, const uint32_t *base_list, PCRE2_SPTR base_end, int *rec_limit) |
int | _pcre2_auto_possessify (PCRE2_UCHAR *code, const compile_block *cb) |
Variables | |
static const uint8_t | autoposstab [(OP_EXTUNI - OP_NOT_DIGIT+1)][(OP_DOLLM - OP_NOT_DIGIT+1)] |
#define APTCOLS (LAST_AUTOTAB_RIGHT_OP - FIRST_AUTOTAB_OP + 1) |
Definition at line 71 of file pcre2_auto_possess.c.
#define APTROWS (LAST_AUTOTAB_LEFT_OP - FIRST_AUTOTAB_OP + 1) |
Definition at line 70 of file pcre2_auto_possess.c.
int _pcre2_auto_possessify | ( | PCRE2_UCHAR * | code, |
const compile_block * | cb | ||
) |
Definition at line 1138 of file pcre2_auto_possess.c.
References compare_opcodes(), get_chr_property_list(), get_repeat_base(), IMM2_SIZE, LINK_SIZE, NULL, OP_CALLOUT_STR, OP_CHAR, OP_CHARI, OP_CLASS, OP_COMMIT_ARG, OP_CRMINPLUS, OP_CRMINQUERY, OP_CRMINRANGE, OP_CRMINSTAR, OP_CRPLUS, OP_CRPOSPLUS, OP_CRPOSQUERY, OP_CRPOSRANGE, OP_CRPOSSTAR, OP_CRQUERY, OP_CRRANGE, OP_CRSTAR, OP_END, OP_EXACT, OP_EXACTI, OP_lengths, OP_MARK, OP_MINPLUS, OP_MINPLUSI, OP_MINQUERY, OP_MINQUERYI, OP_MINSTAR, OP_MINSTARI, OP_MINUPTO, OP_MINUPTOI, OP_NCLASS, OP_NOT, OP_NOTEXACT, OP_NOTEXACTI, OP_NOTI, OP_NOTMINPLUS, OP_NOTMINPLUSI, OP_NOTMINQUERY, OP_NOTMINQUERYI, OP_NOTMINSTAR, OP_NOTMINSTARI, OP_NOTMINUPTO, OP_NOTMINUPTOI, OP_NOTPLUS, OP_NOTPLUSI, OP_NOTPOSPLUS, OP_NOTPOSPLUSI, OP_NOTPOSQUERY, OP_NOTPOSQUERYI, OP_NOTPOSSTAR, OP_NOTPOSSTARI, OP_NOTPOSUPTO, OP_NOTPOSUPTOI, OP_NOTPROP, OP_NOTQUERY, OP_NOTQUERYI, OP_NOTSTAR, OP_NOTSTARI, OP_NOTUPTO, OP_NOTUPTOI, OP_PLUS, OP_PLUSI, OP_POSPLUS, OP_POSPLUSI, OP_POSQUERY, OP_POSQUERYI, OP_POSSTAR, OP_POSSTARI, OP_POSUPTO, OP_POSUPTOI, OP_PROP, OP_PRUNE_ARG, OP_QUERY, OP_QUERYI, OP_SKIP_ARG, OP_STAR, OP_STARI, OP_TABLE_LENGTH, OP_THEN_ARG, OP_TYPEEXACT, OP_TYPEMINPLUS, OP_TYPEMINQUERY, OP_TYPEMINSTAR, OP_TYPEMINUPTO, OP_TYPEPLUS, OP_TYPEPOSPLUS, OP_TYPEPOSQUERY, OP_TYPEPOSSTAR, OP_TYPEPOSUPTO, OP_TYPEQUERY, OP_TYPESTAR, OP_TYPEUPTO, OP_UPTO, OP_UPTOI, OP_XCLASS, PCRE2_SPTR, PCRE2_UCHAR, PCRE2_UCP, PCRE2_UTF, PRIV, and utf.
|
static |
Definition at line 536 of file pcre2_auto_possess.c.
References autoposstab, cbit_digit, cbit_space, cbit_word, compile_block::cbits, CHAR_CR, CHAR_FF, CHAR_LF, CHAR_NEL, CHAR_VT, ctype_digit, ctype_space, ctype_word, compile_block::ctypes, FALSE, compile_block::fcc, FIRST_AUTOTAB_OP, get_chr_property_list(), compile_block::had_recurse, HSPACE_CASES, LAST_AUTOTAB_LEFT_OP, LAST_AUTOTAB_RIGHT_OP, LINK_SIZE, n, NOTACHAR, NULL, OP_ALT, OP_ANYNL, OP_ASSERT, OP_ASSERT_NA, OP_ASSERT_NOT, OP_ASSERTBACK, OP_ASSERTBACK_NA, OP_ASSERTBACK_NOT, OP_BRA, OP_BRAMINZERO, OP_BRAZERO, OP_CALLOUT, OP_CALLOUT_STR, OP_CBRA, OP_CBRAPOS, OP_CHAR, OP_CHARI, OP_CLASS, OP_DIGIT, OP_DOLL, OP_END, OP_EOD, OP_EODN, OP_HSPACE, OP_KET, OP_KETRPOS, OP_lengths, OP_NCLASS, OP_NOT, OP_NOT_DIGIT, OP_NOT_HSPACE, OP_NOT_VSPACE, OP_NOT_WHITESPACE, OP_NOT_WORDCHAR, OP_NOTPROP, OP_ONCE, OP_PROP, OP_SCBRA, OP_SCBRAPOS, OP_SCRIPT_RUN, OP_VREVERSE, OP_VSPACE, OP_WHITESPACE, OP_WORDCHAR, OP_XCLASS, PCRE2_CODE_UNIT_WIDTH, PCRE2_SPTR, PCRE2_UCHAR, PRIV, TRUE, utf, VSPACE_CASES, XCL_HASPROP, XCL_MAP, and XCL_NOT.
Referenced by _pcre2_auto_possessify().
|
static |
Definition at line 325 of file pcre2_auto_possess.c.
References FALSE, GET2, get_repeat_base(), GETCHARINCTEST, IMM2_SIZE, NOTACHAR, NULL, OP_ALLANY, OP_ANY, OP_ANYNL, OP_CHAR, OP_CHARI, OP_CLASS, OP_CRMINPLUS, OP_CRMINQUERY, OP_CRMINRANGE, OP_CRMINSTAR, OP_CRPLUS, OP_CRPOSPLUS, OP_CRPOSQUERY, OP_CRPOSRANGE, OP_CRPOSSTAR, OP_CRQUERY, OP_CRRANGE, OP_CRSTAR, OP_DIGIT, OP_DOLL, OP_DOLLM, OP_EOD, OP_EODN, OP_EXACT, OP_EXTUNI, OP_HSPACE, OP_MINPLUS, OP_MINUPTO, OP_NCLASS, OP_NOT, OP_NOT_DIGIT, OP_NOT_HSPACE, OP_NOT_VSPACE, OP_NOT_WHITESPACE, OP_NOT_WORDCHAR, OP_NOTI, OP_NOTPROP, OP_NOTSTAR, OP_NOTSTARI, OP_PLUS, OP_POSPLUS, OP_POSUPTO, OP_PROP, OP_STAR, OP_STARI, OP_TYPEPOSUPTO, OP_TYPESTAR, OP_UPTO, OP_VSPACE, OP_WHITESPACE, OP_WORDCHAR, OP_XCLASS, PCRE2_SPTR, PCRE2_UCHAR, PRIV, PT_CLIST, TRUE, UCD_OTHERCASE, uint32_t, and utf.
Referenced by _pcre2_auto_possessify(), and compare_opcodes().
|
static |
Definition at line 291 of file pcre2_auto_possess.c.
References OP_NOTSTAR, OP_NOTSTARI, OP_STAR, OP_STARI, OP_TYPEPOSUPTO, and OP_TYPESTAR.
Referenced by _pcre2_auto_possessify(), and get_chr_property_list().
|
static |
Definition at line 73 of file pcre2_auto_possess.c.
Referenced by compare_opcodes().