X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/6bda09f9db748451f9bb2b0d8c798ce595a6609c..f9faeafccd43fe415773256f1becd34b66408086:/regcomp.h diff --git a/regcomp.h b/regcomp.h index 183420f..f7082bf 100644 --- a/regcomp.h +++ b/regcomp.h @@ -15,6 +15,12 @@ typedef OP OP_4tree; /* Will be redefined later. */ #define PERL_ENABLE_EXTENDED_TRIE_OPTIMISATION 1 #define PERL_ENABLE_POSITIVE_ASSERTION_STUDY 1 #define PERL_ENABLE_EXPERIMENTAL_REGEX_OPTIMISATIONS 0 +/* Unless the next line is uncommented it is illegal to combine lazy + matching with possessive matching. Frankly it doesn't make much sense + to allow it as X*?+ matches nothing, X+?+ matches a single char only, + and X{min,max}?+ matches min times only. + */ +/* #define REG_ALLOW_MINMOD_SUSPEND */ /* * The "internal use only" fields in regexp.h are present to pass info from @@ -344,6 +350,7 @@ struct regnode_charclass_class { /* has [[:blah:]] classes */ #define REG_SEEN_CANY 0x00000010 #define REG_SEEN_SANY REG_SEEN_CANY /* src bckwrd cmpt */ #define REG_SEEN_RECURSE 0x00000020 +#define REG_TOP_LEVEL_BRANCHES 0x00000040 START_EXTERN_C @@ -412,6 +419,7 @@ END_EXTERN_C * in the character class * t - trie struct * T - aho-trie struct + * S - sv for named capture lookup * 20010712 mjd@plover.com * (Remember to update re_dup() and pregfree() if you add any items.) */ @@ -511,7 +519,8 @@ struct _reg_trie_data { for the node following a given word. */ U16 *nextword; /* optional 1 indexed array to support linked list of duplicate wordnums */ - U32 laststate; /* Build only */ + U32 statecount; /* Build only - number of states in the states array + (including the unused zero state) */ U32 wordcount; /* Build only */ #ifdef DEBUGGING STRLEN charcount; /* Build only */