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