/[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 447 by ph10, Tue Sep 15 18:17:54 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 1567  typedef struct recursion_info { Line 1579  typedef struct recursion_info {
1579    USPTR save_start;             /* Old value of mstart */    USPTR save_start;             /* Old value of mstart */
1580    int *offset_save;             /* Pointer to start of saved offsets */    int *offset_save;             /* Pointer to start of saved offsets */
1581    int saved_max;                /* Number of saved offsets */    int saved_max;                /* Number of saved offsets */
1582      int offset_top;               /* Current value of offset_top */
1583  } recursion_info;  } recursion_info;
1584    
1585  /* 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 1614  typedef struct match_data {
1614    BOOL   jscript_compat;        /* JAVASCRIPT_COMPAT flag */    BOOL   jscript_compat;        /* JAVASCRIPT_COMPAT flag */
1615    BOOL   endonly;               /* Dollar not before final \n */    BOOL   endonly;               /* Dollar not before final \n */
1616    BOOL   notempty;              /* Empty string match not wanted */    BOOL   notempty;              /* Empty string match not wanted */
1617    int    partial;               /* PARTIAL options */    BOOL   notempty_atstart;      /* Empty string match at start not wanted */
1618    BOOL   hitend;                /* Hit the end of the subject at some point */    BOOL   hitend;                /* Hit the end of the subject at some point */
1619    BOOL   bsr_anycrlf;           /* \R is just any CRLF, not full Unicode */    BOOL   bsr_anycrlf;           /* \R is just any CRLF, not full Unicode */
1620    const uschar *start_code;     /* For use when recursing */    const uschar *start_code;     /* For use when recursing */
# Line 1609  typedef struct match_data { Line 1622  typedef struct match_data {
1622    USPTR  end_subject;           /* End of the subject string */    USPTR  end_subject;           /* End of the subject string */
1623    USPTR  start_match_ptr;       /* Start of matched string */    USPTR  start_match_ptr;       /* Start of matched string */
1624    USPTR  end_match_ptr;         /* Subject position at end match */    USPTR  end_match_ptr;         /* Subject position at end match */
1625      USPTR  start_used_ptr;        /* Earliest consulted character */
1626      int    partial;               /* PARTIAL options */
1627    int    end_offset_top;        /* Highwater mark at end of match */    int    end_offset_top;        /* Highwater mark at end of match */
1628    int    capture_last;          /* Most recent capture number */    int    capture_last;          /* Most recent capture number */
1629    int    start_offset;          /* The start offset value */    int    start_offset;          /* The start offset value */
# Line 1625  typedef struct dfa_match_data { Line 1640  typedef struct dfa_match_data {
1640    const uschar *start_code;     /* Start of the compiled pattern */    const uschar *start_code;     /* Start of the compiled pattern */
1641    const uschar *start_subject;  /* Start of the subject string */    const uschar *start_subject;  /* Start of the subject string */
1642    const uschar *end_subject;    /* End of subject string */    const uschar *end_subject;    /* End of subject string */
1643      const uschar *start_used_ptr; /* Earliest consulted character */
1644    const uschar *tables;         /* Character tables */    const uschar *tables;         /* Character tables */
1645      int   start_offset;           /* The start offset value */
1646    int   moptions;               /* Match options */    int   moptions;               /* Match options */
1647    int   poptions;               /* Pattern options */    int   poptions;               /* Pattern options */
1648    int    nltype;                /* Newline type */    int    nltype;                /* Newline type */

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

  ViewVC Help
Powered by ViewVC 1.1.5