 36af74cb25
			
		
	
	36af74cb25
	
	
	
		
			
			Some manual changes done to the library were lost with this update. They will be added in the next commit.
		
			
				
	
	
		
			1029 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1029 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # There are two sorts of patterns in this test. A number of them are
 | |
| # representative patterns whose lengths and offsets are checked. This is just a
 | |
| # doublecheck test to ensure the sizes don't go horribly wrong when something
 | |
| # is changed. The operation of these patterns is checked in other tests.
 | |
| #
 | |
| # This file also contains tests whose output varies with code unit size and/or
 | |
| # link size. Unicode support is required for these tests. There are separate
 | |
| # output files for each code unit size and link size.
 | |
| 
 | |
| #pattern fullbincode,memory
 | |
| 
 | |
| /((?i)b)/
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2   5 CBra 1
 | |
|   5  /i b
 | |
|   7   5 Ket
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(?s)(.*X|^B)/
 | |
| Memory allocation (code space): 76
 | |
| ------------------------------------------------------------------
 | |
|   0  16 Bra
 | |
|   2   7 CBra 1
 | |
|   5     AllAny*
 | |
|   7     X
 | |
|   9   5 Alt
 | |
|  11     ^
 | |
|  12     B
 | |
|  14  12 Ket
 | |
|  16  16 Ket
 | |
|  18     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(?s:.*X|^B)/
 | |
| Memory allocation (code space): 72
 | |
| ------------------------------------------------------------------
 | |
|   0  15 Bra
 | |
|   2   6 Bra
 | |
|   4     AllAny*
 | |
|   6     X
 | |
|   8   5 Alt
 | |
|  10     ^
 | |
|  11     B
 | |
|  13  11 Ket
 | |
|  15  15 Ket
 | |
|  17     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /^[[:alnum:]]/
 | |
| Memory allocation (code space): 60
 | |
| ------------------------------------------------------------------
 | |
|   0  12 Bra
 | |
|   2     ^
 | |
|   3     [0-9A-Za-z]
 | |
|  12  12 Ket
 | |
|  14     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /#/Ix
 | |
| Memory allocation (code space): 20
 | |
| ------------------------------------------------------------------
 | |
|   0   2 Bra
 | |
|   2   2 Ket
 | |
|   4     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 0
 | |
| May match empty string
 | |
| Options: extended
 | |
| Subject length lower bound = 0
 | |
| 
 | |
| /a#/Ix
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     a
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 0
 | |
| Options: extended
 | |
| First code unit = 'a'
 | |
| Subject length lower bound = 1
 | |
| 
 | |
| /x?+/
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     x?+
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /x++/
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     x++
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /x{1,3}+/
 | |
| Memory allocation (code space): 40
 | |
| ------------------------------------------------------------------
 | |
|   0   7 Bra
 | |
|   2     x
 | |
|   4     x{0,2}+
 | |
|   7   7 Ket
 | |
|   9     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(x)*+/
 | |
| Memory allocation (code space): 52
 | |
| ------------------------------------------------------------------
 | |
|   0  10 Bra
 | |
|   2     Braposzero
 | |
|   3   5 CBraPos 1
 | |
|   6     x
 | |
|   8   5 KetRpos
 | |
|  10  10 Ket
 | |
|  12     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
 | |
| Memory allocation (code space): 220
 | |
| ------------------------------------------------------------------
 | |
|   0  52 Bra
 | |
|   2     ^
 | |
|   3  47 CBra 1
 | |
|   6   5 CBra 2
 | |
|   9     a+
 | |
|  11   5 Ket
 | |
|  13  13 CBra 3
 | |
|  16     [ab]+?
 | |
|  26  13 Ket
 | |
|  28  13 CBra 4
 | |
|  31     [bc]+
 | |
|  41  13 Ket
 | |
|  43   5 CBra 5
 | |
|  46     \w*+
 | |
|  48   5 Ket
 | |
|  50  47 Ket
 | |
|  52  52 Ket
 | |
|  54     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| "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"
 | |
| Memory allocation (code space): 3296
 | |
| ------------------------------------------------------------------
 | |
|   0 821 Bra
 | |
|   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
 | |
| 820     \b
 | |
| 821 821 Ket
 | |
| 823     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| "\$\<\.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"
 | |
| Memory allocation (code space): 3256
 | |
| ------------------------------------------------------------------
 | |
|   0 811 Bra
 | |
|   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
 | |
| 810     \b
 | |
| 811 811 Ket
 | |
