Perlreapi

PERLREAPI(1) Perl Programmers Reference Guide PERLREAPI(1)

Perlreapi

PERLREAPI(1) Perl Programmers Reference Guide PERLREAPI(1) # PERLREAPI(1) Perl Programmers Reference Guide PERLREAPI(1) NNAAMMEE # perlreapi - Perl regular expression plugin interface DDEESSCCRRIIPPTTIIOONN # As of Perl 5.9.5 there is a new interface for plugging and using regular expression engines other than the default one. Each engine is supposed to provide access to a constant structure of the following format: typedef struct regexp_engine { REGEXP* (*comp) (pTHX_ const SV * const pattern, const U32 flags); I32 (*exec) (pTHX_ REGEXP * const rx, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* sv, void* data, U32 flags); char* (*intuit) (pTHX_ REGEXP * const rx, SV *sv, const char * const strbeg, char *strpos, char *strend, U32 flags, struct re_scream_pos_data_s *data); SV* (*checkstr) (pTHX_ REGEXP * const rx); void (*free) (pTHX_ REGEXP * const rx); void (*numbered_buff_FETCH) (pTHX_ REGEXP * const rx, const I32 paren, SV * const sv); void (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren, SV const * const value); I32 (*numbered_buff_LENGTH) (pTHX_ REGEXP * const rx, const SV * const sv, const I32 paren); SV* (*named_buff) (pTHX_ REGEXP * const rx, SV * const key, SV * const value, U32 flags); SV* (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags); SV* (*qr_package)(pTHX_ REGEXP * const rx); #ifdef USE_ITHREADS void* (*dupe) (pTHX_ REGEXP * const rx, CLONE_PARAMS *param); #endif REGEXP* (*op_comp) (. ...