JL_DLLEXPORT int jl_id_start_char(uint32_t wc) { if ((wc >= 'A' && wc <= 'Z') || (wc >= 'a' && wc <= 'z') || wc == '_') return 1; if (wc < 0xA1 || wc > 0x10ffff) return 0; return is_wc_cat_id_start(wc, utf8proc_category((utf8proc_int32_t) wc)); }
static int jl_id_start_char(uint32_t wc) { if ((wc >= 'A' && wc <= 'Z') || (wc >= 'a' && wc <= 'z') || wc == '_') return 1; if (wc < 0xA1 || wc > 0x10ffff) return 0; const utf8proc_property_t *prop = utf8proc_get_property(wc); return is_wc_cat_id_start(wc, prop->category); }
JL_DLLEXPORT int jl_id_char(uint32_t wc) { if ((wc >= 'A' && wc <= 'Z') || (wc >= 'a' && wc <= 'z') || wc == '_' || (wc >= '0' && wc <= '9') || wc == '!') return 1; if (wc < 0xA1 || wc > 0x10ffff) return 0; utf8proc_category_t cat = utf8proc_category((utf8proc_int32_t) wc); if (is_wc_cat_id_start(wc, cat)) return 1; if (cat == UTF8PROC_CATEGORY_MN || cat == UTF8PROC_CATEGORY_MC || cat == UTF8PROC_CATEGORY_ND || cat == UTF8PROC_CATEGORY_PC || cat == UTF8PROC_CATEGORY_SK || cat == UTF8PROC_CATEGORY_ME || cat == UTF8PROC_CATEGORY_NO || // primes (single, double, triple, their reverses, and quadruple) (wc >= 0x2032 && wc <= 0x2037) || (wc == 0x2057)) return 1; return 0; }
static int jl_id_char(uint32_t wc) { if ((wc >= 'A' && wc <= 'Z') || (wc >= 'a' && wc <= 'z') || wc == '_' || (wc >= '0' && wc <= '9') || wc == '!') return 1; if (wc < 0xA1 || wc > 0x10ffff) return 0; const utf8proc_property_t *prop = utf8proc_get_property(wc); utf8proc_propval_t cat = prop->category; if (is_wc_cat_id_start(wc, cat)) return 1; if (cat == UTF8PROC_CATEGORY_MN || cat == UTF8PROC_CATEGORY_MC || cat == UTF8PROC_CATEGORY_ND || cat == UTF8PROC_CATEGORY_PC || cat == UTF8PROC_CATEGORY_SK || cat == UTF8PROC_CATEGORY_ME || cat == UTF8PROC_CATEGORY_NO || // primes (wc >= 0x2032 && wc <= 0x2034) || // Other_ID_Continue wc == 0x0387 || wc == 0x19da || (wc >= 0x1369 && wc <= 0x1371)) return 1; return 0; }