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.

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