/* Generated by re2c */ #line 1 "unicode_group_P.u--encoding-policy(ignore).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 P: #line 13 "unicode_group_P.u--encoding-policy(ignore).c" { YYCTYPE yych; yych = *YYCURSOR; if (yych <= 0x00002052) { if (yych <= 0x0000085E) { if (yych <= 0x00000559) { if (yych <= '{') { if (yych <= ';') { if (yych <= '*') { if (yych <= ' ') goto yy2; if (yych != '$') goto yy4; } else { if (yych <= '+') goto yy2; if (yych <= '/') goto yy4; if (yych >= ':') goto yy4; } } else { if (yych <= ']') { if (yych <= '>') goto yy2; if (yych <= '@') goto yy4; if (yych >= '[') goto yy4; } else { if (yych == '_') goto yy4; if (yych >= '{') goto yy4; } } } else { if (yych <= 0x000000B7) { if (yych <= 0x000000A1) { if (yych == '}') goto yy4; if (yych >= 0x000000A1) goto yy4; } else { if (yych == 0x000000AB) goto yy4; if (yych >= 0x000000B7) goto yy4; } } else { if (yych <= 0x000000BF) { if (yych == 0x000000BB) goto yy4; if (yych >= 0x000000BF) goto yy4; } else { if (yych <= 0x0000037E) { if (yych >= 0x0000037E) goto yy4; } else { if (yych == 0x00000387) goto yy4; } } } } } else { if (yych <= 0x0000060B) { if (yych <= 0x000005C2) { if (yych <= 0x000005BD) { if (yych <= 0x0000055F) goto yy4; if (yych <= 0x00000588) goto yy2; if (yych <= 0x0000058A) goto yy4; } else { if (yych == 0x000005BF) goto yy2; if (yych <= 0x000005C0) goto yy4; } } else { if (yych <= 0x000005F2) { if (yych <= 0x000005C3) goto yy4; if (yych == 0x000005C6) goto yy4; } else { if (yych <= 0x000005F4) goto yy4; if (yych <= 0x00000608) goto yy2; if (yych <= 0x0000060A) goto yy4; } } } else { if (yych <= 0x000006D3) { if (yych <= 0x0000061D) { if (yych <= 0x0000060D) goto yy4; if (yych == 0x0000061B) goto yy4; } else { if (yych <= 0x0000061F) goto yy4; if (yych <= 0x00000669) goto yy2; if (yych <= 0x0000066D) goto yy4; } } else { if (yych <= 0x000007F6) { if (yych <= 0x000006D4) goto yy4; if (yych <= 0x000006FF) goto yy2; if (yych <= 0x0000070D) goto yy4; } else { if (yych <= 0x0000082F) { if (yych <= 0x000007F9) goto yy4; } else { if (yych <= 0x0000083E) goto yy4; if (yych >= 0x0000085E) goto yy4; } } } } } } else { if (yych <= 0x000016EA) { if (yych <= 0x00000F85) { if (yych <= 0x00000E4F) { if (yych <= 0x00000970) { if (yych <= 0x00000963) goto yy2; if (yych <= 0x00000965) goto yy4; if (yych >= 0x00000970) goto yy4; } else { if (yych == 0x00000DF4) goto yy4; if (yych >= 0x00000E4F) goto yy4; } } else { if (yych <= 0x00000F12) { if (yych <= 0x00000E59) goto yy2; if (yych <= 0x00000E5B) goto yy4; if (yych >= 0x00000F04) goto yy4; } else { if (yych <= 0x00000F39) goto yy2; if (yych <= 0x00000F3D) goto yy4; if (yych >= 0x00000F85) goto yy4; } } } else { if (yych <= 0x000010FB) { if (yych <= 0x00000FDA) { if (yych <= 0x00000FCF) goto yy2; if (yych <= 0x00000FD4) goto yy4; if (yych >= 0x00000FD9) goto yy4; } else { if (yych <= 0x00001049) goto yy2; if (yych <= 0x0000104F) goto yy4; if (yych >= 0x000010FB) goto yy4; } } else { if (yych <= 0x00001400) { if (yych <= 0x00001360) goto yy2; if (yych <= 0x00001368) goto yy4; if (yych >= 0x00001400) goto yy4; } else { if (yych <= 0x0000166E) { if (yych >= 0x0000166D) goto yy4; } else { if (yych <= 0x0000169A) goto yy2; if (yych <= 0x0000169C) goto yy4; } } } } } else { if (yych <= 0x00001AAD) { if (yych <= 0x000017FF) { if (yych <= 0x000017D3) { if (yych <= 0x000016ED) goto yy4; if (yych <= 0x00001734) goto yy2; if (yych <= 0x00001736) goto yy4; } else { if (yych == 0x000017D7) goto yy2; if (yych <= 0x000017DA) goto yy4; } } else { if (yych <= 0x00001A1D) { if (yych <= 0x0000180A) goto yy4; if (yych <= 0x00001943) goto yy2; if (yych <= 0x00001945) goto yy4; } else { if (yych <= 0x00001A9F) { if (yych <= 0x00001A1F) goto yy4; } else { if (yych != 0x00001AA7) goto yy4; } } } } else { if (yych <= 0x00001C7F) { if (yych <= 0x00001BFF) { if (yych <= 0x00001B59) goto yy2; if (yych <= 0x00001B60) goto yy4; if (yych >= 0x00001BFC) goto yy4; } else { if (yych <= 0x00001C3A) goto yy2; if (yych <= 0x00001C3F) goto yy4; if (yych >= 0x00001C7E) goto yy4; } } else { if (yych <= 0x00002027) { if (yych == 0x00001CD3) goto yy4; if (yych >= 0x00002010) goto yy4; } else { if (yych <= 0x00002043) { if (yych >= 0x00002030) goto yy4; } else { if (yych <= 0x00002044) goto yy2; if (yych <= 0x00002051) goto yy4; } } } } } } } else { if (yych <= 0x0000A9DF) { if (yych <= 0x00003011) { if (yych <= 0x000029D7) { if (yych <= 0x00002767) { if (yych <= 0x0000208C) { if (yych <= 0x0000205E) goto yy4; if (yych <= 0x0000207C) goto yy2; if (yych <= 0x0000207E) goto yy4; } else { if (yych <= 0x0000208E) goto yy4; if (yych <= 0x00002328) goto yy2; if (yych <= 0x0000232A) goto yy4; } } else { if (yych <= 0x000027E5) { if (yych <= 0x00002775) goto yy4; if (yych <= 0x000027C4) goto yy2; if (yych <= 0x000027C6) goto yy4; } else { if (yych <= 0x000027EF) goto yy4; if (yych <= 0x00002982) goto yy2; if (yych <= 0x00002998) goto yy4; } } } else { if (yych <= 0x00002D6F) { if (yych <= 0x00002CF8) { if (yych <= 0x000029DB) goto yy4; if (yych <= 0x000029FB) goto yy2; if (yych <= 0x000029FD) goto yy4; } else { if (yych == 0x00002CFD) goto yy2; if (yych <= 0x00002CFF) goto yy4; } } else { if (yych <= 0x00002E2F) { if (yych <= 0x00002D70) goto yy4; if (yych <= 0x00002DFF) goto yy2; if (yych <= 0x00002E2E) goto yy4; } else { if (yych <= 0x00003000) { if (yych <= 0x00002E31) goto yy4; } else { if (yych <= 0x00003003) goto yy4; if (yych >= 0x00003008) goto yy4; } } } } } else { if (yych <= 0x0000A67D) { if (yych <= 0x000030A0) { if (yych <= 0x00003030) { if (yych <= 0x00003013) goto yy2; if (yych <= 0x0000301F) goto yy4; if (yych >= 0x00003030) goto yy4; } else { if (yych == 0x0000303D) goto yy4; if (yych >= 0x000030A0) goto yy4; } } else { if (yych <= 0x0000A4FF) { if (yych == 0x000030FB) goto yy4; if (yych >= 0x0000A4FE) goto yy4; } else { if (yych <= 0x0000A60F) { if (yych >= 0x0000A60D) goto yy4; } else { if (yych == 0x0000A673) goto yy4; } } } } else { if (yych <= 0x0000A8F7) { if (yych <= 0x0000A873) { if (yych <= 0x0000A67E) goto yy4; if (yych <= 0x0000A6F1) goto yy2; if (yych <= 0x0000A6F7) goto yy4; } else { if (yych <= 0x0000A877) goto yy4; if (yych <= 0x0000A8CD) goto yy2; if (yych <= 0x0000A8CF) goto yy4; } } else { if (yych <= 0x0000A95E) { if (yych <= 0x0000A8FA) goto yy4; if (yych <= 0x0000A92D) goto yy2; if (yych <= 0x0000A92F) goto yy4; } else { if (yych <= 0x0000A9C0) { if (yych <= 0x0000A95F) goto yy4; } else { if (yych <= 0x0000A9CD) goto yy4; if (yych >= 0x0000A9DE) goto yy4; } } } } } } else { if (yych <= 0x0000FF3E) { if (yych <= 0x0000FE63) { if (yych <= 0x0000FD3F) { if (yych <= 0x0000AADF) { if (yych <= 0x0000AA5B) goto yy2; if (yych <= 0x0000AA5F) goto yy4; if (yych >= 0x0000AADE) goto yy4; } else { if (yych == 0x0000ABEB) goto yy4; if (yych >= 0x0000FD3E) goto yy4; } } else { if (yych <= 0x0000FE52) { if (yych <= 0x0000FE0F) goto yy2; if (yych <= 0x0000FE19) goto yy4; if (yych >= 0x0000FE30) goto yy4; } else { if (yych <= 0x0000FE53) goto yy2; if (yych != 0x0000FE62) goto yy4; } } } else { if (yych <= 0x0000FF0A) { if (yych <= 0x0000FE6B) { if (yych == 0x0000FE68) goto yy4; if (yych >= 0x0000FE6A) goto yy4; } else { if (yych <= 0x0000FF00) goto yy2; if (yych != 0x0000FF04) goto yy4; } } else { if (yych <= 0x0000FF1B) { if (yych <= 0x0000FF0B) goto yy2; if (yych <= 0x0000FF0F) goto yy4; if (yych >= 0x0000FF1A) goto yy4; } else { if (yych <= 0x0000FF20) { if (yych >= 0x0000FF1F) goto yy4; } else { if (yych <= 0x0000FF3A) goto yy2; if (yych <= 0x0000FF3D) goto yy4; } } } } } else { if (yych <= 0x0001091F) { if (yych <= 0x000100FF) { if (yych <= 0x0000FF5C) { if (yych <= 0x0000FF3F) goto yy4; if (yych == 0x0000FF5B) goto yy4; } else { if (yych == 0x0000FF5E) goto yy2; if (yych <= 0x0000FF65) goto yy4; } } else { if (yych <= 0x000103CF) { if (yych <= 0x00010101) goto yy4; if (yych == 0x0001039F) goto yy4; } else { if (yych <= 0x00010856) { if (yych <= 0x000103D0) goto yy4; } else { if (yych <= 0x00010857) goto yy4; if (yych >= 0x0001091F) goto yy4; } } } } else { if (yych <= 0x00010B3F) { if (yych <= 0x00010A58) { if (yych == 0x0001093F) goto yy4; if (yych >= 0x00010A50) goto yy4; } else { if (yych == 0x00010A7F) goto yy4; if (yych >= 0x00010B39) goto yy4; } } else { if (yych <= 0x000110BC) { if (yych <= 0x00011046) goto yy2; if (yych <= 0x0001104D) goto yy4; if (yych >= 0x000110BB) goto yy4; } else { if (yych <= 0x000110C1) { if (yych >= 0x000110BE) goto yy4; } else { if (yych <= 0x0001246F) goto yy2; if (yych <= 0x00012473) goto yy4; } } } } } } } yy2: ++YYCURSOR; #line 13 "unicode_group_P.u--encoding-policy(ignore).re" { return YYCURSOR == limit; } #line 409 "unicode_group_P.u--encoding-policy(ignore).c" yy4: ++YYCURSOR; #line 12 "unicode_group_P.u--encoding-policy(ignore).re" { goto P; } #line 414 "unicode_group_P.u--encoding-policy(ignore).c" } #line 14 "unicode_group_P.u--encoding-policy(ignore).re" } static const unsigned int chars_P [] = {0x21,0x23, 0x25,0x2a, 0x2c,0x2f, 0x3a,0x3b, 0x3f,0x40, 0x5b,0x5d, 0x5f,0x5f, 0x7b,0x7b, 0x7d,0x7d, 0xa1,0xa1, 0xab,0xab, 0xb7,0xb7, 0xbb,0xbb, 0xbf,0xbf, 0x37e,0x37e, 0x387,0x387, 0x55a,0x55f, 0x589,0x58a, 0x5be,0x5be, 0x5c0,0x5c0, 0x5c3,0x5c3, 0x5c6,0x5c6, 0x5f3,0x5f4, 0x609,0x60a, 0x60c,0x60d, 0x61b,0x61b, 0x61e,0x61f, 0x66a,0x66d, 0x6d4,0x6d4, 0x700,0x70d, 0x7f7,0x7f9, 0x830,0x83e, 0x85e,0x85e, 0x964,0x965, 0x970,0x970, 0xdf4,0xdf4, 0xe4f,0xe4f, 0xe5a,0xe5b, 0xf04,0xf12, 0xf3a,0xf3d, 0xf85,0xf85, 0xfd0,0xfd4, 0xfd9,0xfda, 0x104a,0x104f, 0x10fb,0x10fb, 0x1361,0x1368, 0x1400,0x1400, 0x166d,0x166e, 0x169b,0x169c, 0x16eb,0x16ed, 0x1735,0x1736, 0x17d4,0x17d6, 0x17d8,0x17da, 0x1800,0x180a, 0x1944,0x1945, 0x1a1e,0x1a1f, 0x1aa0,0x1aa6, 0x1aa8,0x1aad, 0x1b5a,0x1b60, 0x1bfc,0x1bff, 0x1c3b,0x1c3f, 0x1c7e,0x1c7f, 0x1cd3,0x1cd3, 0x2010,0x2027, 0x2030,0x2043, 0x2045,0x2051, 0x2053,0x205e, 0x207d,0x207e, 0x208d,0x208e, 0x2329,0x232a, 0x2768,0x2775, 0x27c5,0x27c6, 0x27e6,0x27ef, 0x2983,0x2998, 0x29d8,0x29db, 0x29fc,0x29fd, 0x2cf9,0x2cfc, 0x2cfe,0x2cff, 0x2d70,0x2d70, 0x2e00,0x2e2e, 0x2e30,0x2e31, 0x3001,0x3003, 0x3008,0x3011, 0x3014,0x301f, 0x3030,0x3030, 0x303d,0x303d, 0x30a0,0x30a0, 0x30fb,0x30fb, 0xa4fe,0xa4ff, 0xa60d,0xa60f, 0xa673,0xa673, 0xa67e,0xa67e, 0xa6f2,0xa6f7, 0xa874,0xa877, 0xa8ce,0xa8cf, 0xa8f8,0xa8fa, 0xa92e,0xa92f, 0xa95f,0xa95f, 0xa9c1,0xa9cd, 0xa9de,0xa9df, 0xaa5c,0xaa5f, 0xaade,0xaadf, 0xabeb,0xabeb, 0xfd3e,0xfd3f, 0xfe10,0xfe19, 0xfe30,0xfe52, 0xfe54,0xfe61, 0xfe63,0xfe63, 0xfe68,0xfe68, 0xfe6a,0xfe6b, 0xff01,0xff03, 0xff05,0xff0a, 0xff0c,0xff0f, 0xff1a,0xff1b, 0xff1f,0xff20, 0xff3b,0xff3d, 0xff3f,0xff3f, 0xff5b,0xff5b, 0xff5d,0xff5d, 0xff5f,0xff65, 0x10100,0x10101, 0x1039f,0x1039f, 0x103d0,0x103d0, 0x10857,0x10857, 0x1091f,0x1091f, 0x1093f,0x1093f, 0x10a50,0x10a58, 0x10a7f,0x10a7f, 0x10b39,0x10b3f, 0x11047,0x1104d, 0x110bb,0x110bc, 0x110be,0x110c1, 0x12470,0x12473, 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_P = new YYCTYPE [599]; unsigned int buffer_len = encode_utf32 (chars_P, sizeof (chars_P) / sizeof (unsigned int), buffer_P); if (!scan (reinterpret_cast (buffer_P), reinterpret_cast (buffer_P + buffer_len))) printf("test 'P' failed\n"); delete [] buffer_P; return 0; }