diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2006-04-16 23:30:36 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2006-04-16 23:30:36 +0000 |
commit | 77cb431f8c908a31b286bd0ba26649cb6041bd72 (patch) | |
tree | af874bc3fae848d84f4eacb116fd232866e50890 /regexp.h | |
parent | 86545054c8c657e55c285668ee20752b2f2574b8 (diff) | |
download | perl-77cb431f8c908a31b286bd0ba26649cb6041bd72.tar.gz |
generalize the 'continue on success' mechanism of deferred REs
p4raw-id: //depot/perl@27855
Diffstat (limited to 'regexp.h')
-rw-r--r-- | regexp.h | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -214,20 +214,26 @@ typedef struct regmatch_state { I32 ln; /* len or last */ union { + + /* this is a fake union member that matches the first element + * of each member that needs to store positive backtrack + * information */ + struct { + struct regmatch_state *prev_yes_state; + } yes; + struct { reg_trie_accepted *accept_buff; U32 accepted; /* how many accepting states we have seen */ } trie; struct { + /* this first element must match u.yes */ + struct regmatch_state *prev_yes_state; regexp *prev_rex; int toggleutf; CHECKPOINT cp; /* remember current savestack indexes */ CHECKPOINT lastcp; - struct regmatch_state *prev_eval; /* save cur_eval */ - struct regmatch_slab *prev_slab; - int depth; - } eval; struct { |