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