Home | History | Annotate | Download | only in testdata
      1 # There are two sorts of patterns in this test. A number of them are
      2 # representative patterns whose lengths and offsets are checked. This is just a
      3 # doublecheck test to ensure the sizes don't go horribly wrong when something
      4 # is changed. The operation of these patterns is checked in other tests.
      5 #
      6 # This file also contains tests whose output varies with code unit size and/or
      7 # link size. Unicode support is required for these tests. There are separate
      8 # output files for each code unit size and link size.
      9 
     10 #pattern fullbincode,memory
     11 
     12 /((?i)b)/
     13 Memory allocation (code space): 32
     14 ------------------------------------------------------------------
     15   0  12 Bra
     16   3   6 CBra 1
     17   7  /i b
     18   9   6 Ket
     19  12  12 Ket
     20  15     End
     21 ------------------------------------------------------------------
     22 
     23 /(?s)(.*X|^B)/
     24 Memory allocation (code space): 48
     25 ------------------------------------------------------------------
     26   0  20 Bra
     27   3   8 CBra 1
     28   7     AllAny*
     29   9     X
     30  11   6 Alt
     31  14     ^
     32  15     B
     33  17  14 Ket
     34  20  20 Ket
     35  23     End
     36 ------------------------------------------------------------------
     37 
     38 /(?s:.*X|^B)/
     39 Memory allocation (code space): 46
     40 ------------------------------------------------------------------
     41   0  19 Bra
     42   3   7 Bra
     43   6     AllAny*
     44   8     X
     45  10   6 Alt
     46  13     ^
     47  14     B
     48  16  13 Ket
     49  19  19 Ket
     50  22     End
     51 ------------------------------------------------------------------
     52 
     53 /^[[:alnum:]]/
     54 Memory allocation (code space): 50
     55 ------------------------------------------------------------------
     56   0  21 Bra
     57   3     ^
     58   4     [0-9A-Za-z]
     59  21  21 Ket
     60  24     End
     61 ------------------------------------------------------------------
     62 
     63 /#/Ix
     64 Memory allocation (code space): 14
     65 ------------------------------------------------------------------
     66   0   3 Bra
     67   3   3 Ket
     68   6     End
     69 ------------------------------------------------------------------
     70 Capturing subpattern count = 0
     71 May match empty string
     72 Options: extended
     73 Subject length lower bound = 0
     74 
     75 /a#/Ix
     76 Memory allocation (code space): 18
     77 ------------------------------------------------------------------
     78   0   5 Bra
     79   3     a
     80   5   5 Ket
     81   8     End
     82 ------------------------------------------------------------------
     83 Capturing subpattern count = 0
     84 Options: extended
     85 First code unit = 'a'
     86 Subject length lower bound = 1
     87 
     88 /x?+/
     89 Memory allocation (code space): 18
     90 ------------------------------------------------------------------
     91   0   5 Bra
     92   3     x?+
     93   5   5 Ket
     94   8     End
     95 ------------------------------------------------------------------
     96 
     97 /x++/
     98 Memory allocation (code space): 18
     99 ------------------------------------------------------------------
    100   0   5 Bra
    101   3     x++
    102   5   5 Ket
    103   8     End
    104 ------------------------------------------------------------------
    105 
    106 /x{1,3}+/
    107 Memory allocation (code space): 24
    108 ------------------------------------------------------------------
    109   0   8 Bra
    110   3     x
    111   5     x{0,2}+
    112   8   8 Ket
    113  11     End
    114 ------------------------------------------------------------------
    115 
    116 /(x)*+/
    117 Memory allocation (code space): 34
    118 ------------------------------------------------------------------
    119   0  13 Bra
    120   3     Braposzero
    121   4   6 CBraPos 1
    122   8     x
    123  10   6 KetRpos
    124  13  13 Ket
    125  16     End
    126 ------------------------------------------------------------------
    127 
    128 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
    129 Memory allocation (code space): 166
    130 ------------------------------------------------------------------
    131   0  79 Bra
    132   3     ^
    133   4  72 CBra 1
    134   8   6 CBra 2
    135  12     a+
    136  14   6 Ket
    137  17  22 CBra 3
    138  21     [ab]+?
    139  39  22 Ket
    140  42  22 CBra 4
    141  46     [bc]+
    142  64  22 Ket
    143  67   6 CBra 5
    144  71     \w*+
    145  73   6 Ket
    146  76  72 Ket
    147  79  79 Ket
    148  82     End
    149 ------------------------------------------------------------------
    150 
    151 "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
    152 Memory allocation (code space): 1652
    153 ------------------------------------------------------------------
    154   0 822 Bra
    155   3     8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
    156 821     \b
    157 822 822 Ket
    158 825     End
    159 ------------------------------------------------------------------
    160 
    161 "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
    162 Memory allocation (code space): 1632
    163 ------------------------------------------------------------------
    164   0 812 Bra
    165   3     $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
    166 811     \b
    167 812 812 Ket
    168 815     End
    169 ------------------------------------------------------------------
    170 
    171 /(a(?1)b)/
    172 Memory allocation (code space): 42
    173 ------------------------------------------------------------------
    174   0  17 Bra
    175   3  11 CBra 1
    176   7     a
    177   9   3 Recurse
    178  12     b
    179  14  11 Ket
    180  17  17 Ket
    181  20     End
    182 ------------------------------------------------------------------
    183 
    184 /(a(?1)+b)/
    185 Memory allocation (code space): 54
    186 ------------------------------------------------------------------
    187   0  23 Bra
    188   3  17 CBra 1
    189   7     a
    190   9   6 Once
    191  12   3 Recurse
    192  15   6 KetRmax
    193  18     b
    194  20  17 Ket
    195  23  23 Ket
    196  26     End
    197 ------------------------------------------------------------------
    198 
    199 /a(?P<name1>b|c)d(?P<longername2>e)/
    200 Memory allocation (code space): 68
    201 ------------------------------------------------------------------
    202   0  30 Bra
    203   3     a
    204   5   6 CBra 1
    205   9     b
    206  11   5 Alt
    207  14     c
    208  16  11 Ket
    209  19     d
    210  21   6 CBra 2
    211  25     e
    212  27   6 Ket
    213  30  30 Ket
    214  33     End
    215 ------------------------------------------------------------------
    216 
    217 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
    218 Memory allocation (code space): 84
    219 ------------------------------------------------------------------
    220   0  38 Bra
    221   3  23 Bra
    222   6     a
    223   8  15 CBra 1
    224  12     c
    225  14   6 CBra 2
    226  18     d
    227  20   6 Ket
    228  23  15 Ket
    229  26  23 Ket
    230  29   6 CBra 3
    231  33     a
    232  35   6 Ket
    233  38  38 Ket
    234  41     End
    235 ------------------------------------------------------------------
    236 
    237 /(?P<a>a)...(?P=a)bbb(?P>a)d/
    238 Memory allocation (code space): 64
    239 ------------------------------------------------------------------
    240   0  28 Bra
    241   3   6 CBra 1
    242   7     a
    243   9   6 Ket
    244  12     Any
    245  13     Any
    246  14     Any
    247  15     \1
    248  17     bbb
    249  23   3 Recurse
    250  26     d
    251  28  28 Ket
    252  31     End
    253 ------------------------------------------------------------------
    254 
    255 /abc(?C255)de(?C)f/
    256 Memory allocation (code space): 62
    257 ------------------------------------------------------------------
    258   0  27 Bra
    259   3     abc
    260   9     Callout 255 10 1
    261  15     de
    262  19     Callout 0 16 1
    263  25     f
    264  27  27 Ket
    265  30     End
    266 ------------------------------------------------------------------
    267 
    268 /abcde/auto_callout
    269 Memory allocation (code space): 106
    270 ------------------------------------------------------------------
    271   0  49 Bra
    272   3     Callout 255 0 1
    273   9     a
    274  11     Callout 255 1 1
    275  17     b
    276  19     Callout 255 2 1
    277  25     c
    278  27     Callout 255 3 1
    279  33     d
    280  35     Callout 255 4 1
    281  41     e
    282  43     Callout 255 5 0
    283  49  49 Ket
    284  52     End
    285 ------------------------------------------------------------------
    286 
    287 /\x{100}/utf
    288 Memory allocation (code space): 18
    289 ------------------------------------------------------------------
    290   0   5 Bra
    291   3     \x{100}
    292   5   5 Ket
    293   8     End
    294 ------------------------------------------------------------------
    295 
    296 /\x{1000}/utf
    297 Memory allocation (code space): 18
    298 ------------------------------------------------------------------
    299   0   5 Bra
    300   3     \x{1000}
    301   5   5 Ket
    302   8     End
    303 ------------------------------------------------------------------
    304 
    305 /\x{10000}/utf
    306 Memory allocation (code space): 20
    307 ------------------------------------------------------------------
    308   0   6 Bra
    309   3     \x{10000}
    310   6   6 Ket
    311   9     End
    312 ------------------------------------------------------------------
    313 
    314 /\x{100000}/utf
    315 Memory allocation (code space): 20
    316 ------------------------------------------------------------------
    317   0   6 Bra
    318   3     \x{100000}
    319   6   6 Ket
    320   9     End
    321 ------------------------------------------------------------------
    322 
    323 /\x{10ffff}/utf
    324 Memory allocation (code space): 20
    325 ------------------------------------------------------------------
    326   0   6 Bra
    327   3     \x{10ffff}
    328   6   6 Ket
    329   9     End
    330 ------------------------------------------------------------------
    331 
    332 /\x{110000}/utf
    333 Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
    334 
    335 /[\x{ff}]/utf
    336 Memory allocation (code space): 18
    337 ------------------------------------------------------------------
    338   0   5 Bra
    339   3     \x{ff}
    340   5   5 Ket
    341   8     End
    342 ------------------------------------------------------------------
    343 
    344 /[\x{100}]/utf
    345 Memory allocation (code space): 18
    346 ------------------------------------------------------------------
    347   0   5 Bra
    348   3     \x{100}
    349   5   5 Ket
    350   8     End
    351 ------------------------------------------------------------------
    352 
    353 /\x80/utf
    354 Memory allocation (code space): 18
    355 ------------------------------------------------------------------
    356   0   5 Bra
    357   3     \x{80}
    358   5   5 Ket
    359   8     End
    360 ------------------------------------------------------------------
    361 
    362 /\xff/utf
    363 Memory allocation (code space): 18
    364 ------------------------------------------------------------------
    365   0   5 Bra
    366   3     \x{ff}
    367   5   5 Ket
    368   8     End
    369 ------------------------------------------------------------------
    370 
    371 /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
    372 Memory allocation (code space): 30
    373 ------------------------------------------------------------------
    374   0  11 Bra
    375   3     A\x{2262}\x{391}.
    376  11  11 Ket
    377  14     End
    378 ------------------------------------------------------------------
    379 Capturing subpattern count = 0
    380 Options: utf
    381 First code unit = 'A'
    382 Last code unit = '.'
    383 Subject length lower bound = 4
    384 
    385 /\x{D55c}\x{ad6d}\x{C5B4}/I,utf
    386 Memory allocation (code space): 26
    387 ------------------------------------------------------------------
    388   0   9 Bra
    389   3     \x{d55c}\x{ad6d}\x{c5b4}
    390   9   9 Ket
    391  12     End
    392 ------------------------------------------------------------------
    393 Capturing subpattern count = 0
    394 Options: utf
    395 First code unit = \x{d55c}
    396 Last code unit = \x{c5b4}
    397 Subject length lower bound = 3
    398 
    399 /\x{65e5}\x{672c}\x{8a9e}/I,utf
    400 Memory allocation (code space): 26
    401 ------------------------------------------------------------------
    402   0   9 Bra
    403   3     \x{65e5}\x{672c}\x{8a9e}
    404   9   9 Ket
    405  12     End
    406 ------------------------------------------------------------------
    407 Capturing subpattern count = 0
    408 Options: utf
    409 First code unit = \x{65e5}
    410 Last code unit = \x{8a9e}
    411 Subject length lower bound = 3
    412 
    413 /[\x{100}]/utf
    414 Memory allocation (code space): 18
    415 ------------------------------------------------------------------
    416   0   5 Bra
    417   3     \x{100}
    418   5   5 Ket
    419   8     End
    420 ------------------------------------------------------------------
    421 
    422 /[Z\x{100}]/utf
    423 Memory allocation (code space): 60
    424 ------------------------------------------------------------------
    425   0  26 Bra
    426   3     [Z\x{100}]
    427  26  26 Ket
    428  29     End
    429 ------------------------------------------------------------------
    430 
    431 /^[\x{100}\E-\Q\E\x{150}]/utf
    432 Memory allocation (code space): 32
    433 ------------------------------------------------------------------
    434   0  12 Bra
    435   3     ^
    436   4     [\x{100}-\x{150}]
    437  12  12 Ket
    438  15     End
    439 ------------------------------------------------------------------
    440 
    441 /^[\Q\E-\Q\E]/utf
    442 Memory allocation (code space): 32
    443 ------------------------------------------------------------------
    444   0  12 Bra
    445   3     ^
    446   4     [\x{100}-\x{150}]
    447  12  12 Ket
    448  15     End
    449 ------------------------------------------------------------------
    450 
    451 /^[\Q\E-\Q\E/utf
    452 Failed: error 106 at offset 13: missing terminating ] for character class
    453 
    454 /[\p{L}]/
    455 Memory allocation (code space): 30
    456 ------------------------------------------------------------------
    457   0  11 Bra
    458   3     [\p{L}]
    459  11  11 Ket
    460  14     End
    461 ------------------------------------------------------------------
    462 
    463 /[\p{^L}]/
    464 Memory allocation (code space): 30
    465 ------------------------------------------------------------------
    466   0  11 Bra
    467   3     [\P{L}]
    468  11  11 Ket
    469  14     End
    470 ------------------------------------------------------------------
    471 
    472 /[\P{L}]/
    473 Memory allocation (code space): 30
    474 ------------------------------------------------------------------
    475   0  11 Bra
    476   3     [\P{L}]
    477  11  11 Ket
    478  14     End
    479 ------------------------------------------------------------------
    480 
    481 /[\P{^L}]/
    482 Memory allocation (code space): 30
    483 ------------------------------------------------------------------
    484   0  11 Bra
    485   3     [\p{L}]
    486  11  11 Ket
    487  14     End
    488 ------------------------------------------------------------------
    489 
    490 /[abc\p{L}\x{0660}]/utf
    491 Memory allocation (code space): 66
    492 ------------------------------------------------------------------
    493   0  29 Bra
    494   3     [a-c\p{L}\x{660}]
    495  29  29 Ket
    496  32     End
    497 ------------------------------------------------------------------
    498 
    499 /[\p{Nd}]/utf
    500 Memory allocation (code space): 30
    501 ------------------------------------------------------------------
    502   0  11 Bra
    503   3     [\p{Nd}]
    504  11  11 Ket
    505  14     End
    506 ------------------------------------------------------------------
    507 
    508 /[\p{Nd}+-]+/utf
    509 Memory allocation (code space): 64
    510 ------------------------------------------------------------------
    511   0  28 Bra
    512   3     [+\-\p{Nd}]++
    513  28  28 Ket
    514  31     End
    515 ------------------------------------------------------------------
    516 
    517 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
    518 Memory allocation (code space): 36
    519 ------------------------------------------------------------------
    520   0  14 Bra
    521   3  /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
    522  14  14 Ket
    523  17     End
    524 ------------------------------------------------------------------
    525 
    526 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
    527 Memory allocation (code space): 36
    528 ------------------------------------------------------------------
    529   0  14 Bra
    530   3     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
    531  14  14 Ket
    532  17     End
    533 ------------------------------------------------------------------
    534 
    535 /[\x{105}-\x{109}]/i,utf
    536 Memory allocation (code space): 30
    537 ------------------------------------------------------------------
    538   0  11 Bra
    539   3     [\x{104}-\x{109}]
    540  11  11 Ket
    541  14     End
    542 ------------------------------------------------------------------
    543 
    544 /( ( (?(1)0|) )*   )/x
    545 Memory allocation (code space): 70
    546 ------------------------------------------------------------------
    547   0  31 Bra
    548   3  25 CBra 1
    549   7     Brazero
    550   8  17 SCBra 2
    551  12   7 Cond
    552  15   1 Cond ref
    553  17     0
    554  19   3 Alt
    555  22  10 Ket
    556  25  17 KetRmax
    557  28  25 Ket
    558  31  31 Ket
    559  34     End
    560 ------------------------------------------------------------------
    561 
    562 /(  (?(1)0|)*   )/x
    563 Memory allocation (code space): 56
    564 ------------------------------------------------------------------
    565   0  24 Bra
    566   3  18 CBra 1
    567   7     Brazero
    568   8   7 SCond
    569  11   1 Cond ref
    570  13     0
    571  15   3 Alt
    572  18  10 KetRmax
    573  21  18 Ket
    574  24  24 Ket
    575  27     End
    576 ------------------------------------------------------------------
    577 
    578 /[a]/
    579 Memory allocation (code space): 18
    580 ------------------------------------------------------------------
    581   0   5 Bra
    582   3     a
    583   5   5 Ket
    584   8     End
    585 ------------------------------------------------------------------
    586 
    587 /[a]/utf
    588 Memory allocation (code space): 18
    589 ------------------------------------------------------------------
    590   0   5 Bra
    591   3     a
    592   5   5 Ket
    593   8     End
    594 ------------------------------------------------------------------
    595 
    596 /[\xaa]/
    597 Memory allocation (code space): 18
    598 ------------------------------------------------------------------
    599   0   5 Bra
    600   3     \x{aa}
    601   5   5 Ket
    602   8     End
    603 ------------------------------------------------------------------
    604 
    605 /[\xaa]/utf
    606 Memory allocation (code space): 18
    607 ------------------------------------------------------------------
    608   0   5 Bra
    609   3     \x{aa}
    610   5   5 Ket
    611   8     End
    612 ------------------------------------------------------------------
    613 
    614 /[^a]/
    615 Memory allocation (code space): 18
    616 ------------------------------------------------------------------
    617   0   5 Bra
    618   3     [^a]
    619   5   5 Ket
    620   8     End
    621 ------------------------------------------------------------------
    622 
    623 /[^a]/utf
    624 Memory allocation (code space): 18
    625 ------------------------------------------------------------------
    626   0   5 Bra
    627   3     [^a]
    628   5   5 Ket
    629   8     End
    630 ------------------------------------------------------------------
    631 
    632 /[^\xaa]/
    633 Memory allocation (code space): 18
    634 ------------------------------------------------------------------
    635   0   5 Bra
    636   3     [^\x{aa}]
    637   5   5 Ket
    638   8     End
    639 ------------------------------------------------------------------
    640 
    641 /[^\xaa]/utf
    642 Memory allocation (code space): 18
    643 ------------------------------------------------------------------
    644   0   5 Bra
    645   3     [^\x{aa}]
    646   5   5 Ket
    647   8     End
    648 ------------------------------------------------------------------
    649 
    650 #pattern -memory
    651 
    652 /[^\d]/utf,ucp
    653 ------------------------------------------------------------------
    654   0  11 Bra
    655   3     [^\p{Nd}]
    656  11  11 Ket
    657  14     End
    658 ------------------------------------------------------------------
    659 
    660 /[[:^alpha:][:^cntrl:]]+/utf,ucp
    661 ------------------------------------------------------------------
    662   0  15 Bra
    663   3     [\P{L}\P{Cc}]++
    664  15  15 Ket
    665  18     End
    666 ------------------------------------------------------------------
    667 
    668 /[[:^cntrl:][:^alpha:]]+/utf,ucp
    669 ------------------------------------------------------------------
    670   0  15 Bra
    671   3     [\P{Cc}\P{L}]++
    672  15  15 Ket
    673  18     End
    674 ------------------------------------------------------------------
    675 
    676 /[[:alpha:]]+/utf,ucp
    677 ------------------------------------------------------------------
    678   0  12 Bra
    679   3     [\p{L}]++
    680  12  12 Ket
    681  15     End
    682 ------------------------------------------------------------------
    683 
    684 /[[:^alpha:]\S]+/utf,ucp
    685 ------------------------------------------------------------------
    686   0  15 Bra
    687   3     [\P{L}\P{Xsp}]++
    688  15  15 Ket
    689  18     End
    690 ------------------------------------------------------------------
    691 
    692 /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
    693 ------------------------------------------------------------------
    694   0  70 Bra
    695   3     abc
    696   9   6 CBra 1
    697  13     d
    698  15   5 Alt
    699  18     e
    700  20  11 Ket
    701  23     *THEN
    702  24     x
    703  26  13 CBra 2
    704  30     123
    705  36     *THEN
    706  37     4
    707  39  28 Alt
    708  42     567
    709  48   6 CBra 3
    710  52     b
    711  54   5 Alt
    712  57     q
    713  59  11 Ket
    714  62     *THEN
    715  63     xx
    716  67  41 Ket
    717  70  70 Ket
    718  73     End
    719 ------------------------------------------------------------------
    720 
    721 /(((a\2)|(a*)\g<-1>))*a?/
    722 ------------------------------------------------------------------
    723   0  52 Bra
    724   3     Brazero
    725   4  43 SCBra 1
    726   8  36 Once
    727  11  15 CBra 2
    728  15   8 CBra 3
    729  19     a
    730  21     \2
    731  23   8 Ket
    732  26  15 Alt
    733  29   6 CBra 4
    734  33     a*
    735  35   6 Ket
    736  38  29 Recurse
    737  41  30 Ket
    738  44  36 Ket
    739  47  43 KetRmax
    740  50     a?+
    741  52  52 Ket
    742  55     End
    743 ------------------------------------------------------------------
    744 
    745 /((?+1)(\1))/
    746 ------------------------------------------------------------------
    747   0  28 Bra
    748   3  22 Once
    749   6  16 CBra 1
    750  10  13 Recurse
    751  13   6 CBra 2
    752  17     \1
    753  19   6 Ket
    754  22  16 Ket
    755  25  22 Ket
    756  28  28 Ket
    757  31     End
    758 ------------------------------------------------------------------
    759 
    760 "(?1)(?#?'){2}(a)"
    761 ------------------------------------------------------------------
    762   0  30 Bra
    763   3   6 Once
    764   6  21 Recurse
    765   9   6 Ket
    766  12   6 Once
    767  15  21 Recurse
    768  18   6 Ket
    769  21   6 CBra 1
    770  25     a
    771  27   6 Ket
    772  30  30 Ket
    773  33     End
    774 ------------------------------------------------------------------
    775 
    776 /.((?2)(?R)|\1|$)()/
    777 ------------------------------------------------------------------
    778   0  39 Bra
    779   3     Any
    780   4  25 Once
    781   7  10 CBra 1
    782  11  32 Recurse
    783  14   0 Recurse
    784  17   5 Alt
    785  20     \1
    786  22   4 Alt
    787  25     $
    788  26  19 Ket
    789  29  25 Ket
    790  32   4 CBra 2
    791  36   4 Ket
    792  39  39 Ket
    793  42     End
    794 ------------------------------------------------------------------
    795 
    796 /.((?3)(?R)()(?2)|\1|$)()/
    797 ------------------------------------------------------------------
    798   0  49 Bra
    799   3     Any
    800   4  35 Once
    801   7  20 CBra 1
    802  11  42 Recurse
    803  14   0 Recurse
    804  17   4 CBra 2
    805  21   4 Ket
    806  24  17 Recurse
    807  27   5 Alt
    808  30     \1
    809  32   4 Alt
    810  35     $
    811  36  29 Ket
    812  39  35 Ket
    813  42   4 CBra 3
    814  46   4 Ket
    815  49  49 Ket
    816  52     End
    817 ------------------------------------------------------------------
    818 
    819 /(?1)()((((((\1++))\x85)+)|))/
    820 ------------------------------------------------------------------
    821   0  69 Bra
    822   3   6 Recurse
    823   6   4 CBra 1
    824  10   4 Ket
    825  13  53 CBra 2
    826  17  43 CBra 3
    827  21  36 CBra 4
    828  25  29 CBra 5
    829  29  20 CBra 6
    830  33  13 CBra 7
    831  37   6 Once
    832  40     \1+
    833  43   6 Ket
    834  46  13 Ket
    835  49  20 Ket
    836  52     \x{85}
    837  54  29 KetRmax
    838  57  36 Ket
    839  60   3 Alt
    840  63  46 Ket
    841  66  53 Ket
    842  69  69 Ket
    843  72     End
    844 ------------------------------------------------------------------
    845 
    846 # Check the absolute limit on nesting (?| etc. This varies with code unit
    847 # width because the workspace is a different number of bytes. It will fail
    848 # with link size 2 in 8-bit and 16-bit but not in 32-bit.
    849 
    850 /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
    851 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    852 /parens_nest_limit=1000,-fullbincode
    853 
    854 # Use "expand" to create some very long patterns with nested parentheses, in
    855 # order to test workspace overflow. Again, this varies with code unit width,
    856 # and even with it fails in two modes, the error offset differs. It also varies
    857 # with link size - hence multiple tests with different values.
    858 
    859 /(?'ABC'\[[bar](]{105}*THEN:\[A]{255}\[)]{106}/expand,-fullbincode
    860 
    861 /(?'ABC'\[[bar](]{106}*THEN:\[A]{255}\[)]{107}/expand,-fullbincode
    862 
    863 /(?'ABC'\[[bar](]{159}*THEN:\[A]{255}\[)]{160}/expand,-fullbincode
    864 
    865 /(?'ABC'\[[bar](]{199}*THEN:\[A]{255}\[)]{200}/expand,-fullbincode
    866 Failed: error 186 at offset 1147: regular expression is too complicated
    867 
    868 /(?'ABC'\[[bar](]{299}*THEN:\[A]{255}\[)]{300}/expand,-fullbincode
    869 Failed: error 186 at offset 1147: regular expression is too complicated
    870 
    871 /(?(1)(?1)){8,}+()/debug
    872 ------------------------------------------------------------------
    873   0 110 Bra
    874   3  97 Once
    875   6   8 Cond
    876   9   1 Cond ref
    877  11 103 Recurse
    878  14   8 Ket
    879  17   8 Cond
    880  20   1 Cond ref
    881  22 103 Recurse
    882  25   8 Ket
    883  28   8 Cond
    884  31   1 Cond ref
    885  33 103 Recurse
    886  36   8 Ket
    887  39   8 Cond
    888  42   1 Cond ref
    889  44 103 Recurse
    890  47   8 Ket
    891  50   8 Cond
    892  53   1 Cond ref
    893  55 103 Recurse
    894  58   8 Ket
    895  61   8 Cond
    896  64   1 Cond ref
    897  66 103 Recurse
    898  69   8 Ket
    899  72   8 Cond
    900  75   1 Cond ref
    901  77 103 Recurse
    902  80   8 Ket
    903  83  14 SBraPos
    904  86   8 SCond
    905  89   1 Cond ref
    906  91 103 Recurse
    907  94   8 Ket
    908  97  14 KetRpos
    909 100  97 Ket
    910 103   4 CBra 1
    911 107   4 Ket
    912 110 110 Ket
    913 113     End
    914 ------------------------------------------------------------------
    915 Capturing subpattern count = 1
    916 Max back reference = 1
    917 May match empty string
    918 Subject length lower bound = 0
    919     abcd
    920  0: 
    921  1: 
    922 
    923 /(?(1)|a(?1)b){2,}+()/debug
    924 ------------------------------------------------------------------
    925   0  58 Bra
    926   3  45 Once
    927   6   5 Cond
    928   9   1 Cond ref
    929  11  10 Alt
    930  14     a
    931  16  51 Recurse
    932  19     b
    933  21  15 Ket
    934  24  21 SBraPos
    935  27   5 SCond
    936  30   1 Cond ref
    937  32  10 Alt
    938  35     a
    939  37  51 Recurse
    940  40     b
    941  42  15 Ket
    942  45  21 KetRpos
    943  48  45 Ket
    944  51   4 CBra 1
    945  55   4 Ket
    946  58  58 Ket
    947  61     End
    948 ------------------------------------------------------------------
    949 Capturing subpattern count = 1
    950 Max back reference = 1
    951 May match empty string
    952 Subject length lower bound = 0
    953     abcde
    954 No match
    955 
    956 /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
    957 ------------------------------------------------------------------
    958   0 194 Bra
    959   3  61 CBra 1
    960   7   3 Recurse
    961  10 131 Recurse
    962  13 138 Recurse
    963  16 145 Recurse
    964  19 152 Recurse
    965  22 159 Recurse
    966  25 166 Recurse
    967  28 173 Recurse
    968  31 180 Recurse
    969  34 180 Recurse
    970  37 173 Recurse
    971  40 166 Recurse
    972  43 159 Recurse
    973  46 152 Recurse
    974  49 145 Recurse
    975  52 138 Recurse
    976  55 131 Recurse
    977  58   3 Recurse
    978  61   0 Recurse
    979  64  61 Ket
    980  67  61 SCBra 1
    981  71   3 Recurse
    982  74 131 Recurse
    983  77 138 Recurse
    984  80 145 Recurse
    985  83 152 Recurse
    986  86 159 Recurse
    987  89 166 Recurse
    988  92 173 Recurse
    989  95 180 Recurse
    990  98 180 Recurse
    991 101 173 Recurse
    992 104 166 Recurse
    993 107 159 Recurse
    994 110 152 Recurse
    995 113 145 Recurse
    996 116 138 Recurse
    997 119 131 Recurse
    998 122   3 Recurse
    999 125   0 Recurse
   1000 128  61 KetRmax
   1001 131   4 CBra 2
   1002 135   4 Ket
   1003 138   4 CBra 3
   1004 142   4 Ket
   1005 145   4 CBra 4
   1006 149   4 Ket
   1007 152   4 CBra 5
   1008 156   4 Ket
   1009 159   4 CBra 6
   1010 163   4 Ket
   1011 166   4 CBra 7
   1012 170   4 Ket
   1013 173   4 CBra 8
   1014 177   4 Ket
   1015 180   4 CBra 9
   1016 184   4 Ket
   1017 187   4 CBra 10
   1018 191   4 Ket
   1019 194 194 Ket
   1020 197     End
   1021 ------------------------------------------------------------------
   1022 Capturing subpattern count = 10
   1023 May match empty string
   1024 Subject length lower bound = 0
   1025 
   1026 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
   1027 Failed: error 114 at offset 509: missing closing parenthesis
   1028 
   1029 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
   1030 
   1031 # End of testinput8
   1032