#include "pcre_internal.h"
Go to the source code of this file.
Classes | |
struct | stateblock |
Defines | |
#define | NLBLOCK md |
#define | PSSTART start_subject |
#define | PSEND end_subject |
#define | SP " " |
#define | OP_PROP_EXTRA 300 |
#define | OP_EXTUNI_EXTRA 320 |
#define | OP_ANYNL_EXTRA 340 |
#define | OP_HSPACE_EXTRA 360 |
#define | OP_VSPACE_EXTRA 380 |
#define | INTS_PER_STATEBLOCK (sizeof(stateblock)/sizeof(int)) |
#define | ADD_ACTIVE(x, y) |
#define | ADD_ACTIVE_DATA(x, y, z) |
#define | ADD_NEW(x, y) |
#define | ADD_NEW_DATA(x, y, z) |
Functions | |
static int | internal_dfa_exec (dfa_match_data *md, const uschar *this_start_code, const uschar *current_subject, int start_offset, int *offsets, int offsetcount, int *workspace, int wscount, int ims, int rlevel, int recursing) |
PCRE_EXP_DEFN int PCRE_CALL_CONVENTION | pcre_dfa_exec (const pcre *argument_re, const pcre_extra *extra_data, const char *subject, int length, int start_offset, int options, int *offsets, int offsetcount, int *workspace, int wscount) |
Variables | |
static const uschar | coptable [] |
static const uschar | toptable1 [] |
static const uschar | toptable2 [] |
Value:
if (active_count++ < wscount) \ { \ next_active_state->offset = (x); \ next_active_state->count = (y); \ next_active_state->ims = ims; \ next_active_state++; \ DPRINTF(("%.*sADD_ACTIVE(%d,%d)\n", rlevel*2-2, SP, (x), (y))); \ } \ else return PCRE_ERROR_DFA_WSSIZE
Definition at line 234 of file pcre_dfa_exec.c.
Referenced by internal_dfa_exec().
Value:
if (active_count++ < wscount) \ { \ next_active_state->offset = (x); \ next_active_state->count = (y); \ next_active_state->ims = ims; \ next_active_state->data = (z); \ next_active_state++; \ DPRINTF(("%.*sADD_ACTIVE_DATA(%d,%d,%d)\n", rlevel*2-2, SP, (x), (y), (z))); \ } \ else return PCRE_ERROR_DFA_WSSIZE
Definition at line 245 of file pcre_dfa_exec.c.
Value:
if (new_count++ < wscount) \ { \ next_new_state->offset = (x); \ next_new_state->count = (y); \ next_new_state->ims = ims; \ next_new_state++; \ DPRINTF(("%.*sADD_NEW(%d,%d)\n", rlevel*2-2, SP, (x), (y))); \ } \ else return PCRE_ERROR_DFA_WSSIZE
Definition at line 257 of file pcre_dfa_exec.c.
Referenced by internal_dfa_exec().
Value:
if (new_count++ < wscount) \ { \ next_new_state->offset = (x); \ next_new_state->count = (y); \ next_new_state->ims = ims; \ next_new_state->data = (z); \ next_new_state++; \ DPRINTF(("%.*sADD_NEW_DATA(%d,%d,%d)\n", rlevel*2-2, SP, (x), (y), (z))); \ } \ else return PCRE_ERROR_DFA_WSSIZE
Definition at line 268 of file pcre_dfa_exec.c.
Referenced by internal_dfa_exec().
#define INTS_PER_STATEBLOCK (sizeof(stateblock)/sizeof(int)) |
#define NLBLOCK md |
Definition at line 51 of file pcre_dfa_exec.c.
#define OP_ANYNL_EXTRA 340 |
#define OP_EXTUNI_EXTRA 320 |
#define OP_HSPACE_EXTRA 360 |
#define OP_PROP_EXTRA 300 |
#define OP_VSPACE_EXTRA 380 |
#define PSEND end_subject |
Definition at line 53 of file pcre_dfa_exec.c.
#define PSSTART start_subject |
Definition at line 52 of file pcre_dfa_exec.c.
#define SP " " |
static int internal_dfa_exec | ( | dfa_match_data * | md, | |
const uschar * | this_start_code, | |||
const uschar * | current_subject, | |||
int | start_offset, | |||
int * | offsets, | |||
int | offsetcount, | |||
int * | workspace, | |||
int | wscount, | |||
int | ims, | |||
int | rlevel, | |||
int | recursing | |||
) | [static] |
Definition at line 283 of file pcre_dfa_exec.c.
References _pcre_ucp_gentype, _pcre_xclass(), ADD_ACTIVE, ADD_NEW, ADD_NEW_DATA, c, dfa_match_data::callout_data, pcre_callout_block::callout_data, pcre_callout_block::callout_number, pcre_callout_block::capture_last, pcre_callout_block::capture_top, ucd_record::chartype, coptable, stateblock::count, ctype_word, ctypes_offset, pcre_callout_block::current_position, d, DPRINTF, dfa_match_data::end_subject, FALSE, fcc_offset, GET2, GET_UCD, GETCHARLEN, GETCHARTEST, i, if(), INTS_PER_STATEBLOCK, IS_NEWLINE, j, lcc_offset, length, LINK_SIZE, max, memmove, dfa_match_data::moptions, pcre_callout_block::next_item_length, dfa_match_data::nllen, NOTACHAR, NULL, pcre_callout_block::offset_vector, OP_ALLANY, OP_ALT, OP_ANY, OP_ANYBYTE, OP_ANYNL, OP_ANYNL_EXTRA, OP_ASSERT, OP_ASSERT_NOT, OP_ASSERTBACK, OP_ASSERTBACK_NOT, OP_BRA, OP_BRAMINZERO, OP_BRAZERO, OP_CALLOUT, OP_CBRA, OP_CHAR, OP_CHARNC, OP_CIRC, OP_CLASS, OP_COND, OP_CREF, OP_CRMINPLUS, OP_CRMINQUERY, OP_CRMINRANGE, OP_CRMINSTAR, OP_CRPLUS, OP_CRQUERY, OP_CRRANGE, OP_CRSTAR, OP_DEF, OP_DIGIT, OP_DOLL, OP_EOD, OP_EODN, OP_EXACT, OP_EXTUNI, OP_EXTUNI_EXTRA, OP_FAIL, OP_HSPACE, OP_HSPACE_EXTRA, OP_KET, OP_KETRMAX, OP_KETRMIN, OP_MINPLUS, OP_MINQUERY, OP_MINSTAR, OP_MINUPTO, OP_NCLASS, OP_NOT, OP_NOT_DIGIT, OP_NOT_HSPACE, OP_NOT_VSPACE, OP_NOT_WHITESPACE, OP_NOT_WORD_BOUNDARY, OP_NOT_WORDCHAR, OP_NOTEXACT, OP_NOTMINPLUS, OP_NOTMINQUERY, OP_NOTMINSTAR, OP_NOTMINUPTO, OP_NOTPLUS, OP_NOTPOSPLUS, OP_NOTPOSQUERY, OP_NOTPOSSTAR, OP_NOTPOSUPTO, OP_NOTPROP, OP_NOTQUERY, OP_NOTSTAR, OP_NOTUPTO, OP_ONCE, OP_OPT, OP_PLUS, OP_POSPLUS, OP_POSQUERY, OP_POSSTAR, OP_POSUPTO, OP_PROP, OP_PROP_EXTRA, OP_QUERY, OP_RECURSE, OP_REVERSE, OP_RREF, OP_SBRA, OP_SCBRA, OP_SCOND, OP_SKIPZERO, OP_SOD, OP_SOM, OP_STAR, 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_VSPACE, OP_VSPACE_EXTRA, OP_WHITESPACE, OP_WORD_BOUNDARY, OP_WORDCHAR, OP_XCLASS, p, pcre_callout_block::pattern_position, pchars(), PCRE_BSR_ANYCRLF, pcre_callout, PCRE_CASELESS, PCRE_DFA_RESTART, PCRE_DFA_SHORTEST, PCRE_ERROR_DFA_RECURSE, PCRE_ERROR_DFA_UCOND, PCRE_ERROR_DFA_UITEM, PCRE_ERROR_NOMATCH, PCRE_MULTILINE, PCRE_NOTBOL, PCRE_NOTEMPTY, PCRE_NOTEOL, PCRE_SPTR, PCRE_UTF8, dfa_match_data::poptions, PT_ANY, PT_GC, PT_LAMP, PT_PC, PT_SC, ptr, RREF_ANY, ucd_record::script, SP, dfa_match_data::start_code, pcre_callout_block::start_match, dfa_match_data::start_subject, pcre_callout_block::subject, pcre_callout_block::subject_length, dfa_match_data::tables, toptable1, toptable2, TRUE, UCD_CATEGORY, UCD_OTHERCASE, ucp_Ll, ucp_Lt, ucp_Lu, ucp_M, utf8, value, pcre_callout_block::version, WAS_NEWLINE, and x80.
Referenced by pcre_dfa_exec().
PCRE_EXP_DEFN int PCRE_CALL_CONVENTION pcre_dfa_exec | ( | const pcre * | argument_re, | |
const pcre_extra * | extra_data, | |||
const char * | subject, | |||
int | length, | |||
int | start_offset, | |||
int | options, | |||
int * | offsets, | |||
int | offsetcount, | |||
int * | workspace, | |||
int | wscount | |||
) |
Definition at line 2509 of file pcre_dfa_exec.c.
References _pcre_default_tables, _pcre_try_flipped(), _pcre_valid_utf8(), anchored(), c, dfa_match_data::callout_data, pcre_extra::callout_data, dfa_match_data::end_subject, FALSE, fcc_offset, real_pcre::first_byte, pcre_extra::flags, flags, real_pcre::flags, if(), internal_dfa_exec(), IS_NEWLINE, lcc_offset, MAGIC_NUMBER, real_pcre::magic_number, dfa_match_data::moptions, real_pcre::name_count, real_pcre::name_entry_size, real_pcre::name_table_offset, NEWLINE, newline, dfa_match_data::nl, dfa_match_data::nllen, dfa_match_data::nltype, NLTYPE_ANY, NLTYPE_ANYCRLF, NLTYPE_FIXED, NULL, pcre_study_data::options, real_pcre::options, p, PCRE_ANCHORED, PCRE_BSR_ANYCRLF, PCRE_BSR_UNICODE, PCRE_CASELESS, PCRE_DFA_RESTART, PCRE_DOTALL, PCRE_ERROR_BADCOUNT, PCRE_ERROR_BADMAGIC, PCRE_ERROR_BADNEWLINE, PCRE_ERROR_BADOPTION, PCRE_ERROR_BADUTF8, PCRE_ERROR_BADUTF8_OFFSET, PCRE_ERROR_DFA_UMLIMIT, PCRE_ERROR_DFA_WSSIZE, PCRE_ERROR_NOMATCH, PCRE_ERROR_NULL, PCRE_EXTRA_CALLOUT_DATA, PCRE_EXTRA_MATCH_LIMIT, PCRE_EXTRA_MATCH_LIMIT_RECURSION, PCRE_EXTRA_STUDY_DATA, PCRE_EXTRA_TABLES, PCRE_FIRSTLINE, PCRE_FIRSTSET, PCRE_HASCRORLF, PCRE_MULTILINE, PCRE_NEWLINE_ANY, PCRE_NEWLINE_ANYCRLF, PCRE_NEWLINE_BITS, PCRE_NEWLINE_CR, PCRE_NEWLINE_LF, PCRE_NO_UTF8_CHECK, PCRE_PARTIAL, PCRE_REQCHSET, PCRE_STARTLINE, PCRE_STUDY_MAPPED, PCRE_UTF8, dfa_match_data::poptions, PUBLIC_DFA_EXEC_OPTIONS, real_pcre::req_byte, REQ_BYTE_MAX, REQ_CASELESS, pcre_study_data::start_bits, dfa_match_data::start_code, dfa_match_data::start_subject, pcre_extra::study_data, t, pcre_extra::tables, dfa_match_data::tables, real_pcre::tables, TRUE, USPTR, utf8, WAS_NEWLINE, and x80.
Initial value:
{ 0, 0, 0, 0, 0, 0, ctype_digit, ctype_digit, ctype_space, ctype_space, ctype_word, ctype_word, 0, 0 }
Definition at line 141 of file pcre_dfa_exec.c.
Referenced by internal_dfa_exec().
Initial value:
{ 0, 0, 0, 0, 0, 0, ctype_digit, 0, ctype_space, 0, ctype_word, 0, 1, 1 }
Definition at line 149 of file pcre_dfa_exec.c.
Referenced by internal_dfa_exec().