#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().
1.5.1