| 813     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(a(?1)b)/
 | |
| Memory allocation (code space): 64
 | |
| ------------------------------------------------------------------
 | |
|   0  13 Bra
 | |
|   2   9 CBra 1
 | |
|   5     a
 | |
|   7   2 Recurse
 | |
|   9     b
 | |
|  11   9 Ket
 | |
|  13  13 Ket
 | |
|  15     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(a(?1)+b)/
 | |
| Memory allocation (code space): 80
 | |
| ------------------------------------------------------------------
 | |
|   0  17 Bra
 | |
|   2  13 CBra 1
 | |
|   5     a
 | |
|   7   4 Once
 | |
|   9   2 Recurse
 | |
|  11   4 KetRmax
 | |
|  13     b
 | |
|  15  13 Ket
 | |
|  17  17 Ket
 | |
|  19     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /a(?P<name1>b|c)d(?P<longername2>e)/
 | |
| Memory allocation (code space): 108
 | |
| ------------------------------------------------------------------
 | |
|   0  24 Bra
 | |
|   2     a
 | |
|   4   5 CBra 1
 | |
|   7     b
 | |
|   9   4 Alt
 | |
|  11     c
 | |
|  13   9 Ket
 | |
|  15     d
 | |
|  17   5 CBra 2
 | |
|  20     e
 | |
|  22   5 Ket
 | |
|  24  24 Ket
 | |
|  26     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
 | |
| Memory allocation (code space): 128
 | |
| ------------------------------------------------------------------
 | |
|   0  29 Bra
 | |
|   2  18 Bra
 | |
|   4     a
 | |
|   6  12 CBra 1
 | |
|   9     c
 | |
|  11   5 CBra 2
 | |
|  14     d
 | |
|  16   5 Ket
 | |
|  18  12 Ket
 | |
|  20  18 Ket
 | |
|  22   5 CBra 3
 | |
|  25     a
 | |
|  27   5 Ket
 | |
|  29  29 Ket
 | |
|  31     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(?P<a>a)...(?P=a)bbb(?P>a)d/
 | |
| Memory allocation (code space): 108
 | |
| ------------------------------------------------------------------
 | |
|   0  24 Bra
 | |
|   2   5 CBra 1
 | |
|   5     a
 | |
|   7   5 Ket
 | |
|   9     Any
 | |
|  10     Any
 | |
|  11     Any
 | |
|  12     \1
 | |
|  14     bbb
 | |
|  20   2 Recurse
 | |
|  22     d
 | |
|  24  24 Ket
 | |
|  26     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /abc(?C255)de(?C)f/
 | |
| Memory allocation (code space): 100
 | |
| ------------------------------------------------------------------
 | |
|   0  22 Bra
 | |
|   2     abc
 | |
|   8     Callout 255 10 1
 | |
|  12     de
 | |
|  16     Callout 0 16 1
 | |
|  20     f
 | |
|  22  22 Ket
 | |
|  24     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /abcde/auto_callout
 | |
| Memory allocation (code space): 156
 | |
| ------------------------------------------------------------------
 | |
|   0  36 Bra
 | |
|   2     Callout 255 0 1
 | |
|   6     a
 | |
|   8     Callout 255 1 1
 | |
|  12     b
 | |
|  14     Callout 255 2 1
 | |
|  18     c
 | |
|  20     Callout 255 3 1
 | |
|  24     d
 | |
|  26     Callout 255 4 1
 | |
|  30     e
 | |
|  32     Callout 255 5 0
 | |
|  36  36 Ket
 | |
|  38     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{100}/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{100}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{1000}/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{1000}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{10000}/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{10000}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{100000}/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{100000}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{10ffff}/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{10ffff}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{110000}/utf
 | |
| Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
 | |
| 
 | |
| /[\x{ff}]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{ff}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\x{100}]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{100}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x80/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{80}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\xff/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{ff}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
 | |
| Memory allocation (code space): 52
 | |
| ------------------------------------------------------------------
 | |
|   0  10 Bra
 | |
|   2     A\x{2262}\x{391}.
 | |
|  10  10 Ket
 | |
|  12     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 0
 | |
| Options: utf
 | |
| First code unit = 'A'
 | |
| Last code unit = '.'
 | |
| Subject length lower bound = 4
 | |
| 
 | |
| /\x{D55c}\x{ad6d}\x{C5B4}/I,utf
 | |
| Memory allocation (code space): 44
 | |
| ------------------------------------------------------------------
 | |
|   0   8 Bra
 | |
