From 6c4f067834ceefa3a58497985d62977e4f8738e9 Mon Sep 17 00:00:00 2001 From: Yves Orton Date: Sat, 29 Sep 2012 23:57:10 +0200 Subject: improve conditional folding logic in regen/regcharclass.pl --- regcharclass.h | 162 ++++++++++++++------------------------------------------- 1 file changed, 40 insertions(+), 122 deletions(-) (limited to 'regcharclass.h') diff --git a/regcharclass.h b/regcharclass.h index c492d33f7c..d0aedf323c 100644 --- a/regcharclass.h +++ b/regcharclass.h @@ -30,9 +30,7 @@ : ( is_utf8 ) ? \ ( ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ : ( 0x85 == ((U8*)s)[0] ) ) /*** GENERATED CODE ***/ @@ -44,9 +42,7 @@ : ( is_utf8 ) ? \ ( ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ : ( 0x85 == ((U8*)s)[0] ) ) \ : ((e)-(s) > 1) ? \ ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \ @@ -69,9 +65,7 @@ ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ -: ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ -: 0 ) +: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_utf8_safe(s,e) \ @@ -81,16 +75,12 @@ ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \ : ( 0x0D == ((U8*)s)[0] ) ? \ ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \ - : ( 0xC2 == ((U8*)s)[0] ) ? \ - ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : 0 ) \ + : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \ : ((e)-(s) > 0) ? \ ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \ : 0 ) @@ -127,18 +117,12 @@ : ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x9A == ((U8*)s)[1] ) ? \ ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ - : ( 0xA0 == ((U8*)s)[1] ) ? \ - ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ : ( 0xE2 == ((U8*)s)[0] ) ? \ ( ( 0x80 == ((U8*)s)[1] ) ? \ ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ - : ( 0x81 == ((U8*)s)[1] ) ? \ - ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ - : ( 0xE3 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA0 == ((U8*)s)[0] ) ) /*** GENERATED CODE ***/ @@ -151,18 +135,12 @@ : ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x9A == ((U8*)s)[1] ) ? \ ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ - : ( 0xA0 == ((U8*)s)[1] ) ? \ - ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xE2 == ((U8*)s)[0] ) ? \ ( ( 0x80 == ((U8*)s)[1] ) ? \ ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ - : ( 0x81 == ((U8*)s)[1] ) ? \ - ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ - : ( 0xE3 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )\ + : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA0 == ((U8*)s)[0] ) ) \ : ((e)-(s) > 1) ? \ ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \ @@ -184,18 +162,12 @@ : ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x9A == ((U8*)s)[1] ) ? \ ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ - : ( 0xA0 == ((U8*)s)[1] ) ? \ - ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ : ( 0xE2 == ((U8*)s)[0] ) ? \ ( ( 0x80 == ((U8*)s)[1] ) ? \ ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \ - : ( 0x81 == ((U8*)s)[1] ) ? \ - ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ -: ( 0xE3 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ -: 0 ) + : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ +: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_HORIZWS_utf8_safe(s,e) \ @@ -206,23 +178,15 @@ : ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x9A == ((U8*)s)[1] ) ? \ ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ - : ( 0xA0 == ((U8*)s)[1] ) ? \ - ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 ) \ : ( 0xE2 == ((U8*)s)[0] ) ? \ ( ( 0x80 == ((U8*)s)[1] ) ? \ ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\ - : ( 0x81 == ((U8*)s)[1] ) ? \ - ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ - : ( 0xE3 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \ + : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \ - : ( 0xC2 == ((U8*)s)[0] ) ? \ - ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : 0 ) \ + : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 ) \ : ((e)-(s) > 0) ? \ ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) \ : 0 ) @@ -260,9 +224,7 @@ : ( is_utf8 ) ? \ ( ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ : ( 0x85 == ((U8*)s)[0] ) ) /*** GENERATED CODE ***/ @@ -272,9 +234,7 @@ : ( is_utf8 ) ? \ ( ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ : ( 0x85 == ((U8*)s)[0] ) ) \ : ((e)-(s) > 1) ? \ ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ @@ -293,9 +253,7 @@ ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ : ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ -: ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ -: 0 ) +: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_VERTWS_utf8_safe(s,e) \ @@ -303,14 +261,10 @@ ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ : ( 0xC2 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : ( 0xE2 == ((U8*)s)[0] ) ? \ - ( ( ( 0x80 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ - : 0 ) \ + : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \ - : ( 0xC2 == ((U8*)s)[0] ) ? \ - ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \ - : 0 ) \ + : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \ : ((e)-(s) > 0) ? \ ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \ : 0 ) @@ -351,16 +305,12 @@ ( ( 0xEF == ((U8*)s)[0] ) ? \ ( ( 0xB7 == ((U8*)s)[1] ) ? \ ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 ) \ - : ( 0xBF == ((U8*)s)[1] ) ? \ - ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 ) \ : ( 0xF0 == ((U8*)s)[0] ) ? \ ( ( ( ( 0x9F == ((U8*)s)[1] || 0xAF == ((U8*)s)[1] || 0xBF == ((U8*)s)[1] ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\ : ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ? \ ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\ -: ( 0xF4 == ((U8*)s)[0] ) ? \ - ( ( ( ( 0x8F == ((U8*)s)[1] ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\ -: 0 ) +: ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 ) /* SURROGATE: Surrogate characters @@ -381,12 +331,8 @@ ( ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x84 == ((U8*)s)[1] ) ? \ 3 \ - : ( 0x85 == ((U8*)s)[1] ) ? \ - ( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 ) \ - : 0 ) \ -: ( 0xEA == ((U8*)s)[0] ) ? \ - ( ( ( 0xA5 == ((U8*)s)[1] ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )\ -: 0 ) + : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 ) \ +: ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 ) /* GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V) @@ -398,9 +344,7 @@ ( ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? \ ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \ - : ( 0x86 == ((U8*)s)[1] ) ? \ - ( ( ((U8*)s)[2] <= 0xA7 ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \ : ( 0xEA == ((U8*)s)[0] ) ? \ ( ( ((U8*)s)[1] >= 0xB0 ) ? \ 3 \ @@ -412,9 +356,7 @@ 3 \ : ( 0x9E == ((U8*)s)[1] ) ? \ ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \ - : ( 0x9F == ((U8*)s)[1] ) ? \ - ( ( ((U8*)s)[2] <= 0x86 ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \ : 0 ) /* @@ -459,12 +401,8 @@ 3 \ : ( 0x9E == ((U8*)s)[1] ) ? \ ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \ - : ( 0x9F == ((U8*)s)[1] ) ? \ - ( ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )\ - : 0 ) \ -: ( 0xF0 == ((U8*)s)[0] ) ? \ - ( ( ( ( 0x9F == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )\ -: 0 ) + : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\ +: ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 ) /* GCB_T: Grapheme_Cluster_Break=T @@ -479,9 +417,7 @@ : ( 0x87 == ((U8*)s)[1] ) ? \ 3 \ : 0 ) \ -: ( 0xED == ((U8*)s)[0] ) ? \ - ( ( ( 0x9F == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )\ -: 0 ) +: ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 ) /* GCB_V: Grapheme_Cluster_Break=V @@ -493,15 +429,11 @@ ( ( 0xE1 == ((U8*)s)[0] ) ? \ ( ( 0x85 == ((U8*)s)[1] ) ? \ ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \ - : ( 0x86 == ((U8*)s)[1] ) ? \ - ( ( ((U8*)s)[2] <= 0xA7 ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \ : ( 0xED == ((U8*)s)[0] ) ? \ ( ( 0x9E == ((U8*)s)[1] ) ? \ ( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 ) \ - : ( 0x9F == ((U8*)s)[1] ) ? \ - ( ( ((U8*)s)[2] <= 0x86 ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \ : 0 ) /* @@ -520,9 +452,7 @@ ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \ : ( 0x9E == ((U8*)s)[1] ) ? \ ( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 ) \ - : ( 0xA0 == ((U8*)s)[1] ) ? \ - ( ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\ : ( 0xE2 == ((U8*)s)[0] ) ? \ ( ( 0x80 == ((U8*)s)[1] ) ? \ ( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 ) \ @@ -546,9 +476,7 @@ : ( 0xE3 == ((U8*)s)[0] ) ? \ ( ( 0x80 == ((U8*)s)[1] ) ? \ ( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\ - : ( 0x85 == ((U8*)s)[1] ) ? \ - ( ( 0xA4 == ((U8*)s)[2] ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 ) \ : ( 0xEF == ((U8*)s)[0] ) ? \ ( ( 0xB4 == ((U8*)s)[1] ) ? \ ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \ @@ -560,16 +488,10 @@ ( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 ) \ : ( 0xBE == ((U8*)s)[1] ) ? \ ( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \ - : ( 0xBF == ((U8*)s)[1] ) ? \ - ( ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ? 3 : 0 ) \ - : 0 ) \ + : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\ : ( 0xF0 == ((U8*)s)[0] ) ? \ ( ( ( ( 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 ) \ -: 0 ) +: ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 ) /* FOR_TESTING_DEMO: This is used to test if we generate incorrect code (currently it is ok) @@ -583,13 +505,9 @@ ( ( 0xCE == ((U8*)s)[0] ) ? \ ( ( 0xB7 == ((U8*)s)[1] ) ? \ ( ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ - : ( 0xB9 == ((U8*)s)[1] ) ? \ - ( ( ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x88 == ((U8*)s)[3] ) ) && ( 0xCC == ((U8*)s)[4] ) ) && ( 0x81 == ((U8*)s)[5] ) ) ? 6 : 0 )\ - : 0 ) \ + : ( ( ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCC == ((U8*)s)[2] ) ) && ( 0x88 == ((U8*)s)[3] ) ) && ( 0xCC == ((U8*)s)[4] ) ) && ( 0x81 == ((U8*)s)[5] ) ) ? 6 : 0 )\ : 0 ) \ -: ((e)-(s) > 3) ? \ - ( ( ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0xB7 == ((U8*)s)[1] ) ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\ -: 0 ) +: ( ( ( ( ((e)-(s) > 3) && ( 0xCE == ((U8*)s)[0] ) ) && ( 0xB7 == ((U8*)s)[1] ) ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 ) #endif /* H_REGCHARCLASS */ -- cgit v1.2.1