[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/i586-linux-thread-multi/CORE/ -> regnodes.h (source)

   1  /* -*- buffer-read-only: t -*-
   2     !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
   3     This file is built by regcomp.pl from regcomp.sym.
   4     Any changes made here will be lost!
   5  */
   6  
   7  /* Regops and State definitions */
   8  
   9  #define REGNODE_MAX               90
  10  #define REGMATCH_STATE_MAX        130
  11  
  12  #define    END                       0    /* 0000 End of program. */
  13  #define    SUCCEED                   1    /* 0x01 Return from a subroutine, basically. */
  14  #define    BOL                       2    /* 0x02 Match "" at beginning of line. */
  15  #define    MBOL                      3    /* 0x03 Same, assuming multiline. */
  16  #define    SBOL                      4    /* 0x04 Same, assuming singleline. */
  17  #define    EOS                       5    /* 0x05 Match "" at end of string. */
  18  #define    EOL                       6    /* 0x06 Match "" at end of line. */
  19  #define    MEOL                      7    /* 0x07 Same, assuming multiline. */
  20  #define    SEOL                      8    /* 0x08 Same, assuming singleline. */
  21  #define    BOUND                     9    /* 0x09 Match "" at any word boundary */
  22  #define    BOUNDL                    10    /* 0x0a Match "" at any word boundary */
  23  #define    NBOUND                    11    /* 0x0b Match "" at any word non-boundary */
  24  #define    NBOUNDL                   12    /* 0x0c Match "" at any word non-boundary */
  25  #define    GPOS                      13    /* 0x0d Matches where last m//g left off. */
  26  #define    REG_ANY                   14    /* 0x0e Match any one character (except newline). */
  27  #define    SANY                      15    /* 0x0f Match any one character. */
  28  #define    CANY                      16    /* 0x10 Match any one byte. */
  29  #define    ANYOF                     17    /* 0x11 Match character in (or not in) this class. */
  30  #define    ALNUM                     18    /* 0x12 Match any alphanumeric character */
  31  #define    ALNUML                    19    /* 0x13 Match any alphanumeric char in locale */
  32  #define    NALNUM                    20    /* 0x14 Match any non-alphanumeric character */
  33  #define    NALNUML                   21    /* 0x15 Match any non-alphanumeric char in locale */
  34  #define    SPACE                     22    /* 0x16 Match any whitespace character */
  35  #define    SPACEL                    23    /* 0x17 Match any whitespace char in locale */
  36  #define    NSPACE                    24    /* 0x18 Match any non-whitespace character */
  37  #define    NSPACEL                   25    /* 0x19 Match any non-whitespace char in locale */
  38  #define    DIGIT                     26    /* 0x1a Match any numeric character */
  39  #define    DIGITL                    27    /* 0x1b Match any numeric character in locale */
  40  #define    NDIGIT                    28    /* 0x1c Match any non-numeric character */
  41  #define    NDIGITL                   29    /* 0x1d Match any non-numeric character in locale */
  42  #define    CLUMP                     30    /* 0x1e Match any combining character sequence */
  43  #define    BRANCH                    31    /* 0x1f Match this alternative, or the next... */
  44  #define    BACK                      32    /* 0x20 Match "", "next" ptr points backward. */
  45  #define    EXACT                     33    /* 0x21 Match this string (preceded by length). */
  46  #define    EXACTF                    34    /* 0x22 Match this string, folded (prec. by length). */
  47  #define    EXACTFL                   35    /* 0x23 Match this string, folded in locale (w/len). */
  48  #define    NOTHING                   36    /* 0x24 Match empty string. */
  49  #define    TAIL                      37    /* 0x25 Match empty string. Can jump here from outside. */
  50  #define    STAR                      38    /* 0x26 Match this (simple) thing 0 or more times. */
  51  #define    PLUS                      39    /* 0x27 Match this (simple) thing 1 or more times. */
  52  #define    CURLY                     40    /* 0x28 Match this simple thing {n,m} times. */
  53  #define    CURLYN                    41    /* 0x29 Capture next-after-this simple thing */
  54  #define    CURLYM                    42    /* 0x2a Capture this medium-complex thing {n,m} times. */
  55  #define    CURLYX                    43    /* 0x2b Match this complex thing {n,m} times. */
  56  #define    WHILEM                    44    /* 0x2c Do curly processing and see if rest matches. */
  57  #define    OPEN                      45    /* 0x2d Mark this point in input as start of */
  58  #define    CLOSE                     46    /* 0x2e Analogous to OPEN. */
  59  #define    REF                       47    /* 0x2f Match some already matched string */
  60  #define    REFF                      48    /* 0x30 Match already matched string, folded */
  61  #define    REFFL                     49    /* 0x31 Match already matched string, folded in loc. */
  62  #define    IFMATCH                   50    /* 0x32 Succeeds if the following matches. */
  63  #define    UNLESSM                   51    /* 0x33 Fails if the following matches. */
  64  #define    SUSPEND                   52    /* 0x34 "Independent" sub-RE. */
  65  #define    IFTHEN                    53    /* 0x35 Switch, should be preceeded by switcher . */
  66  #define    GROUPP                    54    /* 0x36 Whether the group matched. */
  67  #define    LONGJMP                   55    /* 0x37 Jump far away. */
  68  #define    BRANCHJ                   56    /* 0x38 BRANCH with long offset. */
  69  #define    EVAL                      57    /* 0x39 Execute some Perl code. */
  70  #define    MINMOD                    58    /* 0x3a Next operator is not greedy. */
  71  #define    LOGICAL                   59    /* 0x3b Next opcode should set the flag only. */
  72  #define    RENUM                     60    /* 0x3c Group with independently numbered parens. */
  73  #define    TRIE                      61    /* 0x3d Match many EXACT(FL?)? at once. flags==type */
  74  #define    TRIEC                     62    /* 0x3e Same as TRIE, but with embedded charclass data */
  75  #define    AHOCORASICK               63    /* 0x3f Aho Corasick stclass. flags==type */
  76  #define    AHOCORASICKC              64    /* 0x40 Same as AHOCORASICK, but with embedded charclass data */
  77  #define    GOSUB                     65    /* 0x41 recurse to paren arg1 at (signed) ofs arg2 */
  78  #define    GOSTART                   66    /* 0x42 recurse to start of pattern */
  79  #define    NREF                      67    /* 0x43 Match some already matched string */
  80  #define    NREFF                     68    /* 0x44 Match already matched string, folded */
  81  #define    NREFFL                    69    /* 0x45 Match already matched string, folded in loc. */
  82  #define    NGROUPP                   70    /* 0x46 Whether the group matched. */
  83  #define    INSUBP                    71    /* 0x47 Whether we are in a specific recurse. */
  84  #define    DEFINEP                   72    /* 0x48 Never execute directly. */
  85  #define    ENDLIKE                   73    /* 0x49 Used only for the type field of verbs */
  86  #define    OPFAIL                    74    /* 0x4a Same as (?!) */
  87  #define    ACCEPT                    75    /* 0x4b Accepts the current matched string. */
  88  #define    VERB                      76    /* 0x4c    no-sv 1    Used only for the type field of verbs */
  89  #define    PRUNE                     77    /* 0x4d Pattern fails at this startpoint if no-backtracking through this */
  90  #define    MARKPOINT                 78    /* 0x4e Push the current location for rollback by cut. */
  91  #define    SKIP                      79    /* 0x4f On failure skip forward (to the mark) before retrying */
  92  #define    COMMIT                    80    /* 0x50 Pattern fails outright if backtracking through this */
  93  #define    CUTGROUP                  81    /* 0x51 On failure go to the next alternation in the group */
  94  #define    KEEPS                     82    /* 0x52 $& begins here. */
  95  #define    LNBREAK                   83    /* 0x53 generic newline pattern */
  96  #define    VERTWS                    84    /* 0x54 vertical whitespace         (Perl 6) */
  97  #define    NVERTWS                   85    /* 0x55 not vertical whitespace     (Perl 6) */
  98  #define    HORIZWS                   86    /* 0x56 horizontal whitespace       (Perl 6) */
  99  #define    NHORIZWS                  87    /* 0x57 not horizontal whitespace   (Perl 6) */
 100  #define    FOLDCHAR                  88    /* 0x58 codepoint with tricky case folding properties. */
 101  #define    OPTIMIZED                 89    /* 0x59 Placeholder for dump. */
 102  #define    PSEUDO                    90    /* 0x5a Pseudo opcode for internal use. */
 103      /* ------------ States ------------- */
 104  #define    TRIE_next                 (REGNODE_MAX + 1)    /* state for TRIE */
 105  #define    TRIE_next_fail            (REGNODE_MAX + 2)    /* state for TRIE */
 106  #define    EVAL_AB                   (REGNODE_MAX + 3)    /* state for EVAL */
 107  #define    EVAL_AB_fail              (REGNODE_MAX + 4)    /* state for EVAL */
 108  #define    CURLYX_end                (REGNODE_MAX + 5)    /* state for CURLYX */
 109  #define    CURLYX_end_fail           (REGNODE_MAX + 6)    /* state for CURLYX */
 110  #define    WHILEM_A_pre              (REGNODE_MAX + 7)    /* state for WHILEM */
 111  #define    WHILEM_A_pre_fail         (REGNODE_MAX + 8)    /* state for WHILEM */
 112  #define    WHILEM_A_min              (REGNODE_MAX + 9)    /* state for WHILEM */
 113  #define    WHILEM_A_min_fail         (REGNODE_MAX + 10)    /* state for WHILEM */
 114  #define    WHILEM_A_max              (REGNODE_MAX + 11)    /* state for WHILEM */
 115  #define    WHILEM_A_max_fail         (REGNODE_MAX + 12)    /* state for WHILEM */
 116  #define    WHILEM_B_min              (REGNODE_MAX + 13)    /* state for WHILEM */
 117  #define    WHILEM_B_min_fail         (REGNODE_MAX + 14)    /* state for WHILEM */
 118  #define    WHILEM_B_max              (REGNODE_MAX + 15)    /* state for WHILEM */
 119  #define    WHILEM_B_max_fail         (REGNODE_MAX + 16)    /* state for WHILEM */
 120  #define    BRANCH_next               (REGNODE_MAX + 17)    /* state for BRANCH */
 121  #define    BRANCH_next_fail          (REGNODE_MAX + 18)    /* state for BRANCH */
 122  #define    CURLYM_A                  (REGNODE_MAX + 19)    /* state for CURLYM */
 123  #define    CURLYM_A_fail             (REGNODE_MAX + 20)    /* state for CURLYM */
 124  #define    CURLYM_B                  (REGNODE_MAX + 21)    /* state for CURLYM */
 125  #define    CURLYM_B_fail             (REGNODE_MAX + 22)    /* state for CURLYM */
 126  #define    IFMATCH_A                 (REGNODE_MAX + 23)    /* state for IFMATCH */
 127  #define    IFMATCH_A_fail            (REGNODE_MAX + 24)    /* state for IFMATCH */
 128  #define    CURLY_B_min_known         (REGNODE_MAX + 25)    /* state for CURLY */
 129  #define    CURLY_B_min_known_fail    (REGNODE_MAX + 26)    /* state for CURLY */
 130  #define    CURLY_B_min               (REGNODE_MAX + 27)    /* state for CURLY */
 131  #define    CURLY_B_min_fail          (REGNODE_MAX + 28)    /* state for CURLY */
 132  #define    CURLY_B_max               (REGNODE_MAX + 29)    /* state for CURLY */
 133  #define    CURLY_B_max_fail          (REGNODE_MAX + 30)    /* state for CURLY */
 134  #define    COMMIT_next               (REGNODE_MAX + 31)    /* state for COMMIT */
 135  #define    COMMIT_next_fail          (REGNODE_MAX + 32)    /* state for COMMIT */
 136  #define    MARKPOINT_next            (REGNODE_MAX + 33)    /* state for MARKPOINT */
 137  #define    MARKPOINT_next_fail       (REGNODE_MAX + 34)    /* state for MARKPOINT */
 138  #define    SKIP_next                 (REGNODE_MAX + 35)    /* state for SKIP */
 139  #define    SKIP_next_fail            (REGNODE_MAX + 36)    /* state for SKIP */
 140  #define    CUTGROUP_next             (REGNODE_MAX + 37)    /* state for CUTGROUP */
 141  #define    CUTGROUP_next_fail        (REGNODE_MAX + 38)    /* state for CUTGROUP */
 142  #define    KEEPS_next                (REGNODE_MAX + 39)    /* state for KEEPS */
 143  #define    KEEPS_next_fail           (REGNODE_MAX + 40)    /* state for KEEPS */
 144  
 145  /* PL_regkind[] What type of regop or state is this. */
 146  
 147  #ifndef DOINIT
 148  EXTCONST U8 PL_regkind[];
 149  #else
 150  EXTCONST U8 PL_regkind[] = {
 151      END,          /* END                    */
 152      END,          /* SUCCEED                */
 153      BOL,          /* BOL                    */
 154      BOL,          /* MBOL                   */
 155      BOL,          /* SBOL                   */
 156      EOL,          /* EOS                    */
 157      EOL,          /* EOL                    */
 158      EOL,          /* MEOL                   */
 159      EOL,          /* SEOL                   */
 160      BOUND,        /* BOUND                  */
 161      BOUND,        /* BOUNDL                 */
 162      NBOUND,       /* NBOUND                 */
 163      NBOUND,       /* NBOUNDL                */
 164      GPOS,         /* GPOS                   */
 165      REG_ANY,      /* REG_ANY                */
 166      REG_ANY,      /* SANY                   */
 167      REG_ANY,      /* CANY                   */
 168      ANYOF,        /* ANYOF                  */
 169      ALNUM,        /* ALNUM                  */
 170      ALNUM,        /* ALNUML                 */
 171      NALNUM,       /* NALNUM                 */
 172      NALNUM,       /* NALNUML                */
 173      SPACE,        /* SPACE                  */
 174      SPACE,        /* SPACEL                 */
 175      NSPACE,       /* NSPACE                 */
 176      NSPACE,       /* NSPACEL                */
 177      DIGIT,        /* DIGIT                  */
 178      DIGIT,        /* DIGITL                 */
 179      NDIGIT,       /* NDIGIT                 */
 180      NDIGIT,       /* NDIGITL                */
 181      CLUMP,        /* CLUMP                  */
 182      BRANCH,       /* BRANCH                 */
 183      BACK,         /* BACK                   */
 184      EXACT,        /* EXACT                  */
 185      EXACT,        /* EXACTF                 */
 186      EXACT,        /* EXACTFL                */
 187      NOTHING,      /* NOTHING                */
 188      NOTHING,      /* TAIL                   */
 189      STAR,         /* STAR                   */
 190      PLUS,         /* PLUS                   */
 191      CURLY,        /* CURLY                  */
 192      CURLY,        /* CURLYN                 */
 193      CURLY,        /* CURLYM                 */
 194      CURLY,        /* CURLYX                 */
 195      WHILEM,       /* WHILEM                 */
 196      OPEN,         /* OPEN                   */
 197      CLOSE,        /* CLOSE                  */
 198      REF,          /* REF                    */
 199      REF,          /* REFF                   */
 200      REF,          /* REFFL                  */
 201      BRANCHJ,      /* IFMATCH                */
 202      BRANCHJ,      /* UNLESSM                */
 203      BRANCHJ,      /* SUSPEND                */
 204      BRANCHJ,      /* IFTHEN                 */
 205      GROUPP,       /* GROUPP                 */
 206      LONGJMP,      /* LONGJMP                */
 207      BRANCHJ,      /* BRANCHJ                */
 208      EVAL,         /* EVAL                   */
 209      MINMOD,       /* MINMOD                 */
 210      LOGICAL,      /* LOGICAL                */
 211      BRANCHJ,      /* RENUM                  */
 212      TRIE,         /* TRIE                   */
 213      TRIE,         /* TRIEC                  */
 214      TRIE,         /* AHOCORASICK            */
 215      TRIE,         /* AHOCORASICKC           */
 216      GOSUB,        /* GOSUB                  */
 217      GOSTART,      /* GOSTART                */
 218      REF,          /* NREF                   */
 219      REF,          /* NREFF                  */
 220      REF,          /* NREFFL                 */
 221      NGROUPP,      /* NGROUPP                */
 222      INSUBP,       /* INSUBP                 */
 223      DEFINEP,      /* DEFINEP                */
 224      ENDLIKE,      /* ENDLIKE                */
 225      ENDLIKE,      /* OPFAIL                 */
 226      ENDLIKE,      /* ACCEPT                 */
 227      VERB,         /* VERB                   */
 228      VERB,         /* PRUNE                  */
 229      VERB,         /* MARKPOINT              */
 230      VERB,         /* SKIP                   */
 231      VERB,         /* COMMIT                 */
 232      VERB,         /* CUTGROUP               */
 233      KEEPS,        /* KEEPS                  */
 234      LNBREAK,      /* LNBREAK                */
 235      VERTWS,       /* VERTWS                 */
 236      NVERTWS,      /* NVERTWS                */
 237      HORIZWS,      /* HORIZWS                */
 238      NHORIZWS,     /* NHORIZWS               */
 239      FOLDCHAR,     /* FOLDCHAR               */
 240      NOTHING,      /* OPTIMIZED              */
 241      PSEUDO,       /* PSEUDO                 */
 242      /* ------------ States ------------- */
 243      TRIE,         /* TRIE_next              */
 244      TRIE,         /* TRIE_next_fail         */
 245      EVAL,         /* EVAL_AB                */
 246      EVAL,         /* EVAL_AB_fail           */
 247      CURLYX,       /* CURLYX_end             */
 248      CURLYX,       /* CURLYX_end_fail        */
 249      WHILEM,       /* WHILEM_A_pre           */
 250      WHILEM,       /* WHILEM_A_pre_fail      */
 251      WHILEM,       /* WHILEM_A_min           */
 252      WHILEM,       /* WHILEM_A_min_fail      */
 253      WHILEM,       /* WHILEM_A_max           */
 254      WHILEM,       /* WHILEM_A_max_fail      */
 255      WHILEM,       /* WHILEM_B_min           */
 256      WHILEM,       /* WHILEM_B_min_fail      */
 257      WHILEM,       /* WHILEM_B_max           */
 258      WHILEM,       /* WHILEM_B_max_fail      */
 259      BRANCH,       /* BRANCH_next            */
 260      BRANCH,       /* BRANCH_next_fail       */
 261      CURLYM,       /* CURLYM_A               */
 262      CURLYM,       /* CURLYM_A_fail          */
 263      CURLYM,       /* CURLYM_B               */
 264      CURLYM,       /* CURLYM_B_fail          */
 265      IFMATCH,      /* IFMATCH_A              */
 266      IFMATCH,      /* IFMATCH_A_fail         */
 267      CURLY,        /* CURLY_B_min_known      */
 268      CURLY,        /* CURLY_B_min_known_fail */
 269      CURLY,        /* CURLY_B_min            */
 270      CURLY,        /* CURLY_B_min_fail       */
 271      CURLY,        /* CURLY_B_max            */
 272      CURLY,        /* CURLY_B_max_fail       */
 273      COMMIT,       /* COMMIT_next            */
 274      COMMIT,       /* COMMIT_next_fail       */
 275      MARKPOINT,    /* MARKPOINT_next         */
 276      MARKPOINT,    /* MARKPOINT_next_fail    */
 277      SKIP,         /* SKIP_next              */
 278      SKIP,         /* SKIP_next_fail         */
 279      CUTGROUP,     /* CUTGROUP_next          */
 280      CUTGROUP,     /* CUTGROUP_next_fail     */
 281      KEEPS,        /* KEEPS_next             */
 282      KEEPS,        /* KEEPS_next_fail        */
 283  };
 284  #endif
 285  
 286  /* regarglen[] - How large is the argument part of the node (in regnodes) */
 287  
 288  #ifdef REG_COMP_C
 289  static const U8 regarglen[] = {
 290      0,                                       /* END          */
 291      0,                                       /* SUCCEED      */
 292      0,                                       /* BOL          */
 293      0,                                       /* MBOL         */
 294      0,                                       /* SBOL         */
 295      0,                                       /* EOS          */
 296      0,                                       /* EOL          */
 297      0,                                       /* MEOL         */
 298      0,                                       /* SEOL         */
 299      0,                                       /* BOUND        */
 300      0,                                       /* BOUNDL       */
 301      0,                                       /* NBOUND       */
 302      0,                                       /* NBOUNDL      */
 303      0,                                       /* GPOS         */
 304      0,                                       /* REG_ANY      */
 305      0,                                       /* SANY         */
 306      0,                                       /* CANY         */
 307      0,                                       /* ANYOF        */
 308      0,                                       /* ALNUM        */
 309      0,                                       /* ALNUML       */
 310      0,                                       /* NALNUM       */
 311      0,                                       /* NALNUML      */
 312      0,                                       /* SPACE        */
 313      0,                                       /* SPACEL       */
 314      0,                                       /* NSPACE       */
 315      0,                                       /* NSPACEL      */
 316      0,                                       /* DIGIT        */
 317      0,                                       /* DIGITL       */
 318      0,                                       /* NDIGIT       */
 319      0,                                       /* NDIGITL      */
 320      0,                                       /* CLUMP        */
 321      0,                                       /* BRANCH       */
 322      0,                                       /* BACK         */
 323      0,                                       /* EXACT        */
 324      0,                                       /* EXACTF       */
 325      0,                                       /* EXACTFL      */
 326      0,                                       /* NOTHING      */
 327      0,                                       /* TAIL         */
 328      0,                                       /* STAR         */
 329      0,                                       /* PLUS         */
 330      EXTRA_SIZE(struct regnode_2),            /* CURLY        */
 331      EXTRA_SIZE(struct regnode_2),            /* CURLYN       */
 332      EXTRA_SIZE(struct regnode_2),            /* CURLYM       */
 333      EXTRA_SIZE(struct regnode_2),            /* CURLYX       */
 334      0,                                       /* WHILEM       */
 335      EXTRA_SIZE(struct regnode_1),            /* OPEN         */
 336      EXTRA_SIZE(struct regnode_1),            /* CLOSE        */
 337      EXTRA_SIZE(struct regnode_1),            /* REF          */
 338      EXTRA_SIZE(struct regnode_1),            /* REFF         */
 339      EXTRA_SIZE(struct regnode_1),            /* REFFL        */
 340      EXTRA_SIZE(struct regnode_1),            /* IFMATCH      */
 341      EXTRA_SIZE(struct regnode_1),            /* UNLESSM      */
 342      EXTRA_SIZE(struct regnode_1),            /* SUSPEND      */
 343      EXTRA_SIZE(struct regnode_1),            /* IFTHEN       */
 344      EXTRA_SIZE(struct regnode_1),            /* GROUPP       */
 345      EXTRA_SIZE(struct regnode_1),            /* LONGJMP      */
 346      EXTRA_SIZE(struct regnode_1),            /* BRANCHJ      */
 347      EXTRA_SIZE(struct regnode_1),            /* EVAL         */
 348      0,                                       /* MINMOD       */
 349      0,                                       /* LOGICAL      */
 350      EXTRA_SIZE(struct regnode_1),            /* RENUM        */
 351      EXTRA_SIZE(struct regnode_1),            /* TRIE         */
 352      EXTRA_SIZE(struct regnode_charclass),    /* TRIEC        */
 353      EXTRA_SIZE(struct regnode_1),            /* AHOCORASICK  */
 354      EXTRA_SIZE(struct regnode_charclass),    /* AHOCORASICKC */
 355      EXTRA_SIZE(struct regnode_2L),           /* GOSUB        */
 356      0,                                       /* GOSTART      */
 357      EXTRA_SIZE(struct regnode_1),            /* NREF         */
 358      EXTRA_SIZE(struct regnode_1),            /* NREFF        */
 359      EXTRA_SIZE(struct regnode_1),            /* NREFFL       */
 360      EXTRA_SIZE(struct regnode_1),            /* NGROUPP      */
 361      EXTRA_SIZE(struct regnode_1),            /* INSUBP       */
 362      EXTRA_SIZE(struct regnode_1),            /* DEFINEP      */
 363      0,                                       /* ENDLIKE      */
 364      0,                                       /* OPFAIL       */
 365      EXTRA_SIZE(struct regnode_1),            /* ACCEPT       */
 366      0,                                       /* VERB         */
 367      EXTRA_SIZE(struct regnode_1),            /* PRUNE        */
 368      EXTRA_SIZE(struct regnode_1),            /* MARKPOINT    */
 369      EXTRA_SIZE(struct regnode_1),            /* SKIP         */
 370      EXTRA_SIZE(struct regnode_1),            /* COMMIT       */
 371      EXTRA_SIZE(struct regnode_1),            /* CUTGROUP     */
 372      0,                                       /* KEEPS        */
 373      0,                                       /* LNBREAK      */
 374      0,                                       /* VERTWS       */
 375      0,                                       /* NVERTWS      */
 376      0,                                       /* HORIZWS      */
 377      0,                                       /* NHORIZWS     */
 378      EXTRA_SIZE(struct regnode_1),            /* FOLDCHAR     */
 379      0,                                       /* OPTIMIZED    */
 380      0,                                       /* PSEUDO       */
 381  };
 382  
 383  /* reg_off_by_arg[] - Which argument holds the offset to the next node */
 384  
 385  static const char reg_off_by_arg[] = {
 386      0,    /* END          */
 387      0,    /* SUCCEED      */
 388      0,    /* BOL          */
 389      0,    /* MBOL         */
 390      0,    /* SBOL         */
 391      0,    /* EOS          */
 392      0,    /* EOL          */
 393      0,    /* MEOL         */
 394      0,    /* SEOL         */
 395      0,    /* BOUND        */
 396      0,    /* BOUNDL       */
 397      0,    /* NBOUND       */
 398      0,    /* NBOUNDL      */
 399      0,    /* GPOS         */
 400      0,    /* REG_ANY      */
 401      0,    /* SANY         */
 402      0,    /* CANY         */
 403      0,    /* ANYOF        */
 404      0,    /* ALNUM        */
 405      0,    /* ALNUML       */
 406      0,    /* NALNUM       */
 407      0,    /* NALNUML      */
 408      0,    /* SPACE        */
 409      0,    /* SPACEL       */
 410      0,    /* NSPACE       */
 411      0,    /* NSPACEL      */
 412      0,    /* DIGIT        */
 413      0,    /* DIGITL       */
 414      0,    /* NDIGIT       */
 415      0,    /* NDIGITL      */
 416      0,    /* CLUMP        */
 417      0,    /* BRANCH       */
 418      0,    /* BACK         */
 419      0,    /* EXACT        */
 420      0,    /* EXACTF       */
 421      0,    /* EXACTFL      */
 422      0,    /* NOTHING      */
 423      0,    /* TAIL         */
 424      0,    /* STAR         */
 425      0,    /* PLUS         */
 426      0,    /* CURLY        */
 427      0,    /* CURLYN       */
 428      0,    /* CURLYM       */
 429      0,    /* CURLYX       */
 430      0,    /* WHILEM       */
 431      0,    /* OPEN         */
 432      0,    /* CLOSE        */
 433      0,    /* REF          */
 434      0,    /* REFF         */
 435      0,    /* REFFL        */
 436      2,    /* IFMATCH      */
 437      2,    /* UNLESSM      */
 438      1,    /* SUSPEND      */
 439      1,    /* IFTHEN       */
 440      0,    /* GROUPP       */
 441      1,    /* LONGJMP      */
 442      1,    /* BRANCHJ      */
 443      0,    /* EVAL         */
 444      0,    /* MINMOD       */
 445      0,    /* LOGICAL      */
 446      1,    /* RENUM        */
 447      0,    /* TRIE         */
 448      0,    /* TRIEC        */
 449      0,    /* AHOCORASICK  */
 450      0,    /* AHOCORASICKC */
 451      0,    /* GOSUB        */
 452      0,    /* GOSTART      */
 453      0,    /* NREF         */
 454      0,    /* NREFF        */
 455      0,    /* NREFFL       */
 456      0,    /* NGROUPP      */
 457      0,    /* INSUBP       */
 458      0,    /* DEFINEP      */
 459      0,    /* ENDLIKE      */
 460      0,    /* OPFAIL       */
 461      0,    /* ACCEPT       */
 462      0,    /* VERB         */
 463      0,    /* PRUNE        */
 464      0,    /* MARKPOINT    */
 465      0,    /* SKIP         */
 466      0,    /* COMMIT       */
 467      0,    /* CUTGROUP     */
 468      0,    /* KEEPS        */
 469      0,    /* LNBREAK      */
 470      0,    /* VERTWS       */
 471      0,    /* NVERTWS      */
 472      0,    /* HORIZWS      */
 473      0,    /* NHORIZWS     */
 474      0,    /* FOLDCHAR     */
 475      0,    /* OPTIMIZED    */
 476      0,    /* PSEUDO       */
 477  };
 478  
 479  #endif /* REG_COMP_C */
 480  
 481  /* reg_name[] - Opcode/state names in string form, for debugging */
 482  
 483  #ifndef DOINIT
 484  EXTCONST char * PL_reg_name[];
 485  #else
 486  EXTCONST char * const PL_reg_name[] = {
 487      "END",                       /* 0000 */
 488      "SUCCEED",                   /* 0x01 */
 489      "BOL",                       /* 0x02 */
 490      "MBOL",                      /* 0x03 */
 491      "SBOL",                      /* 0x04 */
 492      "EOS",                       /* 0x05 */
 493      "EOL",                       /* 0x06 */
 494      "MEOL",                      /* 0x07 */
 495      "SEOL",                      /* 0x08 */
 496      "BOUND",                     /* 0x09 */
 497      "BOUNDL",                    /* 0x0a */
 498      "NBOUND",                    /* 0x0b */
 499      "NBOUNDL",                   /* 0x0c */
 500      "GPOS",                      /* 0x0d */
 501      "REG_ANY",                   /* 0x0e */
 502      "SANY",                      /* 0x0f */
 503      "CANY",                      /* 0x10 */
 504      "ANYOF",                     /* 0x11 */
 505      "ALNUM",                     /* 0x12 */
 506      "ALNUML",                    /* 0x13 */
 507      "NALNUM",                    /* 0x14 */
 508      "NALNUML",                   /* 0x15 */
 509      "SPACE",                     /* 0x16 */
 510      "SPACEL",                    /* 0x17 */
 511      "NSPACE",                    /* 0x18 */
 512      "NSPACEL",                   /* 0x19 */
 513      "DIGIT",                     /* 0x1a */
 514      "DIGITL",                    /* 0x1b */
 515      "NDIGIT",                    /* 0x1c */
 516      "NDIGITL",                   /* 0x1d */
 517      "CLUMP",                     /* 0x1e */
 518      "BRANCH",                    /* 0x1f */
 519      "BACK",                      /* 0x20 */
 520      "EXACT",                     /* 0x21 */
 521      "EXACTF",                    /* 0x22 */
 522      "EXACTFL",                   /* 0x23 */
 523      "NOTHING",                   /* 0x24 */
 524      "TAIL",                      /* 0x25 */
 525      "STAR",                      /* 0x26 */
 526      "PLUS",                      /* 0x27 */
 527      "CURLY",                     /* 0x28 */
 528      "CURLYN",                    /* 0x29 */
 529      "CURLYM",                    /* 0x2a */
 530      "CURLYX",                    /* 0x2b */
 531      "WHILEM",                    /* 0x2c */
 532      "OPEN",                      /* 0x2d */
 533      "CLOSE",                     /* 0x2e */
 534      "REF",                       /* 0x2f */
 535      "REFF",                      /* 0x30 */
 536      "REFFL",                     /* 0x31 */
 537      "IFMATCH",                   /* 0x32 */
 538      "UNLESSM",                   /* 0x33 */
 539      "SUSPEND",                   /* 0x34 */
 540      "IFTHEN",                    /* 0x35 */
 541      "GROUPP",                    /* 0x36 */
 542      "LONGJMP",                   /* 0x37 */
 543      "BRANCHJ",                   /* 0x38 */
 544      "EVAL",                      /* 0x39 */
 545      "MINMOD",                    /* 0x3a */
 546      "LOGICAL",                   /* 0x3b */
 547      "RENUM",                     /* 0x3c */
 548      "TRIE",                      /* 0x3d */
 549      "TRIEC",                     /* 0x3e */
 550      "AHOCORASICK",               /* 0x3f */
 551      "AHOCORASICKC",              /* 0x40 */
 552      "GOSUB",                     /* 0x41 */
 553      "GOSTART",                   /* 0x42 */
 554      "NREF",                      /* 0x43 */
 555      "NREFF",                     /* 0x44 */
 556      "NREFFL",                    /* 0x45 */
 557      "NGROUPP",                   /* 0x46 */
 558      "INSUBP",                    /* 0x47 */
 559      "DEFINEP",                   /* 0x48 */
 560      "ENDLIKE",                   /* 0x49 */
 561      "OPFAIL",                    /* 0x4a */
 562      "ACCEPT",                    /* 0x4b */
 563      "VERB",                      /* 0x4c */
 564      "PRUNE",                     /* 0x4d */
 565      "MARKPOINT",                 /* 0x4e */
 566      "SKIP",                      /* 0x4f */
 567      "COMMIT",                    /* 0x50 */
 568      "CUTGROUP",                  /* 0x51 */
 569      "KEEPS",                     /* 0x52 */
 570      "LNBREAK",                   /* 0x53 */
 571      "VERTWS",                    /* 0x54 */
 572      "NVERTWS",                   /* 0x55 */
 573      "HORIZWS",                   /* 0x56 */
 574      "NHORIZWS",                  /* 0x57 */
 575      "FOLDCHAR",                  /* 0x58 */
 576      "OPTIMIZED",                 /* 0x59 */
 577      "PSEUDO",                    /* 0x5a */
 578      /* ------------ States ------------- */
 579      "TRIE_next",                 /* REGNODE_MAX +0x01 */
 580      "TRIE_next_fail",            /* REGNODE_MAX +0x02 */
 581      "EVAL_AB",                   /* REGNODE_MAX +0x03 */
 582      "EVAL_AB_fail",              /* REGNODE_MAX +0x04 */
 583      "CURLYX_end",                /* REGNODE_MAX +0x05 */
 584      "CURLYX_end_fail",           /* REGNODE_MAX +0x06 */
 585      "WHILEM_A_pre",              /* REGNODE_MAX +0x07 */
 586      "WHILEM_A_pre_fail",         /* REGNODE_MAX +0x08 */
 587      "WHILEM_A_min",              /* REGNODE_MAX +0x09 */
 588      "WHILEM_A_min_fail",         /* REGNODE_MAX +0x0a */
 589      "WHILEM_A_max",              /* REGNODE_MAX +0x0b */
 590      "WHILEM_A_max_fail",         /* REGNODE_MAX +0x0c */
 591      "WHILEM_B_min",              /* REGNODE_MAX +0x0d */
 592      "WHILEM_B_min_fail",         /* REGNODE_MAX +0x0e */
 593      "WHILEM_B_max",              /* REGNODE_MAX +0x0f */
 594      "WHILEM_B_max_fail",         /* REGNODE_MAX +0x10 */
 595      "BRANCH_next",               /* REGNODE_MAX +0x11 */
 596      "BRANCH_next_fail",          /* REGNODE_MAX +0x12 */
 597      "CURLYM_A",                  /* REGNODE_MAX +0x13 */
 598      "CURLYM_A_fail",             /* REGNODE_MAX +0x14 */
 599      "CURLYM_B",                  /* REGNODE_MAX +0x15 */
 600      "CURLYM_B_fail",             /* REGNODE_MAX +0x16 */
 601      "IFMATCH_A",                 /* REGNODE_MAX +0x17 */
 602      "IFMATCH_A_fail",            /* REGNODE_MAX +0x18 */
 603      "CURLY_B_min_known",         /* REGNODE_MAX +0x19 */
 604      "CURLY_B_min_known_fail",    /* REGNODE_MAX +0x1a */
 605      "CURLY_B_min",               /* REGNODE_MAX +0x1b */
 606      "CURLY_B_min_fail",          /* REGNODE_MAX +0x1c */
 607      "CURLY_B_max",               /* REGNODE_MAX +0x1d */
 608      "CURLY_B_max_fail",          /* REGNODE_MAX +0x1e */
 609      "COMMIT_next",               /* REGNODE_MAX +0x1f */
 610      "COMMIT_next_fail",          /* REGNODE_MAX +0x20 */
 611      "MARKPOINT_next",            /* REGNODE_MAX +0x21 */
 612      "MARKPOINT_next_fail",       /* REGNODE_MAX +0x22 */
 613      "SKIP_next",                 /* REGNODE_MAX +0x23 */
 614      "SKIP_next_fail",            /* REGNODE_MAX +0x24 */
 615      "CUTGROUP_next",             /* REGNODE_MAX +0x25 */
 616      "CUTGROUP_next_fail",        /* REGNODE_MAX +0x26 */
 617      "KEEPS_next",                /* REGNODE_MAX +0x27 */
 618      "KEEPS_next_fail",           /* REGNODE_MAX +0x28 */
 619  };
 620  #endif /* DOINIT */
 621  
 622  /* PL_reg_extflags_name[] - Opcode/state names in string form, for debugging */
 623  
 624  #ifndef DOINIT
 625  EXTCONST char * PL_reg_extflags_name[];
 626  #else
 627  EXTCONST char * const PL_reg_extflags_name[] = {
 628      /* Bits in extflags defined: 11111111111111111111111100111111 */
 629      "ANCH_BOL",         /* 0x00000001 */
 630      "ANCH_MBOL",        /* 0x00000002 */
 631      "ANCH_SBOL",        /* 0x00000004 */
 632      "ANCH_GPOS",        /* 0x00000008 */
 633      "GPOS_SEEN",        /* 0x00000010 */
 634      "GPOS_FLOAT",       /* 0x00000020 */
 635      "UNUSED_BIT_6",     /* 0x00000040 */
 636      "UNUSED_BIT_7",     /* 0x00000080 */
 637      "SKIPWHITE",        /* 0x00000100 */
 638      "START_ONLY",       /* 0x00000200 */
 639      "WHITE",            /* 0x00000400 */
 640      "LOCALE",           /* 0x00000800 */
 641      "MULTILINE",        /* 0x00001000 */
 642      "SINGLELINE",       /* 0x00002000 */
 643      "FOLD",             /* 0x00004000 */
 644      "EXTENDED",         /* 0x00008000 */
 645      "KEEPCOPY",         /* 0x00010000 */
 646      "LOOKBEHIND_SEEN",  /* 0x00020000 */
 647      "EVAL_SEEN",        /* 0x00040000 */
 648      "CANY_SEEN",        /* 0x00080000 */
 649      "NOSCAN",           /* 0x00100000 */
 650      "CHECK_ALL",        /* 0x00200000 */
 651      "UTF8",             /* 0x00400000 */
 652      "MATCH_UTF8",       /* 0x00800000 */
 653      "USE_INTUIT_NOML",  /* 0x01000000 */
 654      "USE_INTUIT_ML",    /* 0x02000000 */
 655      "INTUIT_TAIL",      /* 0x04000000 */
 656      "SPLIT",            /* 0x08000000 */
 657      "COPY_DONE",        /* 0x10000000 */
 658      "TAINTED_SEEN",     /* 0x20000000 */
 659      "NULL",             /* 0x40000000 */
 660      "TAINTED",          /* 0x80000000 */
 661  };
 662  #endif /* DOINIT */
 663  
 664  /* ex: set ro: */


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1