github的一些开源项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1074 lines
30 KiB

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