|   2     \x{d55c}\x{ad6d}\x{c5b4}
 | |
|   8   8 Ket
 | |
|  10     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 0
 | |
| Options: utf
 | |
| First code unit = \x{d55c}
 | |
| Last code unit = \x{c5b4}
 | |
| Subject length lower bound = 3
 | |
| 
 | |
| /\x{65e5}\x{672c}\x{8a9e}/I,utf
 | |
| Memory allocation (code space): 44
 | |
| ------------------------------------------------------------------
 | |
|   0   8 Bra
 | |
|   2     \x{65e5}\x{672c}\x{8a9e}
 | |
|   8   8 Ket
 | |
|  10     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 0
 | |
| Options: utf
 | |
| First code unit = \x{65e5}
 | |
| Last code unit = \x{8a9e}
 | |
| Subject length lower bound = 3
 | |
| 
 | |
| /[\x{100}]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{100}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[Z\x{100}]/utf
 | |
| Memory allocation (code space): 76
 | |
| ------------------------------------------------------------------
 | |
|   0  16 Bra
 | |
|   2     [Z\x{100}]
 | |
|  16  16 Ket
 | |
|  18     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /^[\x{100}\E-\Q\E\x{150}]/utf
 | |
| Memory allocation (code space): 52
 | |
| ------------------------------------------------------------------
 | |
|   0  10 Bra
 | |
|   2     ^
 | |
|   3     [\x{100}-\x{150}]
 | |
|  10  10 Ket
 | |
|  12     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /^[\QĀ\E-\QŐ\E]/utf
 | |
| Memory allocation (code space): 52
 | |
| ------------------------------------------------------------------
 | |
|   0  10 Bra
 | |
|   2     ^
 | |
|   3     [\x{100}-\x{150}]
 | |
|  10  10 Ket
 | |
|  12     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /^[\QĀ\E-\QŐ\E/utf
 | |
| Failed: error 106 at offset 13: missing terminating ] for character class
 | |
| 
 | |
| /[\p{L}]/
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [\p{L}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\p{^L}]/
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [\P{L}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\P{L}]/
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [\P{L}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\P{^L}]/
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [\p{L}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[abc\p{L}\x{0660}]/utf
 | |
| Memory allocation (code space): 88
 | |
| ------------------------------------------------------------------
 | |
|   0  19 Bra
 | |
|   2     [a-c\p{L}\x{660}]
 | |
|  19  19 Ket
 | |
|  21     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\p{Nd}]/utf
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [\p{Nd}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\p{Nd}+-]+/utf
 | |
| Memory allocation (code space): 84
 | |
| ------------------------------------------------------------------
 | |
|   0  18 Bra
 | |
|   2     [+\-\p{Nd}]++
 | |
|  18  18 Ket
 | |
|  20     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
 | |
| Memory allocation (code space): 60
 | |
| ------------------------------------------------------------------
 | |
|   0  12 Bra
 | |
|   2  /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
 | |
|  12  12 Ket
 | |
|  14     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
 | |
| Memory allocation (code space): 60
 | |
| ------------------------------------------------------------------
 | |
|   0  12 Bra
 | |
|   2     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
 | |
|  12  12 Ket
 | |
|  14     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\x{105}-\x{109}]/i,utf
 | |
| Memory allocation (code space): 48
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [\x{104}-\x{109}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /( ( (?(1)0|) )*   )/x
 | |
| Memory allocation (code space): 104
 | |
| ------------------------------------------------------------------
 | |
|   0  23 Bra
 | |
|   2  19 CBra 1
 | |
|   5     Brazero
 | |
|   6  13 SCBra 2
 | |
|   9   6 Cond
 | |
|  11   1 Cond ref
 | |
|  13     0
 | |
|  15   2 Alt
 | |
|  17   8 Ket
 | |
|  19  13 KetRmax
 | |
|  21  19 Ket
 | |
|  23  23 Ket
 | |
|  25     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(  (?(1)0|)*   )/x
 | |
| Memory allocation (code space): 84
 | |
| ------------------------------------------------------------------
 | |
|   0  18 Bra
 | |
|   2  14 CBra 1
 | |
|   5     Brazero
 | |
|   6   6 SCond
 | |
|   8   1 Cond ref
 | |
|  10     0
 | |
|  12   2 Alt
 | |
|  14   8 KetRmax
 | |
|  16  14 Ket
 | |
|  18  18 Ket
 | |
|  20     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[a]/
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     a
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[a]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     a
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\xaa]/
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{aa}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[\xaa]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     \x{aa}
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[^a]/
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     [^a]
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[^a]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     [^a]
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[^\xaa]/
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     [^\x{aa}]
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[^\xaa]/utf
 | |
