/[pcre]/code/trunk/pcre_internal.h
ViewVC logotype

Diff of /code/trunk/pcre_internal.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 427 by ph10, Fri Aug 28 09:55:54 2009 UTC revision 454 by ph10, Tue Sep 22 09:42:11 2009 UTC
# Line 564  time, run time, or study time, respectiv Line 564  time, run time, or study time, respectiv
564     PCRE_JAVASCRIPT_COMPAT)     PCRE_JAVASCRIPT_COMPAT)
565    
566  #define PUBLIC_EXEC_OPTIONS \  #define PUBLIC_EXEC_OPTIONS \
567    (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK| \    (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NOTEMPTY_ATSTART| \
568     PCRE_PARTIAL_HARD|PCRE_PARTIAL_SOFT|PCRE_NEWLINE_BITS|PCRE_BSR_ANYCRLF| \     PCRE_NO_UTF8_CHECK|PCRE_PARTIAL_HARD|PCRE_PARTIAL_SOFT|PCRE_NEWLINE_BITS| \
569     PCRE_BSR_UNICODE|PCRE_NO_START_OPTIMIZE)     PCRE_BSR_ANYCRLF|PCRE_BSR_UNICODE|PCRE_NO_START_OPTIMIZE)
570    
571  #define PUBLIC_DFA_EXEC_OPTIONS \  #define PUBLIC_DFA_EXEC_OPTIONS \
572    (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK| \    (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NOTEMPTY_ATSTART| \
573     PCRE_PARTIAL_HARD|PCRE_PARTIAL_SOFT|PCRE_DFA_SHORTEST|PCRE_DFA_RESTART| \     PCRE_NO_UTF8_CHECK|PCRE_PARTIAL_HARD|PCRE_PARTIAL_SOFT|PCRE_DFA_SHORTEST| \
574     PCRE_NEWLINE_BITS|PCRE_BSR_ANYCRLF|PCRE_BSR_UNICODE|PCRE_NO_START_OPTIMIZE)     PCRE_DFA_RESTART|PCRE_NEWLINE_BITS|PCRE_BSR_ANYCRLF|PCRE_BSR_UNICODE| \
575       PCRE_NO_START_OPTIMIZE)
576    
577  #define PUBLIC_STUDY_OPTIONS 0   /* None defined */  #define PUBLIC_STUDY_OPTIONS 0   /* None defined */
578    
# Line 1363  enum { Line 1364  enum {
1364    
1365    OP_FAIL,           /* 109 */    OP_FAIL,           /* 109 */
1366    OP_ACCEPT,         /* 110 */    OP_ACCEPT,         /* 110 */
1367      OP_CLOSE,          /* 111 Used before OP_ACCEPT to close open captures */
1368    
1369    /* This is used to skip a subpattern with a {0} quantifier */    /* This is used to skip a subpattern with a {0} quantifier */
1370    
1371    OP_SKIPZERO        /* 111 */    OP_SKIPZERO        /* 112 */
1372  };  };
1373    
1374    
# Line 1392  for debugging. The macro is referenced o Line 1394  for debugging. The macro is referenced o
1394    "Once", "Bra", "CBra", "Cond", "SBra", "SCBra", "SCond",        \    "Once", "Bra", "CBra", "Cond", "SBra", "SCBra", "SCond",        \
1395    "Cond ref", "Cond rec", "Cond def", "Brazero", "Braminzero",    \    "Cond ref", "Cond rec", "Cond def", "Brazero", "Braminzero",    \
1396    "*PRUNE", "*SKIP", "*THEN", "*COMMIT", "*FAIL", "*ACCEPT",      \    "*PRUNE", "*SKIP", "*THEN", "*COMMIT", "*FAIL", "*ACCEPT",      \
1397    "Skip zero"    "Close", "Skip zero"
1398    
1399    
1400  /* This macro defines the length of fixed length operations in the compiled  /* This macro defines the length of fixed length operations in the compiled
# Line 1457  in UTF-8 mode. The code that uses this t Line 1459  in UTF-8 mode. The code that uses this t
1459    1,                             /* DEF                                    */ \    1,                             /* DEF                                    */ \
1460    1, 1,                          /* BRAZERO, BRAMINZERO                    */ \    1, 1,                          /* BRAZERO, BRAMINZERO                    */ \
1461    1, 1, 1, 1,                    /* PRUNE, SKIP, THEN, COMMIT,             */ \    1, 1, 1, 1,                    /* PRUNE, SKIP, THEN, COMMIT,             */ \
1462    1, 1, 1                        /* FAIL, ACCEPT, SKIPZERO                 */    1, 1, 3, 1                     /* FAIL, ACCEPT, CLOSE, SKIPZERO          */
1463    
1464    
1465  /* A magic value for OP_RREF to indicate the "any recursion" condition. */  /* A magic value for OP_RREF to indicate the "any recursion" condition. */
# Line 1520  typedef struct pcre_study_data { Line 1522  typedef struct pcre_study_data {
1522    uschar start_bits[32];    uschar start_bits[32];
1523  } pcre_study_data;  } pcre_study_data;
1524    
1525    /* Structure for building a chain of open capturing subpatterns during
1526    compiling, so that instructions to close them can be compiled when (*ACCEPT) is
1527    encountered. */
1528    
1529    typedef struct open_capitem {
1530      struct open_capitem *next;    /* Chain link */
1531      pcre_uint16 number;           /* Capture number */
1532    } open_capitem;
1533    
1534  /* Structure for passing "static" information around between the functions  /* Structure for passing "static" information around between the functions
1535  doing the compiling, so that they are thread-safe. */  doing the compiling, so that they are thread-safe. */
1536    
# Line 1532  typedef struct compile_data { Line 1543  typedef struct compile_data {
1543    const uschar *start_code;     /* The start of the compiled code */    const uschar *start_code;     /* The start of the compiled code */
1544    const uschar *start_pattern;  /* The start of the pattern */    const uschar *start_pattern;  /* The start of the pattern */
1545    const uschar *end_pattern;    /* The end of the pattern */    const uschar *end_pattern;    /* The end of the pattern */
1546      open_capitem *open_caps;      /* Chain of open capture items */
1547    uschar *hwm;                  /* High watermark of workspace */    uschar *hwm;                  /* High watermark of workspace */
1548    uschar *name_table;           /* The name/number table */    uschar *name_table;           /* The name/number table */
1549    int  names_found;             /* Number of entries so far */    int  names_found;             /* Number of entries so far */
# Line 1544  typedef struct compile_data { Line 1556  typedef struct compile_data {
1556    int  external_flags;          /* External flag bits to be set */    int  external_flags;          /* External flag bits to be set */
1557    int  req_varyopt;             /* "After variable item" flag for reqbyte */    int  req_varyopt;             /* "After variable item" flag for reqbyte */
1558    BOOL had_accept;              /* (*ACCEPT) encountered */    BOOL had_accept;              /* (*ACCEPT) encountered */
1559      BOOL check_lookbehind;        /* Lookbehinds need later checking */
1560    int  nltype;                  /* Newline type */    int  nltype;                  /* Newline type */
1561    int  nllen;                   /* Newline string length */    int  nllen;                   /* Newline string length */
1562    uschar nl[4];                 /* Newline string when fixed length */    uschar nl[4];                 /* Newline string when fixed length */
# Line 1567  typedef struct recursion_info { Line 1580  typedef struct recursion_info {
1580    USPTR save_start;             /* Old value of mstart */    USPTR save_start;             /* Old value of mstart */
1581    int *offset_save;             /* Pointer to start of saved offsets */    int *offset_save;             /* Pointer to start of saved offsets */
1582    int saved_max;                /* Number of saved offsets */    int saved_max;                /* Number of saved offsets */
1583      int offset_top;               /* Current value of offset_top */
1584  } recursion_info;  } recursion_info;
1585    
1586  /* Structure for building a chain of data for holding the values of the subject  /* Structure for building a chain of data for holding the values of the subject
# Line 1601  typedef struct match_data { Line 1615  typedef struct match_data {
1615    BOOL   jscript_compat;        /* JAVASCRIPT_COMPAT flag */    BOOL   jscript_compat;        /* JAVASCRIPT_COMPAT flag */
1616    BOOL   endonly;               /* Dollar not before final \n */    BOOL   endonly;               /* Dollar not before final \n */
1617    BOOL   notempty;              /* Empty string match not wanted */    BOOL   notempty;              /* Empty string match not wanted */
1618    int    partial;               /* PARTIAL options */    BOOL   notempty_atstart;      /* Empty string match at start not wanted */
1619    BOOL   hitend;                /* Hit the end of the subject at some point */    BOOL   hitend;                /* Hit the end of the subject at some point */
1620    BOOL   bsr_anycrlf;           /* \R is just any CRLF, not full Unicode */    BOOL   bsr_anycrlf;           /* \R is just any CRLF, not full Unicode */
1621    const uschar *start_code;     /* For use when recursing */    const uschar *start_code;     /* For use when recursing */
# Line 1609  typedef struct match_data { Line 1623  typedef struct match_data {
1623    USPTR  end_subject;           /* End of the subject string */    USPTR  end_subject;           /* End of the subject string */
1624    USPTR  start_match_ptr;       /* Start of matched string */    USPTR  start_match_ptr;       /* Start of matched string */
1625    USPTR  end_match_ptr;         /* Subject position at end match */    USPTR  end_match_ptr;         /* Subject position at end match */
1626      USPTR  start_used_ptr;        /* Earliest consulted character */
1627      int    partial;               /* PARTIAL options */
1628    int    end_offset_top;        /* Highwater mark at end of match */    int    end_offset_top;        /* Highwater mark at end of match */
1629    int    capture_last;          /* Most recent capture number */    int    capture_last;          /* Most recent capture number */
1630    int    start_offset;          /* The start offset value */    int    start_offset;          /* The start offset value */
# Line 1625  typedef struct dfa_match_data { Line 1641  typedef struct dfa_match_data {
1641    const uschar *start_code;     /* Start of the compiled pattern */    const uschar *start_code;     /* Start of the compiled pattern */
1642    const uschar *start_subject;  /* Start of the subject string */    const uschar *start_subject;  /* Start of the subject string */
1643    const uschar *end_subject;    /* End of subject string */    const uschar *end_subject;    /* End of subject string */
1644      const uschar *start_used_ptr; /* Earliest consulted character */
1645    const uschar *tables;         /* Character tables */    const uschar *tables;         /* Character tables */
1646      int   start_offset;           /* The start offset value */
1647    int   moptions;               /* Match options */    int   moptions;               /* Match options */
1648    int   poptions;               /* Pattern options */    int   poptions;               /* Pattern options */
1649    int    nltype;                /* Newline type */    int    nltype;                /* Newline type */

Legend:
Removed from v.427  
changed lines
  Added in v.454

  ViewVC Help
Powered by ViewVC 1.1.5