diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2006-10-05 16:05:57 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2006-10-05 16:05:57 +0000 |
commit | 24d3c4a93ab7de680c4eca99f7e2d7618f34abb0 (patch) | |
tree | 72b0d399f08344cf9015ec2f1c7754caa9bb63b6 /regexp.h | |
parent | c476f4254aaf06aafc9c81d98ebc185b60699523 (diff) | |
download | perl-24d3c4a93ab7de680c4eca99f7e2d7618f34abb0.tar.gz |
remove REGMATCH detritus and shrink the size of the backtrack structure
p4raw-id: //depot/perl@28945
Diffstat (limited to 'regexp.h')
-rw-r--r-- | regexp.h | 18 |
1 files changed, 2 insertions, 16 deletions
@@ -211,23 +211,8 @@ typedef struct { typedef I32 CHECKPOINT; typedef struct regmatch_state { - - /* these vars contain state that needs to be maintained - * across the main while loop ... */ - int resume_state; /* where to jump to on return */ - regnode *scan; /* Current node. */ - regnode *next; /* Next node. */ - bool minmod; /* the next "{n,m}" is a "{n,m}?" */ - bool sw; /* the condition value in (?(cond)a|b) */ - int logical; - I32 unwind; /* savestack index of current unwind block */ - char *locinput; - - /* ... while the rest of these are local to an individual branch */ - - I32 n; /* no or next */ - I32 ln; /* len or last */ + char *locinput; /* where to backtrack in string on failure */ union { @@ -321,6 +306,7 @@ typedef struct regmatch_state { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; I32 wanted; + I32 logical; /* saved copy of 'logical' var */ regnode *me; /* the IFMATCH/SUSPEND/UNLESSM node */ } ifmatch; /* and SUSPEND/UNLESSM */ } u; |