| Memory allocation (code space): 28
 | |
| ------------------------------------------------------------------
 | |
|   0   4 Bra
 | |
|   2     [^\x{aa}]
 | |
|   4   4 Ket
 | |
|   6     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| #pattern -memory
 | |
| 
 | |
| /[^\d]/utf,ucp
 | |
| ------------------------------------------------------------------
 | |
|   0   9 Bra
 | |
|   2     [^\p{Nd}]
 | |
|   9   9 Ket
 | |
|  11     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[[:^alpha:][:^cntrl:]]+/utf,ucp
 | |
| ------------------------------------------------------------------
 | |
|   0  13 Bra
 | |
|   2     [\P{L}\P{Cc}]++
 | |
|  13  13 Ket
 | |
|  15     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[[:^cntrl:][:^alpha:]]+/utf,ucp
 | |
| ------------------------------------------------------------------
 | |
|   0  13 Bra
 | |
|   2     [\P{Cc}\P{L}]++
 | |
|  13  13 Ket
 | |
|  15     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[[:alpha:]]+/utf,ucp
 | |
| ------------------------------------------------------------------
 | |
|   0  10 Bra
 | |
|   2     [\p{L}]++
 | |
|  10  10 Ket
 | |
|  12     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /[[:^alpha:]\S]+/utf,ucp
 | |
| ------------------------------------------------------------------
 | |
|   0  13 Bra
 | |
|   2     [\P{L}\P{Xsp}]++
 | |
|  13  13 Ket
 | |
|  15     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
 | |
| ------------------------------------------------------------------
 | |
|   0  60 Bra
 | |
|   2     abc
 | |
|   8   5 CBra 1
 | |
|  11     d
 | |
|  13   4 Alt
 | |
|  15     e
 | |
|  17   9 Ket
 | |
|  19     *THEN
 | |
|  20     x
 | |
|  22  12 CBra 2
 | |
|  25     123
 | |
|  31     *THEN
 | |
|  32     4
 | |
|  34  24 Alt
 | |
|  36     567
 | |
|  42   5 CBra 3
 | |
|  45     b
 | |
|  47   4 Alt
 | |
|  49     q
 | |
|  51   9 Ket
 | |
|  53     *THEN
 | |
|  54     xx
 | |
|  58  36 Ket
 | |
|  60  60 Ket
 | |
|  62     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(((a\2)|(a*)\g<-1>))*a?/
 | |
| ------------------------------------------------------------------
 | |
|   0  39 Bra
 | |
|   2     Brazero
 | |
|   3  32 SCBra 1
 | |
|   6  27 Once
 | |
|   8  12 CBra 2
 | |
|  11   7 CBra 3
 | |
|  14     a
 | |
|  16     \2
 | |
|  18   7 Ket
 | |
|  20  11 Alt
 | |
|  22   5 CBra 4
 | |
|  25     a*
 | |
|  27   5 Ket
 | |
|  29  22 Recurse
 | |
|  31  23 Ket
 | |
|  33  27 Ket
 | |
|  35  32 KetRmax
 | |
|  37     a?+
 | |
|  39  39 Ket
 | |
|  41     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /((?+1)(\1))/
 | |
| ------------------------------------------------------------------
 | |
|   0  20 Bra
 | |
|   2  16 Once
 | |
|   4  12 CBra 1
 | |
|   7   9 Recurse
 | |
|   9   5 CBra 2
 | |
|  12     \1
 | |
|  14   5 Ket
 | |
|  16  12 Ket
 | |
|  18  16 Ket
 | |
|  20  20 Ket
 | |
|  22     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| "(?1)(?#?'){2}(a)"
 | |
| ------------------------------------------------------------------
 | |
|   0  21 Bra
 | |
|   2   4 Once
 | |
|   4  14 Recurse
 | |
|   6   4 Ket
 | |
|   8   4 Once
 | |
|  10  14 Recurse
 | |
|  12   4 Ket
 | |
|  14   5 CBra 1
 | |
|  17     a
 | |
|  19   5 Ket
 | |
|  21  21 Ket
 | |
|  23     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /.((?2)(?R)|\1|$)()/
 | |
| ------------------------------------------------------------------
 | |
|   0  28 Bra
 | |
|   2     Any
 | |
