testoutput8-16-3 28 KB

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