perltodo: more vtable musings
[p5sagit/p5-mst-13.2.git] / regcomp.h
index 1a0916a..fae3386 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -7,6 +7,7 @@
  *    License or the Artistic License, as specified in the README file.
  *
  */
+#include "regcharclass.h"
 
 typedef OP OP_4tree;                   /* Will be redefined later. */
 
@@ -177,7 +178,7 @@ struct regnode_2 {
 
 
 #define ANYOF_BITMAP_SIZE      32      /* 256 b/(8 b/B) */
-#define ANYOF_CLASSBITMAP_SIZE  4      /* up to 32 (8*4) named classes */
+#define ANYOF_CLASSBITMAP_SIZE  4      /* up to 40 (8*5) named classes */
 
 /* also used by trie */
 struct regnode_charclass {
@@ -345,6 +346,14 @@ struct regnode_charclass_class {   /* has [[:blah:]] classes */
 
 #define ANYOF_MAX      32
 
+/* pseudo classes, not stored in the class bitmap, but used as flags
+   during compilation of char classes */
+
+#define ANYOF_VERTWS   (ANYOF_MAX+1)
+#define ANYOF_NVERTWS  (ANYOF_MAX+2)
+#define ANYOF_HORIZWS  (ANYOF_MAX+3)
+#define ANYOF_NHORIZWS (ANYOF_MAX+4)
+
 /* Backward source code compatibility. */
 
 #define ANYOF_ALNUML    ANYOF_ALNUM
@@ -444,6 +453,8 @@ EXTCONST U8 PL_simple[] = {
     SPACE,     SPACEL,
     NSPACE,    NSPACEL,
     DIGIT,     NDIGIT,
+    VERTWS,     NVERTWS,
+    HORIZWS,    NHORIZWS,
     0
 };
 #endif
@@ -454,13 +465,16 @@ EXTCONST regexp_engine PL_core_reg_engine;
 #else /* DOINIT */
 EXTCONST regexp_engine PL_core_reg_engine = { 
         Perl_re_compile,
-        Perl_regexec_flags, 
+        Perl_regexec_flags,
         Perl_re_intuit_start,
         Perl_re_intuit_string, 
-        Perl_regfree_internal, 
-        Perl_reg_numbered_buff_get,
-        Perl_reg_named_buff_get,
-        Perl_reg_qr_pkg,
+        Perl_regfree_internal,
+        Perl_reg_numbered_buff_fetch,
+        Perl_reg_numbered_buff_store,
+        Perl_reg_numbered_buff_length,
+        Perl_reg_named_buff,
+        Perl_reg_named_buff_iter,
+        Perl_reg_qr_package,
 #if defined(USE_ITHREADS)        
         Perl_regdupe_internal
 #endif        
@@ -799,3 +813,4 @@ re.pm, especially to the documentation.
 #endif /* DEBUG RELATED DEFINES */
 
 
+