|   3  18 Once
 | |
|   5   7 CBra 1
 | |
|   8  23 Recurse
 | |
|  10   0 Recurse
 | |
|  12   4 Alt
 | |
|  14     \1
 | |
|  16   3 Alt
 | |
|  18     $
 | |
|  19  14 Ket
 | |
|  21  18 Ket
 | |
|  23   3 CBra 2
 | |
|  26   3 Ket
 | |
|  28  28 Ket
 | |
|  30     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /.((?3)(?R)()(?2)|\1|$)()/
 | |
| ------------------------------------------------------------------
 | |
|   0  35 Bra
 | |
|   2     Any
 | |
|   3  25 Once
 | |
|   5  14 CBra 1
 | |
|   8  30 Recurse
 | |
|  10   0 Recurse
 | |
|  12   3 CBra 2
 | |
|  15   3 Ket
 | |
|  17  12 Recurse
 | |
|  19   4 Alt
 | |
|  21     \1
 | |
|  23   3 Alt
 | |
|  25     $
 | |
|  26  21 Ket
 | |
|  28  25 Ket
 | |
|  30   3 CBra 3
 | |
|  33   3 Ket
 | |
|  35  35 Ket
 | |
|  37     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| /(?1)()((((((\1++))\x85)+)|))/
 | |
| ------------------------------------------------------------------
 | |
|   0  50 Bra
 | |
|   2   4 Recurse
 | |
|   4   3 CBra 1
 | |
|   7   3 Ket
 | |
|   9  39 CBra 2
 | |
|  12  32 CBra 3
 | |
|  15  27 CBra 4
 | |
|  18  22 CBra 5
 | |
|  21  15 CBra 6
 | |
|  24  10 CBra 7
 | |
|  27   5 Once
 | |
|  29     \1+
 | |
|  32   5 Ket
 | |
|  34  10 Ket
 | |
|  36  15 Ket
 | |
|  38     \x{85}
 | |
|  40  22 KetRmax
 | |
|  42  27 Ket
 | |
|  44   2 Alt
 | |
|  46  34 Ket
 | |
|  48  39 Ket
 | |
|  50  50 Ket
 | |
|  52     End
 | |
| ------------------------------------------------------------------
 | |
| 
 | |
| # Check the absolute limit on nesting (?| etc. This varies with code unit
 | |
| # width because the workspace is a different number of bytes. It will fail
 | |
| # with link size 2 in 8-bit and 16-bit but not in 32-bit.
 | |
| 
 | |
| /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
 | |
| )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 | |
| /parens_nest_limit=1000,-fullbincode
 | |
| 
 | |
| # Use "expand" to create some very long patterns with nested parentheses, in
 | |
| # order to test workspace overflow. Again, this varies with code unit width,
 | |
| # and even when it fails in two modes, the error offset differs. It also varies
 | |
| # with link size - hence multiple tests with different values.
 | |
| 
 | |
