/* Generated by re2c */ #line 1 "unicode_group_S.u--encoding-policy(substitute).re" #include #define YYCTYPE unsigned int bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start S: #line 13 "unicode_group_S.u--encoding-policy(substitute).c" { YYCTYPE yych; yych = *YYCURSOR; if (yych <= 0x00003004) { if (yych <= 0x00001399) { if (yych <= 0x0000060B) { if (yych <= 0x000000B8) { if (yych <= '}') { if (yych <= '>') { if (yych <= '*') { if (yych == '$') goto yy4; } else { if (yych <= '+') goto yy4; if (yych >= '<') goto yy4; } } else { if (yych <= '_') { if (yych == '^') goto yy4; } else { if (yych <= '`') goto yy4; if (yych == '|') goto yy4; } } } else { if (yych <= 0x000000AD) { if (yych <= 0x000000A9) { if (yych <= '~') goto yy4; if (yych >= 0x000000A2) goto yy4; } else { if (yych == 0x000000AC) goto yy4; } } else { if (yych <= 0x000000B4) { if (yych <= 0x000000B1) goto yy4; if (yych >= 0x000000B4) goto yy4; } else { if (yych == 0x000000B6) goto yy4; if (yych >= 0x000000B8) goto yy4; } } } } else { if (yych <= 0x000002EE) { if (yych <= 0x000002C5) { if (yych <= 0x000000F6) { if (yych == 0x000000D7) goto yy4; } else { if (yych <= 0x000000F7) goto yy4; if (yych >= 0x000002C2) goto yy4; } } else { if (yych <= 0x000002E4) { if (yych <= 0x000002D1) goto yy2; if (yych <= 0x000002DF) goto yy4; } else { if (yych == 0x000002EC) goto yy2; if (yych <= 0x000002ED) goto yy4; } } } else { if (yych <= 0x000003F5) { if (yych <= 0x00000375) { if (yych <= 0x000002FF) goto yy4; if (yych >= 0x00000375) goto yy4; } else { if (yych <= 0x00000383) goto yy2; if (yych <= 0x00000385) goto yy4; } } else { if (yych <= 0x00000482) { if (yych <= 0x000003F6) goto yy4; if (yych >= 0x00000482) goto yy4; } else { if (yych <= 0x00000605) goto yy2; if (yych <= 0x00000608) goto yy4; if (yych >= 0x0000060B) goto yy4; } } } } } else { if (yych <= 0x00000E3F) { if (yych <= 0x000009F9) { if (yych <= 0x000006E9) { if (yych <= 0x000006DD) { if (yych <= 0x0000060D) goto yy2; if (yych <= 0x0000060F) goto yy4; } else { if (yych <= 0x000006DE) goto yy4; if (yych >= 0x000006E9) goto yy4; } } else { if (yych <= 0x000007F5) { if (yych <= 0x000006FC) goto yy2; if (yych <= 0x000006FE) goto yy4; } else { if (yych <= 0x000007F6) goto yy4; if (yych <= 0x000009F1) goto yy2; if (yych <= 0x000009F3) goto yy4; } } } else { if (yych <= 0x00000BF2) { if (yych <= 0x00000AF1) { if (yych <= 0x000009FB) goto yy4; if (yych >= 0x00000AF1) goto yy4; } else { if (yych == 0x00000B70) goto yy4; } } else { if (yych <= 0x00000C7F) { if (yych <= 0x00000BFA) goto yy4; if (yych >= 0x00000C7F) goto yy4; } else { if (yych == 0x00000D79) goto yy4; if (yych >= 0x00000E3F) goto yy4; } } } } else { if (yych <= 0x00000FBD) { if (yych <= 0x00000F1F) { if (yych <= 0x00000F12) { if (yych <= 0x00000F00) goto yy2; if (yych <= 0x00000F03) goto yy4; } else { if (yych <= 0x00000F17) goto yy4; if (yych >= 0x00000F1A) goto yy4; } } else { if (yych <= 0x00000F35) { if (yych == 0x00000F34) goto yy4; } else { if (yych == 0x00000F37) goto yy2; if (yych <= 0x00000F38) goto yy4; } } } else { if (yych <= 0x00000FD4) { if (yych <= 0x00000FCC) { if (yych != 0x00000FC6) goto yy4; } else { if (yych <= 0x00000FCD) goto yy2; if (yych <= 0x00000FCF) goto yy4; } } else { if (yych <= 0x0000109F) { if (yych <= 0x00000FD8) goto yy4; if (yych >= 0x0000109E) goto yy4; } else { if (yych == 0x00001360) goto yy4; if (yych >= 0x00001390) goto yy4; } } } } } } else { if (yych <= 0x0000212E) { if (yych <= 0x00002052) { if (yych <= 0x00001FBE) { if (yych <= 0x000019FF) { if (yych <= 0x0000193F) { if (yych == 0x000017DB) goto yy4; } else { if (yych <= 0x00001940) goto yy4; if (yych >= 0x000019DE) goto yy4; } } else { if (yych <= 0x00001B73) { if (yych <= 0x00001B60) goto yy2; if (yych <= 0x00001B6A) goto yy4; } else { if (yych <= 0x00001B7C) goto yy4; if (yych == 0x00001FBD) goto yy4; } } } else { if (yych <= 0x00001FEC) { if (yych <= 0x00001FCF) { if (yych <= 0x00001FC1) goto yy4; if (yych >= 0x00001FCD) goto yy4; } else { if (yych <= 0x00001FDC) goto yy2; if (yych <= 0x00001FDF) goto yy4; } } else { if (yych <= 0x00001FFE) { if (yych <= 0x00001FEF) goto yy4; if (yych >= 0x00001FFD) goto yy4; } else { if (yych == 0x00002044) goto yy4; if (yych >= 0x00002052) goto yy4; } } } } else { if (yych <= 0x00002113) { if (yych <= 0x000020B9) { if (yych <= 0x00002089) { if (yych <= 0x00002079) goto yy2; if (yych <= 0x0000207C) goto yy4; } else { if (yych <= 0x0000208C) goto yy4; if (yych >= 0x000020A0) goto yy4; } } else { if (yych <= 0x00002102) { if (yych <= 0x000020FF) goto yy2; if (yych <= 0x00002101) goto yy4; } else { if (yych == 0x00002107) goto yy2; if (yych <= 0x00002109) goto yy4; } } } else { if (yych <= 0x00002124) { if (yych <= 0x00002118) { if (yych != 0x00002115) goto yy4; } else { if (yych <= 0x0000211D) goto yy2; if (yych <= 0x00002123) goto yy4; } } else { if (yych <= 0x00002127) { if (yych != 0x00002126) goto yy4; } else { if (yych == 0x00002129) goto yy4; if (yych >= 0x0000212E) goto yy4; } } } } } else { if (yych <= 0x000027CA) { if (yych <= 0x000023FF) { if (yych <= 0x0000214D) { if (yych <= 0x0000213F) { if (yych <= 0x00002139) goto yy2; if (yych <= 0x0000213B) goto yy4; } else { if (yych <= 0x00002144) goto yy4; if (yych >= 0x0000214A) goto yy4; } } else { if (yych <= 0x0000218F) { if (yych == 0x0000214F) goto yy4; } else { if (yych <= 0x00002328) goto yy4; if (yych <= 0x0000232A) goto yy2; if (yych <= 0x000023F3) goto yy4; } } } else { if (yych <= 0x000024FF) { if (yych <= 0x0000244A) { if (yych <= 0x00002426) goto yy4; if (yych >= 0x00002440) goto yy4; } else { if (yych <= 0x0000249B) goto yy2; if (yych <= 0x000024E9) goto yy4; } } else { if (yych <= 0x00002767) { if (yych != 0x00002700) goto yy4; } else { if (yych <= 0x00002793) goto yy2; if (yych <= 0x000027C4) goto yy4; if (yych >= 0x000027C7) goto yy4; } } } } else { if (yych <= 0x00002B4F) { if (yych <= 0x00002982) { if (yych <= 0x000027CD) { if (yych == 0x000027CC) goto yy4; } else { if (yych <= 0x000027E5) goto yy4; if (yych >= 0x000027F0) goto yy4; } } else { if (yych <= 0x000029DB) { if (yych <= 0x00002998) goto yy2; if (yych <= 0x000029D7) goto yy4; } else { if (yych <= 0x000029FB) goto yy4; if (yych <= 0x000029FD) goto yy2; if (yych <= 0x00002B4C) goto yy4; } } } else { if (yych <= 0x00002E9A) { if (yych <= 0x00002CEA) { if (yych <= 0x00002B59) goto yy4; if (yych >= 0x00002CE5) goto yy4; } else { if (yych <= 0x00002E7F) goto yy2; if (yych <= 0x00002E99) goto yy4; } } else { if (yych <= 0x00002FD5) { if (yych <= 0x00002EF3) goto yy4; if (yych >= 0x00002F00) goto yy4; } else { if (yych <= 0x00002FEF) goto yy2; if (yych <= 0x00002FFB) goto yy4; if (yych >= 0x00003004) goto yy4; } } } } } } } else { if (yych <= 0x0001D245) { if (yych <= 0x0000FE62) { if (yych <= 0x000032FE) { if (yych <= 0x00003195) { if (yych <= 0x00003037) { if (yych <= 0x0000301F) { if (yych <= 0x00003011) goto yy2; if (yych <= 0x00003013) goto yy4; } else { if (yych <= 0x00003020) goto yy4; if (yych >= 0x00003036) goto yy4; } } else { if (yych <= 0x0000309A) { if (yych <= 0x0000303D) goto yy2; if (yych <= 0x0000303F) goto yy4; } else { if (yych <= 0x0000309C) goto yy4; if (yych <= 0x0000318F) goto yy2; if (yych <= 0x00003191) goto yy4; } } } else { if (yych <= 0x00003229) { if (yych <= 0x000031E3) { if (yych <= 0x0000319F) goto yy4; if (yych >= 0x000031C0) goto yy4; } else { if (yych <= 0x000031FF) goto yy2; if (yych <= 0x0000321E) goto yy4; } } else { if (yych <= 0x0000327F) { if (yych <= 0x00003250) goto yy4; if (yych >= 0x00003260) goto yy4; } else { if (yych <= 0x00003289) goto yy2; if (yych <= 0x000032B0) goto yy4; if (yych >= 0x000032C0) goto yy4; } } } } else { if (yych <= 0x0000A827) { if (yych <= 0x0000A4C6) { if (yych <= 0x00004DBF) { if (yych <= 0x000032FF) goto yy2; if (yych <= 0x000033FF) goto yy4; } else { if (yych <= 0x00004DFF) goto yy4; if (yych >= 0x0000A490) goto yy4; } } else { if (yych <= 0x0000A71F) { if (yych <= 0x0000A6FF) goto yy2; if (yych <= 0x0000A716) goto yy4; } else { if (yych <= 0x0000A721) goto yy4; if (yych <= 0x0000A788) goto yy2; if (yych <= 0x0000A78A) goto yy4; } } } else { if (yych <= 0x0000FB28) { if (yych <= 0x0000A839) { if (yych <= 0x0000A82B) goto yy4; if (yych >= 0x0000A836) goto yy4; } else { if (yych <= 0x0000AA76) goto yy2; if (yych <= 0x0000AA79) goto yy4; } } else { if (yych <= 0x0000FBC1) { if (yych <= 0x0000FB29) goto yy4; if (yych >= 0x0000FBB2) goto yy4; } else { if (yych <= 0x0000FDFB) goto yy2; if (yych <= 0x0000FDFD) goto yy4; if (yych >= 0x0000FE62) goto yy4; } } } } } else { if (yych <= 0x00010102) { if (yych <= 0x0000FF3F) { if (yych <= 0x0000FF04) { if (yych <= 0x0000FE68) { if (yych <= 0x0000FE63) goto yy2; if (yych <= 0x0000FE66) goto yy4; } else { if (yych <= 0x0000FE69) goto yy4; if (yych >= 0x0000FF04) goto yy4; } } else { if (yych <= 0x0000FF1B) { if (yych == 0x0000FF0B) goto yy4; } else { if (yych <= 0x0000FF1E) goto yy4; if (yych == 0x0000FF3E) goto yy4; } } } else { if (yych <= 0x0000FFDF) { if (yych <= 0x0000FF5C) { if (yych <= 0x0000FF40) goto yy4; if (yych >= 0x0000FF5C) goto yy4; } else { if (yych == 0x0000FF5E) goto yy4; } } else { if (yych <= 0x0000FFEE) { if (yych != 0x0000FFE7) goto yy4; } else { if (yych <= 0x0000FFFB) goto yy2; if (yych <= 0x0000FFFD) goto yy4; if (yych >= 0x00010102) goto yy4; } } } } else { if (yych <= 0x0001D128) { if (yych <= 0x0001019B) { if (yych <= 0x00010178) { if (yych <= 0x00010136) goto yy2; if (yych <= 0x0001013F) goto yy4; } else { if (yych <= 0x00010189) goto yy4; if (yych >= 0x00010190) goto yy4; } } else { if (yych <= 0x0001CFFF) { if (yych <= 0x000101CF) goto yy2; if (yych <= 0x000101FC) goto yy4; } else { if (yych <= 0x0001D0F5) goto yy4; if (yych <= 0x0001D0FF) goto yy2; if (yych <= 0x0001D126) goto yy4; } } } else { if (yych <= 0x0001D18B) { if (yych <= 0x0001D16C) { if (yych <= 0x0001D164) goto yy4; if (yych >= 0x0001D16A) goto yy4; } else { if (yych <= 0x0001D182) goto yy2; if (yych <= 0x0001D184) goto yy4; } } else { if (yych <= 0x0001D1DD) { if (yych <= 0x0001D1A9) goto yy4; if (yych >= 0x0001D1AE) goto yy4; } else { if (yych <= 0x0001D1FF) goto yy2; if (yych <= 0x0001D241) goto yy4; if (yych >= 0x0001D245) goto yy4; } } } } } } else { if (yych <= 0x0001F335) { if (yych <= 0x0001F093) { if (yych <= 0x0001D74E) { if (yych <= 0x0001D6DB) { if (yych <= 0x0001D6C0) { if (yych <= 0x0001D2FF) goto yy2; if (yych <= 0x0001D356) goto yy4; } else { if (yych <= 0x0001D6C1) goto yy4; if (yych >= 0x0001D6DB) goto yy4; } } else { if (yych <= 0x0001D714) { if (yych == 0x0001D6FB) goto yy4; } else { if (yych <= 0x0001D715) goto yy4; if (yych == 0x0001D735) goto yy4; } } } else { if (yych <= 0x0001D7A8) { if (yych <= 0x0001D76F) { if (yych <= 0x0001D74F) goto yy4; if (yych >= 0x0001D76F) goto yy4; } else { if (yych == 0x0001D789) goto yy4; } } else { if (yych <= 0x0001D7C3) { if (yych <= 0x0001D7A9) goto yy4; if (yych >= 0x0001D7C3) goto yy4; } else { if (yych <= 0x0001EFFF) goto yy2; if (yych <= 0x0001F02B) goto yy4; if (yych >= 0x0001F030) goto yy4; } } } } else { if (yych <= 0x0001F16F) { if (yych <= 0x0001F0CF) { if (yych <= 0x0001F0B0) { if (yych <= 0x0001F09F) goto yy2; if (yych <= 0x0001F0AE) goto yy4; } else { if (yych <= 0x0001F0BE) goto yy4; if (yych >= 0x0001F0C1) goto yy4; } } else { if (yych <= 0x0001F10F) { if (yych <= 0x0001F0D0) goto yy2; if (yych <= 0x0001F0DF) goto yy4; } else { if (yych == 0x0001F12F) goto yy2; if (yych <= 0x0001F169) goto yy4; } } } else { if (yych <= 0x0001F23F) { if (yych <= 0x0001F202) { if (yych <= 0x0001F19A) goto yy4; if (yych >= 0x0001F1E6) goto yy4; } else { if (yych <= 0x0001F20F) goto yy2; if (yych <= 0x0001F23A) goto yy4; } } else { if (yych <= 0x0001F251) { if (yych <= 0x0001F248) goto yy4; if (yych >= 0x0001F250) goto yy4; } else { if (yych <= 0x0001F2FF) goto yy2; if (yych <= 0x0001F320) goto yy4; if (yych >= 0x0001F330) goto yy4; } } } } } else { if (yych <= 0x0001F610) { if (yych <= 0x0001F43F) { if (yych <= 0x0001F3C4) { if (yych <= 0x0001F37F) { if (yych <= 0x0001F336) goto yy2; if (yych <= 0x0001F37C) goto yy4; } else { if (yych <= 0x0001F393) goto yy4; if (yych >= 0x0001F3A0) goto yy4; } } else { if (yych <= 0x0001F3DF) { if (yych <= 0x0001F3C5) goto yy2; if (yych <= 0x0001F3CA) goto yy4; } else { if (yych <= 0x0001F3F0) goto yy4; if (yych <= 0x0001F3FF) goto yy2; if (yych <= 0x0001F43E) goto yy4; } } } else { if (yych <= 0x0001F4FF) { if (yych <= 0x0001F4F7) { if (yych != 0x0001F441) goto yy4; } else { if (yych <= 0x0001F4F8) goto yy2; if (yych <= 0x0001F4FC) goto yy4; } } else { if (yych <= 0x0001F567) { if (yych <= 0x0001F53D) goto yy4; if (yych >= 0x0001F550) goto yy4; } else { if (yych <= 0x0001F5FA) goto yy2; if (yych != 0x0001F600) goto yy4; } } } } else { if (yych <= 0x0001F627) { if (yych <= 0x0001F618) { if (yych <= 0x0001F615) { if (yych <= 0x0001F611) goto yy2; if (yych <= 0x0001F614) goto yy4; } else { if (yych != 0x0001F617) goto yy4; } } else { if (yych <= 0x0001F61B) { if (yych == 0x0001F61A) goto yy4; } else { if (yych == 0x0001F61F) goto yy2; if (yych <= 0x0001F625) goto yy4; } } } else { if (yych <= 0x0001F640) { if (yych <= 0x0001F62D) { if (yych != 0x0001F62C) goto yy4; } else { if (yych <= 0x0001F62F) goto yy2; if (yych != 0x0001F634) goto yy4; } } else { if (yych <= 0x0001F67F) { if (yych <= 0x0001F644) goto yy2; if (yych <= 0x0001F64F) goto yy4; } else { if (yych <= 0x0001F6C5) goto yy4; if (yych <= 0x0001F6FF) goto yy2; if (yych <= 0x0001F773) goto yy4; } } } } } } } yy2: ++YYCURSOR; #line 13 "unicode_group_S.u--encoding-policy(substitute).re" { return YYCURSOR == limit; } #line 653 "unicode_group_S.u--encoding-policy(substitute).c" yy4: ++YYCURSOR; #line 12 "unicode_group_S.u--encoding-policy(substitute).re" { goto S; } #line 658 "unicode_group_S.u--encoding-policy(substitute).c" } #line 14 "unicode_group_S.u--encoding-policy(substitute).re" } static const unsigned int chars_S [] = {0x24,0x24, 0x2b,0x2b, 0x3c,0x3e, 0x5e,0x5e, 0x60,0x60, 0x7c,0x7c, 0x7e,0x7e, 0xa2,0xa9, 0xac,0xac, 0xae,0xb1, 0xb4,0xb4, 0xb6,0xb6, 0xb8,0xb8, 0xd7,0xd7, 0xf7,0xf7, 0x2c2,0x2c5, 0x2d2,0x2df, 0x2e5,0x2eb, 0x2ed,0x2ed, 0x2ef,0x2ff, 0x375,0x375, 0x384,0x385, 0x3f6,0x3f6, 0x482,0x482, 0x606,0x608, 0x60b,0x60b, 0x60e,0x60f, 0x6de,0x6de, 0x6e9,0x6e9, 0x6fd,0x6fe, 0x7f6,0x7f6, 0x9f2,0x9f3, 0x9fa,0x9fb, 0xaf1,0xaf1, 0xb70,0xb70, 0xbf3,0xbfa, 0xc7f,0xc7f, 0xd79,0xd79, 0xe3f,0xe3f, 0xf01,0xf03, 0xf13,0xf17, 0xf1a,0xf1f, 0xf34,0xf34, 0xf36,0xf36, 0xf38,0xf38, 0xfbe,0xfc5, 0xfc7,0xfcc, 0xfce,0xfcf, 0xfd5,0xfd8, 0x109e,0x109f, 0x1360,0x1360, 0x1390,0x1399, 0x17db,0x17db, 0x1940,0x1940, 0x19de,0x19ff, 0x1b61,0x1b6a, 0x1b74,0x1b7c, 0x1fbd,0x1fbd, 0x1fbf,0x1fc1, 0x1fcd,0x1fcf, 0x1fdd,0x1fdf, 0x1fed,0x1fef, 0x1ffd,0x1ffe, 0x2044,0x2044, 0x2052,0x2052, 0x207a,0x207c, 0x208a,0x208c, 0x20a0,0x20b9, 0x2100,0x2101, 0x2103,0x2106, 0x2108,0x2109, 0x2114,0x2114, 0x2116,0x2118, 0x211e,0x2123, 0x2125,0x2125, 0x2127,0x2127, 0x2129,0x2129, 0x212e,0x212e, 0x213a,0x213b, 0x2140,0x2144, 0x214a,0x214d, 0x214f,0x214f, 0x2190,0x2328, 0x232b,0x23f3, 0x2400,0x2426, 0x2440,0x244a, 0x249c,0x24e9, 0x2500,0x26ff, 0x2701,0x2767, 0x2794,0x27c4, 0x27c7,0x27ca, 0x27cc,0x27cc, 0x27ce,0x27e5, 0x27f0,0x2982, 0x2999,0x29d7, 0x29dc,0x29fb, 0x29fe,0x2b4c, 0x2b50,0x2b59, 0x2ce5,0x2cea, 0x2e80,0x2e99, 0x2e9b,0x2ef3, 0x2f00,0x2fd5, 0x2ff0,0x2ffb, 0x3004,0x3004, 0x3012,0x3013, 0x3020,0x3020, 0x3036,0x3037, 0x303e,0x303f, 0x309b,0x309c, 0x3190,0x3191, 0x3196,0x319f, 0x31c0,0x31e3, 0x3200,0x321e, 0x322a,0x3250, 0x3260,0x327f, 0x328a,0x32b0, 0x32c0,0x32fe, 0x3300,0x33ff, 0x4dc0,0x4dff, 0xa490,0xa4c6, 0xa700,0xa716, 0xa720,0xa721, 0xa789,0xa78a, 0xa828,0xa82b, 0xa836,0xa839, 0xaa77,0xaa79, 0xfb29,0xfb29, 0xfbb2,0xfbc1, 0xfdfc,0xfdfd, 0xfe62,0xfe62, 0xfe64,0xfe66, 0xfe69,0xfe69, 0xff04,0xff04, 0xff0b,0xff0b, 0xff1c,0xff1e, 0xff3e,0xff3e, 0xff40,0xff40, 0xff5c,0xff5c, 0xff5e,0xff5e, 0xffe0,0xffe6, 0xffe8,0xffee, 0xfffc,0xfffd, 0x10102,0x10102, 0x10137,0x1013f, 0x10179,0x10189, 0x10190,0x1019b, 0x101d0,0x101fc, 0x1d000,0x1d0f5, 0x1d100,0x1d126, 0x1d129,0x1d164, 0x1d16a,0x1d16c, 0x1d183,0x1d184, 0x1d18c,0x1d1a9, 0x1d1ae,0x1d1dd, 0x1d200,0x1d241, 0x1d245,0x1d245, 0x1d300,0x1d356, 0x1d6c1,0x1d6c1, 0x1d6db,0x1d6db, 0x1d6fb,0x1d6fb, 0x1d715,0x1d715, 0x1d735,0x1d735, 0x1d74f,0x1d74f, 0x1d76f,0x1d76f, 0x1d789,0x1d789, 0x1d7a9,0x1d7a9, 0x1d7c3,0x1d7c3, 0x1f000,0x1f02b, 0x1f030,0x1f093, 0x1f0a0,0x1f0ae, 0x1f0b1,0x1f0be, 0x1f0c1,0x1f0cf, 0x1f0d1,0x1f0df, 0x1f110,0x1f12e, 0x1f130,0x1f169, 0x1f170,0x1f19a, 0x1f1e6,0x1f202, 0x1f210,0x1f23a, 0x1f240,0x1f248, 0x1f250,0x1f251, 0x1f300,0x1f320, 0x1f330,0x1f335, 0x1f337,0x1f37c, 0x1f380,0x1f393, 0x1f3a0,0x1f3c4, 0x1f3c6,0x1f3ca, 0x1f3e0,0x1f3f0, 0x1f400,0x1f43e, 0x1f440,0x1f440, 0x1f442,0x1f4f7, 0x1f4f9,0x1f4fc, 0x1f500,0x1f53d, 0x1f550,0x1f567, 0x1f5fb,0x1f5ff, 0x1f601,0x1f610, 0x1f612,0x1f614, 0x1f616,0x1f616, 0x1f618,0x1f618, 0x1f61a,0x1f61a, 0x1f61c,0x1f61e, 0x1f620,0x1f625, 0x1f628,0x1f62b, 0x1f62d,0x1f62d, 0x1f630,0x1f633, 0x1f635,0x1f640, 0x1f645,0x1f64f, 0x1f680,0x1f6c5, 0x1f700,0x1f773, 0x0,0x0}; static unsigned int encode_utf32 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s) { unsigned int * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) *s++ = j; return s - s_start; } int main () { YYCTYPE * buffer_S = new YYCTYPE [5509]; unsigned int buffer_len = encode_utf32 (chars_S, sizeof (chars_S) / sizeof (unsigned int), buffer_S); if (!scan (reinterpret_cast (buffer_S), reinterpret_cast (buffer_S + buffer_len))) printf("test 'S' failed\n"); delete [] buffer_S; return 0; }