1/-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16 2 or -32) features that are not compatible with the 8-bit library, or which 3 give different output in 16- or 32-bit mode. --/ 4 5< forbid 8W 6 7/a\Cb/ 8 aXb 9 a\nb 10 11/[^\x{c4}]/DZ 12 13/\x{100}/I 14 15/ (?: [\040\t] | \( 16(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 17\) )* # optional leading comment 18(?: (?: 19[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 20(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 21| 22" (?: # opening quote... 23[^\\\x80-\xff\n\015"] # Anything except backslash and quote 24| # or 25\\ [^\x80-\xff] # Escaped something (something != CR) 26)* " # closing quote 27) # initial word 28(?: (?: [\040\t] | \( 29(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 30\) )* \. (?: [\040\t] | \( 31(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 32\) )* (?: 33[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 34(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 35| 36" (?: # opening quote... 37[^\\\x80-\xff\n\015"] # Anything except backslash and quote 38| # or 39\\ [^\x80-\xff] # Escaped something (something != CR) 40)* " # closing quote 41) )* # further okay, if led by a period 42(?: [\040\t] | \( 43(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 44\) )* @ (?: [\040\t] | \( 45(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 46\) )* (?: 47[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 48(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 49| \[ # [ 50(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 51\] # ] 52) # initial subdomain 53(?: # 54(?: [\040\t] | \( 55(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 56\) )* \. # if led by a period... 57(?: [\040\t] | \( 58(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 59\) )* (?: 60[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 61(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 62| \[ # [ 63(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 64\] # ] 65) # ...further okay 66)* 67# address 68| # or 69(?: 70[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 71(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 72| 73" (?: # opening quote... 74[^\\\x80-\xff\n\015"] # Anything except backslash and quote 75| # or 76\\ [^\x80-\xff] # Escaped something (something != CR) 77)* " # closing quote 78) # one word, optionally followed by.... 79(?: 80[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 81\( 82(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 83\) | # comments, or... 84 85" (?: # opening quote... 86[^\\\x80-\xff\n\015"] # Anything except backslash and quote 87| # or 88\\ [^\x80-\xff] # Escaped something (something != CR) 89)* " # closing quote 90# quoted strings 91)* 92< (?: [\040\t] | \( 93(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 94\) )* # leading < 95(?: @ (?: [\040\t] | \( 96(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 97\) )* (?: 98[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 99(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 100| \[ # [ 101(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 102\] # ] 103) # initial subdomain 104(?: # 105(?: [\040\t] | \( 106(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 107\) )* \. # if led by a period... 108(?: [\040\t] | \( 109(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 110\) )* (?: 111[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 112(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 113| \[ # [ 114(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 115\] # ] 116) # ...further okay 117)* 118 119(?: (?: [\040\t] | \( 120(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 121\) )* , (?: [\040\t] | \( 122(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 123\) )* @ (?: [\040\t] | \( 124(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 125\) )* (?: 126[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 127(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 128| \[ # [ 129(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 130\] # ] 131) # initial subdomain 132(?: # 133(?: [\040\t] | \( 134(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 135\) )* \. # if led by a period... 136(?: [\040\t] | \( 137(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 138\) )* (?: 139[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 140(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 141| \[ # [ 142(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 143\] # ] 144) # ...further okay 145)* 146)* # further okay, if led by comma 147: # closing colon 148(?: [\040\t] | \( 149(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 150\) )* )? # optional route 151(?: 152[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 153(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 154| 155" (?: # opening quote... 156[^\\\x80-\xff\n\015"] # Anything except backslash and quote 157| # or 158\\ [^\x80-\xff] # Escaped something (something != CR) 159)* " # closing quote 160) # initial word 161(?: (?: [\040\t] | \( 162(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 163\) )* \. (?: [\040\t] | \( 164(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 165\) )* (?: 166[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 167(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 168| 169" (?: # opening quote... 170[^\\\x80-\xff\n\015"] # Anything except backslash and quote 171| # or 172\\ [^\x80-\xff] # Escaped something (something != CR) 173)* " # closing quote 174) )* # further okay, if led by a period 175(?: [\040\t] | \( 176(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 177\) )* @ (?: [\040\t] | \( 178(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 179\) )* (?: 180[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 181(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 182| \[ # [ 183(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 184\] # ] 185) # initial subdomain 186(?: # 187(?: [\040\t] | \( 188(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 189\) )* \. # if led by a period... 190(?: [\040\t] | \( 191(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 192\) )* (?: 193[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 194(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 195| \[ # [ 196(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 197\] # ] 198) # ...further okay 199)* 200# address spec 201(?: [\040\t] | \( 202(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 203\) )* > # trailing > 204# name and address 205) (?: [\040\t] | \( 206(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 207\) )* # optional trailing comment 208/xSI 209 210/[\h]/BZ 211 >\x09< 212 213/[\h]+/BZ 214 >\x09\x20\xa0< 215 216/[\v]/BZ 217 218/[^\h]/BZ 219 220/\h+/SI 221 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 222 \x{3001}\x{2fff}\x{200a}\xa0\x{2000} 223 224/[\h\x{dc00}]+/BZSI 225 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 226 \x{3001}\x{2fff}\x{200a}\xa0\x{2000} 227 228/\H+/SI 229 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 230 \x{2000}\x{200a}\x{1fff}\x{200b} 231 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 232 \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} 233 234/[\H\x{d800}]+/ 235 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 236 \x{2000}\x{200a}\x{1fff}\x{200b} 237 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 238 \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} 239 240/\v+/SI 241 \x{2027}\x{2030}\x{2028}\x{2029} 242 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 243 244/[\v\x{dc00}]+/BZSI 245 \x{2027}\x{2030}\x{2028}\x{2029} 246 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 247 248/\V+/SI 249 \x{2028}\x{2029}\x{2027}\x{2030} 250 \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 251 252/[\V\x{d800}]+/ 253 \x{2028}\x{2029}\x{2027}\x{2030} 254 \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 255 256/\R+/SI<bsr_unicode> 257 \x{2027}\x{2030}\x{2028}\x{2029} 258 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 259 260/\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I 261 \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00} 262 263/[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZ 264 265/[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZi 266 267/[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZ 268 269/[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZi 270 271/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K 272 XX 273 274/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K 275 XX 276 277/\u0100/<JS>BZ 278 279/[\u0100-\u0200]/<JS>BZ 280 281/\ud800/<JS>BZ 282 283/^\x{ffff}+/i 284 \x{ffff} 285 286/^\x{ffff}?/i 287 \x{ffff} 288 289/^\x{ffff}*/i 290 \x{ffff} 291 292/^\x{ffff}{3}/i 293 \x{ffff}\x{ffff}\x{ffff} 294 295/^\x{ffff}{0,3}/i 296 \x{ffff} 297 298/[^\x00-a]{12,}[^b-\xff]*/BZ 299 300/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ 301 302/a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/BZ 303 304/^[\x{1234}\x{4321}]{2,4}?/ 305 \x{1234}\x{1234}\x{1234} 306 307/-- End of testinput17 --/ 308