From: Karl Williamson Date: Wed, 3 Oct 2012 20:42:51 +0000 (-0600) Subject: regen/regcharclass.pl: Generate macros for multi-char fold sequences X-Git-Tag: v5.17.5~113 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/8769f413b9f20a6cc3b610fc5fa588e3593b5295?ds=inline regen/regcharclass.pl: Generate macros for multi-char fold sequences These will be used in future commits --- diff --git a/regcharclass.h b/regcharclass.h index a34b339..37f57ba 100644 --- a/regcharclass.h +++ b/regcharclass.h @@ -487,6 +487,231 @@ ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\ : ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 ) +/* + MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character + + do regen/regcharclass_multi_char_folds.pl + ®charclass_multi_char_folds::multi_char_folds(1) +*/ +/*** GENERATED CODE ***/ +#define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ +( ((e)-(s) > 5) ? \ + ( ( 0x61 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x66 == ((U8*)s)[0] ) ? \ + ( ( 0x66 == ((U8*)s)[1] ) ? \ + ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ + : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x68 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x69 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x6A == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x73 == ((U8*)s)[0] ) ? \ + ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x74 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0xCA == ((U8*)s)[0] ) ? \ + ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0xCE == ((U8*)s)[0] ) ? \ + ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \ + ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \ + ( ( 0xCD == ((U8*)s)[2] ) ? \ + ( ( 0x82 == ((U8*)s)[3] ) ? \ + ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\ + : 0 ) \ + : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB9 == ((U8*)s)[1] ) ? \ + ( ( 0xCC == ((U8*)s)[2] ) ? \ + ( ( 0x88 == ((U8*)s)[3] ) ? \ + ( ( 0xCC == ((U8*)s)[4] ) ? \ + ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \ + : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\ + : 0 ) \ + : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : 0 ) \ + : ( 0xCF == ((U8*)s)[0] ) ? \ + ( ( 0x81 == ((U8*)s)[1] ) ? \ + ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0x85 == ((U8*)s)[1] ) ? \ + ( ( 0xCC == ((U8*)s)[2] ) ? \ + ( ( 0x88 == ((U8*)s)[3] ) ? \ + ( ( 0xCC == ((U8*)s)[4] ) ? \ + ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \ + : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\ + : ( 0x93 == ((U8*)s)[3] ) ? \ + ( ( 0xCC == ((U8*)s)[4] ) ? \ + ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 ) \ + : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\ + : 0 ) \ + : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0x89 == ((U8*)s)[1] ) ? \ + ( ( 0xCD == ((U8*)s)[2] ) ? \ + ( ( 0x82 == ((U8*)s)[3] ) ? \ + ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\ + : 0 ) \ + : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xD5 == ((U8*)s)[0] ) ? \ + ( ( 0xA5 == ((U8*)s)[1] ) ? \ + ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB4 == ((U8*)s)[1] ) ? \ + ( ( ( 0xD5 == ((U8*)s)[2] ) && ( 0xA5 == ((U8*)s)[3] || 0xAB == ((U8*)s)[3] || 0xAD == ((U8*)s)[3] || 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBC == ((U8*)s)[1] ) ? \ + ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ + : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 || 0xB0 == ((U8*)s)[2] || 0xB4 == ((U8*)s)[2] || 0xBC == ((U8*)s)[2] ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ + : 0 ) \ +: ((e)-(s) > 4) ? \ + ( ( 0x61 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x66 == ((U8*)s)[0] ) ? \ + ( ( 0x66 == ((U8*)s)[1] ) ? \ + ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ + : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x68 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x69 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x6A == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x73 == ((U8*)s)[0] ) ? \ + ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x74 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0xCA == ((U8*)s)[0] ) ? \ + ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0xCE == ((U8*)s)[0] ) ? \ + ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \ + ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \ + ( ( 0xCD == ((U8*)s)[2] ) ? \ + ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ + : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xCF == ((U8*)s)[0] ) ? \ + ( ( 0x81 == ((U8*)s)[1] ) ? \ + ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0x85 == ((U8*)s)[1] ) ? \ + ( ( 0xCC == ((U8*)s)[2] ) ? \ + ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \ + : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0x89 == ((U8*)s)[1] ) ? \ + ( ( 0xCD == ((U8*)s)[2] ) ? \ + ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ + : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xD5 == ((U8*)s)[0] ) ? \ + ( ( 0xA5 == ((U8*)s)[1] ) ? \ + ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB4 == ((U8*)s)[1] ) ? \ + ( ( ( 0xD5 == ((U8*)s)[2] ) && ( 0xA5 == ((U8*)s)[3] || 0xAB == ((U8*)s)[3] || 0xAD == ((U8*)s)[3] || 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xE1 == ((U8*)s)[0] ) ? \ + ( ( 0xBC == ((U8*)s)[1] ) ? \ + ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ + : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 || 0xB0 == ((U8*)s)[2] || 0xB4 == ((U8*)s)[2] || 0xBC == ((U8*)s)[2] ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\ + : 0 ) \ +: ((e)-(s) > 3) ? \ + ( ( 0x61 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x66 == ((U8*)s)[0] ) ? \ + ( ( 0x66 == ((U8*)s)[1] ) ? \ + ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ + : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x68 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x69 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x6A == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x73 == ((U8*)s)[0] ) ? \ + ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x74 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0xCA == ((U8*)s)[0] ) ? \ + ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0xCE == ((U8*)s)[0] ) ? \ + ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \ + ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \ + ( ( 0xCD == ((U8*)s)[2] ) ? \ + ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ + : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xCF == ((U8*)s)[0] ) ? \ + ( ( 0x81 == ((U8*)s)[1] ) ? \ + ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0x85 == ((U8*)s)[1] ) ? \ + ( ( 0xCC == ((U8*)s)[2] ) ? \ + ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \ + : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0x89 == ((U8*)s)[1] ) ? \ + ( ( 0xCD == ((U8*)s)[2] ) ? \ + ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \ + : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xD5 == ((U8*)s)[0] ) ? \ + ( ( 0xA5 == ((U8*)s)[1] ) ? \ + ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( 0xB4 == ((U8*)s)[1] ) ? \ + ( ( ( 0xD5 == ((U8*)s)[2] ) && ( 0xA5 == ((U8*)s)[3] || 0xAB == ((U8*)s)[3] || 0xAD == ((U8*)s)[3] || 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\ + : 0 ) \ +: ((e)-(s) > 2) ? \ + ( ( 0x61 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x66 == ((U8*)s)[0] ) ? \ + ( ( 0x66 == ((U8*)s)[1] ) ? \ + ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \ + : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x68 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x69 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x6A == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x73 == ((U8*)s)[0] ) ? \ + ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \ + : ( 0x74 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \ + ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\ +: ((e)-(s) > 1) ? \ + ( ( 0x66 == ((U8*)s)[0] ) ? \ + ( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\ + : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\ +: 0 ) + +/* + MULTI_CHAR_FOLD: multi-char ascii strings that are folded to by a single character + + ®charclass_multi_char_folds::multi_char_folds(0) +*/ +/*** GENERATED CODE ***/ +#define is_MULTI_CHAR_FOLD_low_safe(s,e) \ +( ((e)-(s) > 2) ? \ + ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \ + ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ? \ + ( ( 0x49 == ((U8*)s)[2] || 0x4C == ((U8*)s)[2] || 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )\ + : ( 0x49 == ((U8*)s)[1] || 0x4C == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\ + : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) || ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ) ? 2 : 0 )\ +: ((e)-(s) > 1) ? \ + ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \ + ( ( 0x46 == ((U8*)s)[1] || 0x49 == ((U8*)s)[1] || 0x4C == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\ + : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) || ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ) ? 2 : 0 )\ +: 0 ) + #endif /* H_REGCHARCLASS */ diff --git a/regen/regcharclass.pl b/regen/regcharclass.pl index 5d17c44..37a8682 100755 --- a/regen/regcharclass.pl +++ b/regen/regcharclass.pl @@ -1245,3 +1245,16 @@ UTF8_CHAR: Matches utf8 from 1 to 5 bytes QUOTEMETA: Meta-characters that \Q should quote => high :fast \p{_Perl_Quotemeta} + +MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character +=> UTF8 :safe +do regen/regcharclass_multi_char_folds.pl + +# 1 => All folds +®charclass_multi_char_folds::multi_char_folds(1) + +MULTI_CHAR_FOLD: multi-char ascii strings that are folded to by a single character +=> low : safe + +# 0 => ASCII-only +®charclass_multi_char_folds::multi_char_folds(0)