| /(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000
 | |
| Failed: error 186 at offset 5813: regular expression is too complicated
 | |
| 
 | |
| /(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000
 | |
| Failed: error 186 at offset 5820: regular expression is too complicated
 | |
| 
 | |
| /(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000
 | |
| Failed: error 186 at offset 12820: regular expression is too complicated
 | |
| 
 | |
| /(?(1)(?1)){8,}+()/debug
 | |
| ------------------------------------------------------------------
 | |
|   0  79 Bra
 | |
|   2  70 Once
 | |
|   4   6 Cond
 | |
|   6   1 Cond ref
 | |
|   8  74 Recurse
 | |
|  10   6 Ket
 | |
|  12   6 Cond
 | |
|  14   1 Cond ref
 | |
|  16  74 Recurse
 | |
|  18   6 Ket
 | |
|  20   6 Cond
 | |
|  22   1 Cond ref
 | |
|  24  74 Recurse
 | |
|  26   6 Ket
 | |
|  28   6 Cond
 | |
|  30   1 Cond ref
 | |
|  32  74 Recurse
 | |
|  34   6 Ket
 | |
|  36   6 Cond
 | |
|  38   1 Cond ref
 | |
|  40  74 Recurse
 | |
|  42   6 Ket
 | |
|  44   6 Cond
 | |
|  46   1 Cond ref
 | |
|  48  74 Recurse
 | |
|  50   6 Ket
 | |
|  52   6 Cond
 | |
|  54   1 Cond ref
 | |
|  56  74 Recurse
 | |
|  58   6 Ket
 | |
|  60  10 SBraPos
 | |
|  62   6 SCond
 | |
|  64   1 Cond ref
 | |
|  66  74 Recurse
 | |
|  68   6 Ket
 | |
|  70  10 KetRpos
 | |
|  72  70 Ket
 | |
|  74   3 CBra 1
 | |
|  77   3 Ket
 | |
|  79  79 Ket
 | |
|  81     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 1
 | |
| Max back reference = 1
 | |
| May match empty string
 | |
| Subject length lower bound = 0
 | |
|     abcd
 | |
|  0: 
 | |
|  1: 
 | |
| 
 | |
| /(?(1)|a(?1)b){2,}+()/debug
 | |
| ------------------------------------------------------------------
 | |
|   0  43 Bra
 | |
|   2  34 Once
 | |
|   4   4 Cond
 | |
|   6   1 Cond ref
 | |
|   8   8 Alt
 | |
|  10     a
 | |
|  12  38 Recurse
 | |
|  14     b
 | |
|  16  12 Ket
 | |
|  18  16 SBraPos
 | |
|  20   4 SCond
 | |
|  22   1 Cond ref
 | |
|  24   8 Alt
 | |
|  26     a
 | |
|  28  38 Recurse
 | |
|  30     b
 | |
|  32  12 Ket
 | |
|  34  16 KetRpos
 | |
|  36  34 Ket
 | |
|  38   3 CBra 1
 | |
|  41   3 Ket
 | |
|  43  43 Ket
 | |
|  45     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 1
 | |
| Max back reference = 1
 | |
| May match empty string
 | |
| Subject length lower bound = 0
 | |
|     abcde
 | |
| No match
 | |
| 
 | |
| /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
 | |
| ------------------------------------------------------------------
 | |
|   0 133 Bra
 | |
|   2  41 CBra 1
 | |
|   5   2 Recurse
 | |
|   7  88 Recurse
 | |
|   9  93 Recurse
 | |
|  11  98 Recurse
 | |
|  13 103 Recurse
 | |
|  15 108 Recurse
 | |
|  17 113 Recurse
 | |
|  19 118 Recurse
 | |
|  21 123 Recurse
 | |
|  23 123 Recurse
 | |
|  25 118 Recurse
 | |
|  27 113 Recurse
 | |
|  29 108 Recurse
 | |
|  31 103 Recurse
 | |
|  33  98 Recurse
 | |
|  35  93 Recurse
 | |
|  37  88 Recurse
 | |
|  39   2 Recurse
 | |
|  41   0 Recurse
 | |
|  43  41 Ket
 | |
|  45  41 SCBra 1
 | |
|  48   2 Recurse
 | |
|  50  88 Recurse
 | |
|  52  93 Recurse
 | |
|  54  98 Recurse
 | |
|  56 103 Recurse
 | |
|  58 108 Recurse
 | |
|  60 113 Recurse
 | |
|  62 118 Recurse
 | |
|  64 123 Recurse
 | |
|  66 123 Recurse
 | |
|  68 118 Recurse
 | |
|  70 113 Recurse
 | |
|  72 108 Recurse
 | |
|  74 103 Recurse
 | |
|  76  98 Recurse
 | |
|  78  93 Recurse
 | |
|  80  88 Recurse
 | |
|  82   2 Recurse
 | |
|  84   0 Recurse
 | |
|  86  41 KetRmax
 | |
|  88   3 CBra 2
 | |
|  91   3 Ket
 | |
|  93   3 CBra 3
 | |
|  96   3 Ket
 | |
|  98   3 CBra 4
 | |
| 101   3 Ket
 | |
| 103   3 CBra 5
 | |
| 106   3 Ket
 | |
| 108   3 CBra 6
 | |
| 111   3 Ket
 | |
| 113   3 CBra 7
 | |
| 116   3 Ket
 | |
| 118   3 CBra 8
 | |
| 121   3 Ket
 | |
| 123   3 CBra 9
 | |
| 126   3 Ket
 | |
| 128   3 CBra 10
 | |
| 131   3 Ket
 | |
| 133 133 Ket
 | |
| 135     End
 | |
| ------------------------------------------------------------------
 | |
| Capturing subpattern count = 10
 | |
| May match empty string
 | |
| Subject length lower bound = 0
 | |
| 
 | |
| /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([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)/
 | |
| Failed: error 114 at offset 509: missing closing parenthesis
 | |
| 
 | |
| /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([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
 | |
| 
 | |
| # End of testinput8
 |