chiark / gitweb /
pcre3 (2:8.38-3.1) unstable; urgency=medium
[pcre3.git] / testdata / testoutput14
1 /-- This set of tests is run only with the 8-bit library. They do not require 
2     UTF-8 or Unicode property support. The file starts with all the tests of
3     the POSIX interface, because that is supported only with the 8-bit library.
4     --/
5     
6 < forbid 8W 
7
8 /abc/P
9     abc
10  0: abc
11     *** Failers
12 No match: POSIX code 17: match failed
13
14 /^abc|def/P
15     abcdef
16  0: abc
17     abcdef\B
18  0: def
19
20 /.*((abc)$|(def))/P
21     defabc
22  0: defabc
23  1: abc
24  2: abc
25     \Zdefabc
26  0: def
27  1: def
28  3: def
29
30 /the quick brown fox/P
31     the quick brown fox
32  0: the quick brown fox
33     *** Failers
34 No match: POSIX code 17: match failed
35     The Quick Brown Fox
36 No match: POSIX code 17: match failed
37
38 /the quick brown fox/Pi
39     the quick brown fox
40  0: the quick brown fox
41     The Quick Brown Fox
42  0: The Quick Brown Fox
43
44 /abc.def/P
45     *** Failers
46 No match: POSIX code 17: match failed
47     abc\ndef
48 No match: POSIX code 17: match failed
49
50 /abc$/P
51     abc
52  0: abc
53     abc\n
54  0: abc
55
56 /(abc)\2/P
57 Failed: POSIX code 15: bad back reference at offset 7     
58
59 /(abc\1)/P
60     abc
61 No match: POSIX code 17: match failed
62
63 /a*(b+)(z)(z)/P
64     aaaabbbbzzzz
65  0: aaaabbbbzz
66  1: bbbb
67  2: z
68  3: z
69     aaaabbbbzzzz\O0
70     aaaabbbbzzzz\O1
71  0: aaaabbbbzz
72     aaaabbbbzzzz\O2
73  0: aaaabbbbzz
74  1: bbbb
75     aaaabbbbzzzz\O3
76  0: aaaabbbbzz
77  1: bbbb
78  2: z
79     aaaabbbbzzzz\O4
80  0: aaaabbbbzz
81  1: bbbb
82  2: z
83  3: z
84     aaaabbbbzzzz\O5
85  0: aaaabbbbzz
86  1: bbbb
87  2: z
88  3: z
89
90 /ab.cd/P
91     ab-cd
92  0: ab-cd
93     ab=cd
94  0: ab=cd
95     ** Failers
96 No match: POSIX code 17: match failed
97     ab\ncd
98 No match: POSIX code 17: match failed
99
100 /ab.cd/Ps
101     ab-cd
102  0: ab-cd
103     ab=cd
104  0: ab=cd
105     ab\ncd
106  0: ab\x0acd
107
108 /a(b)c/PN
109     abc
110 Matched with REG_NOSUB
111
112 /a(?P<name>b)c/PN
113     abc
114 Matched with REG_NOSUB
115
116 /a?|b?/P
117     abc
118  0: a
119     ** Failers
120  0: 
121     ddd\N   
122 No match: POSIX code 17: match failed
123
124 /\w+A/P
125    CDAAAAB 
126  0: CDAAAA
127
128 /\w+A/PU
129    CDAAAAB 
130  0: CDA
131    
132 /\Biss\B/I+P
133     Mississippi
134  0: iss
135  0+ issippi
136
137 /abc/\P
138 Failed: POSIX code 9: bad escape sequence at offset 4     
139
140 /-- End of POSIX tests --/ 
141
142 /a\Cb/
143     aXb
144  0: aXb
145     a\nb
146  0: a\x0ab
147     ** Failers (too big char) 
148 No match
149     A\x{123}B 
150 ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
151 ** Truncation will probably give the wrong result.
152 No match
153     A\o{443}B 
154 ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
155 ** Truncation will probably give the wrong result.
156 No match
157   
158 /\x{100}/I
159 Failed: character value in \x{} or \o{} is too large at offset 6
160
161 /\o{400}/I
162 Failed: character value in \x{} or \o{} is too large at offset 6
163
164 /  (?: [\040\t] |  \(
165 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
166 \)  )*                          # optional leading comment
167 (?:    (?:
168 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
169 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
170 |
171 " (?:                      # opening quote...
172 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
173 |                     #    or
174 \\ [^\x80-\xff]           #   Escaped something (something != CR)
175 )* "  # closing quote
176 )                    # initial word
177 (?:  (?: [\040\t] |  \(
178 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
179 \)  )*  \.  (?: [\040\t] |  \(
180 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
181 \)  )*   (?:
182 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
183 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
184 |
185 " (?:                      # opening quote...
186 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
187 |                     #    or
188 \\ [^\x80-\xff]           #   Escaped something (something != CR)
189 )* "  # closing quote
190 )  )* # further okay, if led by a period
191 (?: [\040\t] |  \(
192 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
193 \)  )*  @  (?: [\040\t] |  \(
194 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
195 \)  )*    (?:
196 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
197 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
198 |   \[                         # [
199 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
200 \]                        #           ]
201 )                           # initial subdomain
202 (?:                                  #
203 (?: [\040\t] |  \(
204 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
205 \)  )*  \.                        # if led by a period...
206 (?: [\040\t] |  \(
207 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
208 \)  )*   (?:
209 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
210 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
211 |   \[                         # [
212 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
213 \]                        #           ]
214 )                     #   ...further okay
215 )*
216 # address
217 |                     #  or
218 (?:
219 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
220 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
221 |
222 " (?:                      # opening quote...
223 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
224 |                     #    or
225 \\ [^\x80-\xff]           #   Escaped something (something != CR)
226 )* "  # closing quote
227 )             # one word, optionally followed by....
228 (?:
229 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
230 \(
231 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
232 \)       |  # comments, or...
233
234 " (?:                      # opening quote...
235 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
236 |                     #    or
237 \\ [^\x80-\xff]           #   Escaped something (something != CR)
238 )* "  # closing quote
239 # quoted strings
240 )*
241 <  (?: [\040\t] |  \(
242 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
243 \)  )*                     # leading <
244 (?:  @  (?: [\040\t] |  \(
245 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
246 \)  )*    (?:
247 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
248 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
249 |   \[                         # [
250 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
251 \]                        #           ]
252 )                           # initial subdomain
253 (?:                                  #
254 (?: [\040\t] |  \(
255 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
256 \)  )*  \.                        # if led by a period...
257 (?: [\040\t] |  \(
258 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
259 \)  )*   (?:
260 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
261 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
262 |   \[                         # [
263 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
264 \]                        #           ]
265 )                     #   ...further okay
266 )*
267
268 (?:  (?: [\040\t] |  \(
269 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
270 \)  )*  ,  (?: [\040\t] |  \(
271 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
272 \)  )*  @  (?: [\040\t] |  \(
273 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
274 \)  )*    (?:
275 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
276 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
277 |   \[                         # [
278 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
279 \]                        #           ]
280 )                           # initial subdomain
281 (?:                                  #
282 (?: [\040\t] |  \(
283 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
284 \)  )*  \.                        # if led by a period...
285 (?: [\040\t] |  \(
286 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
287 \)  )*   (?:
288 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
289 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
290 |   \[                         # [
291 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
292 \]                        #           ]
293 )                     #   ...further okay
294 )*
295 )* # further okay, if led by comma
296 :                                # closing colon
297 (?: [\040\t] |  \(
298 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
299 \)  )*  )? #       optional route
300 (?:
301 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
302 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
303 |
304 " (?:                      # opening quote...
305 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
306 |                     #    or
307 \\ [^\x80-\xff]           #   Escaped something (something != CR)
308 )* "  # closing quote
309 )                    # initial word
310 (?:  (?: [\040\t] |  \(
311 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
312 \)  )*  \.  (?: [\040\t] |  \(
313 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
314 \)  )*   (?:
315 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
316 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
317 |
318 " (?:                      # opening quote...
319 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
320 |                     #    or
321 \\ [^\x80-\xff]           #   Escaped something (something != CR)
322 )* "  # closing quote
323 )  )* # further okay, if led by a period
324 (?: [\040\t] |  \(
325 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
326 \)  )*  @  (?: [\040\t] |  \(
327 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
328 \)  )*    (?:
329 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
330 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
331 |   \[                         # [
332 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
333 \]                        #           ]
334 )                           # initial subdomain
335 (?:                                  #
336 (?: [\040\t] |  \(
337 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
338 \)  )*  \.                        # if led by a period...
339 (?: [\040\t] |  \(
340 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
341 \)  )*   (?:
342 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
343 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
344 |   \[                         # [
345 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
346 \]                        #           ]
347 )                     #   ...further okay
348 )*
349 #       address spec
350 (?: [\040\t] |  \(
351 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
352 \)  )*  > #                  trailing >
353 # name and address
354 )  (?: [\040\t] |  \(
355 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
356 \)  )*                       # optional trailing comment
357 /xSI
358 Capturing subpattern count = 0
359 Contains explicit CR or LF match
360 Options: extended
361 No first char
362 No need char
363 Subject length lower bound = 3
364 Starting chars: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 
365   9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e 
366   f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 
367
368 /-- Although this saved pattern was compiled with link-size=2, it does no harm
369 to run this test with other link sizes because it is going to generated a
370 "compiled in wrong mode" error as soon as it is loaded, so the link size does 
371 not matter. --/
372
373 <!testsaved16
374 Compiled pattern loaded from testsaved16
375 No study data
376 Error -28 from pcre_fullinfo(0)
377 Running in 8-bit mode but pattern was compiled in 16-bit mode
378
379 <!testsaved32
380 Compiled pattern loaded from testsaved32
381 No study data
382 Error -28 from pcre_fullinfo(0)
383 Running in 8-bit mode but pattern was compiled in 32-bit mode
384
385 /\h/SI
386 Capturing subpattern count = 0
387 No options
388 No first char
389 No need char
390 Subject length lower bound = 1
391 Starting chars: \x09 \x20 \xa0 
392
393 /\H/SI
394 Capturing subpattern count = 0
395 No options
396 No first char
397 No need char
398 Subject length lower bound = 1
399 No starting char list
400
401 /\v/SI
402 Capturing subpattern count = 0
403 No options
404 No first char
405 No need char
406 Subject length lower bound = 1
407 Starting chars: \x0a \x0b \x0c \x0d \x85 
408
409 /\V/SI
410 Capturing subpattern count = 0
411 No options
412 No first char
413 No need char
414 Subject length lower bound = 1
415 No starting char list
416
417 /\R/SI
418 Capturing subpattern count = 0
419 No options
420 No first char
421 No need char
422 Subject length lower bound = 1
423 Starting chars: \x0a \x0b \x0c \x0d \x85 
424
425 /[\h]/BZ
426 ------------------------------------------------------------------
427         Bra
428         [\x09 \xa0]
429         Ket
430         End
431 ------------------------------------------------------------------
432     >\x09<
433  0: \x09
434
435 /[\h]+/BZ
436 ------------------------------------------------------------------
437         Bra
438         [\x09 \xa0]++
439         Ket
440         End
441 ------------------------------------------------------------------
442     >\x09\x20\xa0<
443  0: \x09 \xa0
444
445 /[\v]/BZ
446 ------------------------------------------------------------------
447         Bra
448         [\x0a-\x0d\x85]
449         Ket
450         End
451 ------------------------------------------------------------------
452
453 /[\H]/BZ
454 ------------------------------------------------------------------
455         Bra
456         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]
457         Ket
458         End
459 ------------------------------------------------------------------
460
461 /[^\h]/BZ
462 ------------------------------------------------------------------
463         Bra
464         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)
465         Ket
466         End
467 ------------------------------------------------------------------
468
469 /[\V]/BZ
470 ------------------------------------------------------------------
471         Bra
472         [\x00-\x09\x0e-\x84\x86-\xff]
473         Ket
474         End
475 ------------------------------------------------------------------
476
477 /[\x0a\V]/BZ
478 ------------------------------------------------------------------
479         Bra
480         [\x00-\x0a\x0e-\x84\x86-\xff]
481         Ket
482         End
483 ------------------------------------------------------------------
484
485 /\777/I
486 Failed: octal value is greater than \377 in 8-bit non-UTF-8 mode at offset 3
487
488 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
489 Failed: name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN) at offset 259
490
491 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
492     XX
493  0: XX
494 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE
495
496 /\u0100/<JS>
497 Failed: character value in \u.... sequence is too large at offset 5
498
499 /[\u0100-\u0200]/<JS>
500 Failed: character value in \u.... sequence is too large at offset 6
501
502 /[^\x00-a]{12,}[^b-\xff]*/BZ
503 ------------------------------------------------------------------
504         Bra
505         [b-\xff] (neg){12,}+
506         [\x00-a] (neg)*+
507         Ket
508         End
509 ------------------------------------------------------------------
510
511 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
512 ------------------------------------------------------------------
513         Bra
514         [\x00-\x08\x0e-\x1f!-\xff] (neg)*+
515         \s*
516          
517         [0-9A-Z_a-z]++
518         \W+
519          
520         [\x00-/:-\xff] (neg)*+
521         \d
522         0 
523         [\x00-/:-@[-^`{-\xff] (neg){4,6}+
524         \w*
525         A
526         Ket
527         End
528 ------------------------------------------------------------------
529
530 /(?'ABC'[bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar](*THEN:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/
531
532 /-- End of testinput14 --/