1/-- These are a few representative patterns whose lengths and offsets are to be
2shown when the link size is 2. This is just a doublecheck test to ensure the
3sizes don't go horribly wrong when something is changed. The pattern contents
4are all themselves checked in other tests. Unicode, including property support,
5is required for these tests. --/
6
7/((?i)b)/BM
8Memory allocation (code space): 24
9------------------------------------------------------------------
10  0   9 Bra
11  2   5 CBra 1
12  5  /i b
13  7   5 Ket
14  9   9 Ket
15 11     End
16------------------------------------------------------------------
17
18/(?s)(.*X|^B)/BM
19Memory allocation (code space): 38
20------------------------------------------------------------------
21  0  16 Bra
22  2   7 CBra 1
23  5     AllAny*
24  7     X
25  9   5 Alt
26 11     ^
27 12     B
28 14  12 Ket
29 16  16 Ket
30 18     End
31------------------------------------------------------------------
32
33/(?s:.*X|^B)/BM
34Memory allocation (code space): 36
35------------------------------------------------------------------
36  0  15 Bra
37  2   6 Bra
38  4     AllAny*
39  6     X
40  8   5 Alt
41 10     ^
42 11     B
43 13  11 Ket
44 15  15 Ket
45 17     End
46------------------------------------------------------------------
47
48/^[[:alnum:]]/BM
49Memory allocation (code space): 46
50------------------------------------------------------------------
51  0  20 Bra
52  2     ^
53  3     [0-9A-Za-z]
54 20  20 Ket
55 22     End
56------------------------------------------------------------------
57
58/#/IxMD
59Memory allocation (code space): 10
60------------------------------------------------------------------
61  0   2 Bra
62  2   2 Ket
63  4     End
64------------------------------------------------------------------
65Capturing subpattern count = 0
66May match empty string
67Options: extended
68No first char
69No need char
70
71/a#/IxMD
72Memory allocation (code space): 14
73------------------------------------------------------------------
74  0   4 Bra
75  2     a
76  4   4 Ket
77  6     End
78------------------------------------------------------------------
79Capturing subpattern count = 0
80Options: extended
81First char = 'a'
82No need char
83
84/x?+/BM
85Memory allocation (code space): 14
86------------------------------------------------------------------
87  0   4 Bra
88  2     x?+
89  4   4 Ket
90  6     End
91------------------------------------------------------------------
92
93/x++/BM
94Memory allocation (code space): 14
95------------------------------------------------------------------
96  0   4 Bra
97  2     x++
98  4   4 Ket
99  6     End
100------------------------------------------------------------------
101
102/x{1,3}+/BM
103Memory allocation (code space): 20
104------------------------------------------------------------------
105  0   7 Bra
106  2     x
107  4     x{0,2}+
108  7   7 Ket
109  9     End
110------------------------------------------------------------------
111
112/(x)*+/BM
113Memory allocation (code space): 26
114------------------------------------------------------------------
115  0  10 Bra
116  2     Braposzero
117  3   5 CBraPos 1
118  6     x
119  8   5 KetRpos
120 10  10 Ket
121 12     End
122------------------------------------------------------------------
123
124/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/BM
125Memory allocation (code space): 142
126------------------------------------------------------------------
127  0  68 Bra
128  2     ^
129  3  63 CBra 1
130  6   5 CBra 2
131  9     a+
132 11   5 Ket
133 13  21 CBra 3
134 16     [ab]+?
135 34  21 Ket
136 36  21 CBra 4
137 39     [bc]+
138 57  21 Ket
139 59   5 CBra 5
140 62     \w*+
141 64   5 Ket
142 66  63 Ket
143 68  68 Ket
144 70     End
145------------------------------------------------------------------
146
147|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|BM
148Memory allocation (code space): 1648
149------------------------------------------------------------------
150  0 821 Bra
151  2     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
152820     \b
153821 821 Ket
154823     End
155------------------------------------------------------------------
156
157|\$\<\.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|BM
158Memory allocation (code space): 1628
159------------------------------------------------------------------
160  0 811 Bra
161  2     $<.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
162810     \b
163811 811 Ket
164813     End
165------------------------------------------------------------------
166
167/(a(?1)b)/BM
168Memory allocation (code space): 32
169------------------------------------------------------------------
170  0  13 Bra
171  2   9 CBra 1
172  5     a
173  7   2 Recurse
174  9     b
175 11   9 Ket
176 13  13 Ket
177 15     End
178------------------------------------------------------------------
179
180/(a(?1)+b)/BM
181Memory allocation (code space): 40
182------------------------------------------------------------------
183  0  17 Bra
184  2  13 CBra 1
185  5     a
186  7   4 Once
187  9   2 Recurse
188 11   4 KetRmax
189 13     b
190 15  13 Ket
191 17  17 Ket
192 19     End
193------------------------------------------------------------------
194
195/a(?P<name1>b|c)d(?P<longername2>e)/BM
196Memory allocation (code space): 80
197------------------------------------------------------------------
198  0  24 Bra
199  2     a
200  4   5 CBra 1
201  7     b
202  9   4 Alt
203 11     c
204 13   9 Ket
205 15     d
206 17   5 CBra 2
207 20     e
208 22   5 Ket
209 24  24 Ket
210 26     End
211------------------------------------------------------------------
212
213/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/BM
214Memory allocation (code space): 73
215------------------------------------------------------------------
216  0  29 Bra
217  2  18 Bra
218  4     a
219  6  12 CBra 1
220  9     c
221 11   5 CBra 2
222 14     d
223 16   5 Ket
224 18  12 Ket
225 20  18 Ket
226 22   5 CBra 3
227 25     a
228 27   5 Ket
229 29  29 Ket
230 31     End
231------------------------------------------------------------------
232
233/(?P<a>a)...(?P=a)bbb(?P>a)d/BM
234Memory allocation (code space): 77
235------------------------------------------------------------------
236  0  24 Bra
237  2   5 CBra 1
238  5     a
239  7   5 Ket
240  9     Any
241 10     Any
242 11     Any
243 12     \1
244 14     bbb
245 20   2 Recurse
246 22     d
247 24  24 Ket
248 26     End
249------------------------------------------------------------------
250
251/abc(?C255)de(?C)f/BM
252Memory allocation (code space): 50
253------------------------------------------------------------------
254  0  22 Bra
255  2     abc
256  8     Callout 255 10 1
257 12     de
258 16     Callout 0 16 1
259 20     f
260 22  22 Ket
261 24     End
262------------------------------------------------------------------
263
264/abcde/CBM
265Memory allocation (code space): 78
266------------------------------------------------------------------
267  0  36 Bra
268  2     Callout 255 0 1
269  6     a
270  8     Callout 255 1 1
271 12     b
272 14     Callout 255 2 1
273 18     c
274 20     Callout 255 3 1
275 24     d
276 26     Callout 255 4 1
277 30     e
278 32     Callout 255 5 0
279 36  36 Ket
280 38     End
281------------------------------------------------------------------
282
283/\x{100}/8BM
284Memory allocation (code space): 14
285------------------------------------------------------------------
286  0   4 Bra
287  2     \x{100}
288  4   4 Ket
289  6     End
290------------------------------------------------------------------
291
292/\x{1000}/8BM
293Memory allocation (code space): 14
294------------------------------------------------------------------
295  0   4 Bra
296  2     \x{1000}
297  4   4 Ket
298  6     End
299------------------------------------------------------------------
300
301/\x{10000}/8BM
302Memory allocation (code space): 16
303------------------------------------------------------------------
304  0   5 Bra
305  2     \x{10000}
306  5   5 Ket
307  7     End
308------------------------------------------------------------------
309
310/\x{100000}/8BM
311Memory allocation (code space): 16
312------------------------------------------------------------------
313  0   5 Bra
314  2     \x{100000}
315  5   5 Ket
316  7     End
317------------------------------------------------------------------
318
319/\x{10ffff}/8BM
320Memory allocation (code space): 16
321------------------------------------------------------------------
322  0   5 Bra
323  2     \x{10ffff}
324  5   5 Ket
325  7     End
326------------------------------------------------------------------
327
328/\x{110000}/8BM
329Failed: character value in \x{} or \o{} is too large at offset 9
330
331/[\x{ff}]/8BM
332Memory allocation (code space): 14
333------------------------------------------------------------------
334  0   4 Bra
335  2     \x{ff}
336  4   4 Ket
337  6     End
338------------------------------------------------------------------
339
340/[\x{100}]/8BM
341Memory allocation (code space): 14
342------------------------------------------------------------------
343  0   4 Bra
344  2     \x{100}
345  4   4 Ket
346  6     End
347------------------------------------------------------------------
348
349/\x80/8BM
350Memory allocation (code space): 14
351------------------------------------------------------------------
352  0   4 Bra
353  2     \x80
354  4   4 Ket
355  6     End
356------------------------------------------------------------------
357
358/\xff/8BM
359Memory allocation (code space): 14
360------------------------------------------------------------------
361  0   4 Bra
362  2     \x{ff}
363  4   4 Ket
364  6     End
365------------------------------------------------------------------
366
367/\x{0041}\x{2262}\x{0391}\x{002e}/D8M
368Memory allocation (code space): 26
369------------------------------------------------------------------
370  0  10 Bra
371  2     A\x{2262}\x{391}.
372 10  10 Ket
373 12     End
374------------------------------------------------------------------
375Capturing subpattern count = 0
376Options: utf
377First char = 'A'
378Need char = '.'
379
380/\x{D55c}\x{ad6d}\x{C5B4}/D8M
381Memory allocation (code space): 22
382------------------------------------------------------------------
383  0   8 Bra
384  2     \x{d55c}\x{ad6d}\x{c5b4}
385  8   8 Ket
386 10     End
387------------------------------------------------------------------
388Capturing subpattern count = 0
389Options: utf
390First char = \x{d55c}
391Need char = \x{c5b4}
392
393/\x{65e5}\x{672c}\x{8a9e}/D8M
394Memory allocation (code space): 22
395------------------------------------------------------------------
396  0   8 Bra
397  2     \x{65e5}\x{672c}\x{8a9e}
398  8   8 Ket
399 10     End
400------------------------------------------------------------------
401Capturing subpattern count = 0
402Options: utf
403First char = \x{65e5}
404Need char = \x{8a9e}
405
406/[\x{100}]/8BM
407Memory allocation (code space): 14
408------------------------------------------------------------------
409  0   4 Bra
410  2     \x{100}
411  4   4 Ket
412  6     End
413------------------------------------------------------------------
414
415/[Z\x{100}]/8BM
416Memory allocation (code space): 54
417------------------------------------------------------------------
418  0  24 Bra
419  2     [Z\x{100}]
420 24  24 Ket
421 26     End
422------------------------------------------------------------------
423
424/^[\x{100}\E-\Q\E\x{150}]/B8M
425Memory allocation (code space): 26
426------------------------------------------------------------------
427  0  10 Bra
428  2     ^
429  3     [\x{100}-\x{150}]
430 10  10 Ket
431 12     End
432------------------------------------------------------------------
433
434/^[\QĀ\E-\QŐ\E]/B8M
435Memory allocation (code space): 26
436------------------------------------------------------------------
437  0  10 Bra
438  2     ^
439  3     [\x{100}-\x{150}]
440 10  10 Ket
441 12     End
442------------------------------------------------------------------
443
444/^[\QĀ\E-\QŐ\E/B8M
445Failed: missing terminating ] for character class at offset 13
446
447/[\p{L}]/BM
448Memory allocation (code space): 24
449------------------------------------------------------------------
450  0   9 Bra
451  2     [\p{L}]
452  9   9 Ket
453 11     End
454------------------------------------------------------------------
455
456/[\p{^L}]/BM
457Memory allocation (code space): 24
458------------------------------------------------------------------
459  0   9 Bra
460  2     [\P{L}]
461  9   9 Ket
462 11     End
463------------------------------------------------------------------
464
465/[\P{L}]/BM
466Memory allocation (code space): 24
467------------------------------------------------------------------
468  0   9 Bra
469  2     [\P{L}]
470  9   9 Ket
471 11     End
472------------------------------------------------------------------
473
474/[\P{^L}]/BM
475Memory allocation (code space): 24
476------------------------------------------------------------------
477  0   9 Bra
478  2     [\p{L}]
479  9   9 Ket
480 11     End
481------------------------------------------------------------------
482
483/[abc\p{L}\x{0660}]/8BM
484Memory allocation (code space): 60
485------------------------------------------------------------------
486  0  27 Bra
487  2     [a-c\p{L}\x{660}]
488 27  27 Ket
489 29     End
490------------------------------------------------------------------
491
492/[\p{Nd}]/8BM
493Memory allocation (code space): 24
494------------------------------------------------------------------
495  0   9 Bra
496  2     [\p{Nd}]
497  9   9 Ket
498 11     End
499------------------------------------------------------------------
500
501/[\p{Nd}+-]+/8BM
502Memory allocation (code space): 58
503------------------------------------------------------------------
504  0  26 Bra
505  2     [+\-\p{Nd}]++
506 26  26 Ket
507 28     End
508------------------------------------------------------------------
509
510/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iBM
511Memory allocation (code space): 32
512------------------------------------------------------------------
513  0  13 Bra
514  2  /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
515 13  13 Ket
516 15     End
517------------------------------------------------------------------
518
519/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8BM
520Memory allocation (code space): 32
521------------------------------------------------------------------
522  0  13 Bra
523  2     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
524 13  13 Ket
525 15     End
526------------------------------------------------------------------
527
528/[\x{105}-\x{109}]/8iBM
529Memory allocation (code space): 24
530------------------------------------------------------------------
531  0   9 Bra
532  2     [\x{104}-\x{109}]
533  9   9 Ket
534 11     End
535------------------------------------------------------------------
536
537/( ( (?(1)0|) )*   )/xBM
538Memory allocation (code space): 52
539------------------------------------------------------------------
540  0  23 Bra
541  2  19 CBra 1
542  5     Brazero
543  6  13 SCBra 2
544  9   6 Cond
545 11   1 Cond ref
546 13     0
547 15   2 Alt
548 17   8 Ket
549 19  13 KetRmax
550 21  19 Ket
551 23  23 Ket
552 25     End
553------------------------------------------------------------------
554
555/(  (?(1)0|)*   )/xBM
556Memory allocation (code space): 42
557------------------------------------------------------------------
558  0  18 Bra
559  2  14 CBra 1
560  5     Brazero
561  6   6 SCond
562  8   1 Cond ref
563 10     0
564 12   2 Alt
565 14   8 KetRmax
566 16  14 Ket
567 18  18 Ket
568 20     End
569------------------------------------------------------------------
570
571/[a]/BM
572Memory allocation (code space): 14
573------------------------------------------------------------------
574  0   4 Bra
575  2     a
576  4   4 Ket
577  6     End
578------------------------------------------------------------------
579
580/[a]/8BM
581Memory allocation (code space): 14
582------------------------------------------------------------------
583  0   4 Bra
584  2     a
585  4   4 Ket
586  6     End
587------------------------------------------------------------------
588
589/[\xaa]/BM
590Memory allocation (code space): 14
591------------------------------------------------------------------
592  0   4 Bra
593  2     \x{aa}
594  4   4 Ket
595  6     End
596------------------------------------------------------------------
597
598/[\xaa]/8BM
599Memory allocation (code space): 14
600------------------------------------------------------------------
601  0   4 Bra
602  2     \x{aa}
603  4   4 Ket
604  6     End
605------------------------------------------------------------------
606
607/[^a]/BM
608Memory allocation (code space): 14
609------------------------------------------------------------------
610  0   4 Bra
611  2     [^a]
612  4   4 Ket
613  6     End
614------------------------------------------------------------------
615
616/[^a]/8BM
617Memory allocation (code space): 14
618------------------------------------------------------------------
619  0   4 Bra
620  2     [^a]
621  4   4 Ket
622  6     End
623------------------------------------------------------------------
624
625/[^\xaa]/BM
626Memory allocation (code space): 14
627------------------------------------------------------------------
628  0   4 Bra
629  2     [^\x{aa}]
630  4   4 Ket
631  6     End
632------------------------------------------------------------------
633
634/[^\xaa]/8BM
635Memory allocation (code space): 14
636------------------------------------------------------------------
637  0   4 Bra
638  2     [^\x{aa}]
639  4   4 Ket
640  6     End
641------------------------------------------------------------------
642
643/[^\d]/8WB
644------------------------------------------------------------------
645  0   9 Bra
646  2     [^\p{Nd}]
647  9   9 Ket
648 11     End
649------------------------------------------------------------------
650
651/[[:^alpha:][:^cntrl:]]+/8WB
652------------------------------------------------------------------
653  0  30 Bra
654  2     [ -~\x80-\xff\P{L}\x{100}-\x{10ffff}]++
655 30  30 Ket
656 32     End
657------------------------------------------------------------------
658
659/[[:^cntrl:][:^alpha:]]+/8WB
660------------------------------------------------------------------
661  0  30 Bra
662  2     [ -~\x80-\xff\x{100}-\x{10ffff}\P{L}]++
663 30  30 Ket
664 32     End
665------------------------------------------------------------------
666
667/[[:alpha:]]+/8WB
668------------------------------------------------------------------
669  0  10 Bra
670  2     [\p{L}]++
671 10  10 Ket
672 12     End
673------------------------------------------------------------------
674
675/[[:^alpha:]\S]+/8WB
676------------------------------------------------------------------
677  0  13 Bra
678  2     [\P{L}\P{Xsp}]++
679 13  13 Ket
680 15     End
681------------------------------------------------------------------
682
683/abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/B
684------------------------------------------------------------------
685  0  60 Bra
686  2     abc
687  8   5 CBra 1
688 11     d
689 13   4 Alt
690 15     e
691 17   9 Ket
692 19     *THEN
693 20     x
694 22  12 CBra 2
695 25     123
696 31     *THEN
697 32     4
698 34  24 Alt
699 36     567
700 42   5 CBra 3
701 45     b
702 47   4 Alt
703 49     q
704 51   9 Ket
705 53     *THEN
706 54     xx
707 58  36 Ket
708 60  60 Ket
709 62     End
710------------------------------------------------------------------
711
712/(((a\2)|(a*)\g<-1>))*a?/B
713------------------------------------------------------------------
714  0  39 Bra
715  2     Brazero
716  3  32 SCBra 1
717  6  27 Once
718  8  12 CBra 2
719 11   7 CBra 3
720 14     a
721 16     \2
722 18   7 Ket
723 20  11 Alt
724 22   5 CBra 4
725 25     a*
726 27   5 Ket
727 29  22 Recurse
728 31  23 Ket
729 33  27 Ket
730 35  32 KetRmax
731 37     a?+
732 39  39 Ket
733 41     End
734------------------------------------------------------------------
735
736/((?+1)(\1))/B
737------------------------------------------------------------------
738  0  20 Bra
739  2  16 Once
740  4  12 CBra 1
741  7   9 Recurse
742  9   5 CBra 2
743 12     \1
744 14   5 Ket
745 16  12 Ket
746 18  16 Ket
747 20  20 Ket
748 22     End
749------------------------------------------------------------------
750
751/.((?2)(?R)\1)()/B
752------------------------------------------------------------------
753  0  23 Bra
754  2     Any
755  3  13 Once
756  5   9 CBra 1
757  8  18 Recurse
758 10   0 Recurse
759 12     \1
760 14   9 Ket
761 16  13 Ket
762 18   3 CBra 2
763 21   3 Ket
764 23  23 Ket
765 25     End
766------------------------------------------------------------------
767
768/-- End of testinput11 --/
769