mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
45741918e1
The reason why this was commented out was because of gperf 3.0 vs 3.1 differences (see [Feature #13883]). Five years passed, I am pretty confident that we can drop support of old versions here. Ditto for uniname2ctype_p(), onig_jis_property(), and zonetab().
52 lines
1.1 KiB
C
52 lines
1.1 KiB
C
%{/* -*- c -*- */
|
|
#define GPERF_DOWNCASE 1
|
|
#define GPERF_CASE_STRNCMP 1
|
|
|
|
static inline int
|
|
gperf_case_strncmp(const char *s1, const char *s2, size_t n)
|
|
{
|
|
const UChar *str = (const UChar *)s1;
|
|
const UChar *s = (const UChar *)s2;
|
|
return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, (int)n);
|
|
}
|
|
|
|
enum onigenc_jis_ctype {
|
|
onigenc_jis_min = ONIGENC_MAX_STD_CTYPE,
|
|
onigenc_jis_hiragana,
|
|
onigenc_jis_katakana,
|
|
onigenc_jis_han,
|
|
onigenc_jis_latin,
|
|
onigenc_jis_greek,
|
|
onigenc_jis_cyrillic,
|
|
onigenc_jis_max
|
|
};
|
|
|
|
enum {PropertyListNum = onigenc_jis_max - onigenc_jis_min - 1};
|
|
|
|
static const OnigCodePoint* const PropertyList[PropertyListNum] = {
|
|
CR_Hiragana,
|
|
CR_Katakana,
|
|
CR_Han,
|
|
CR_Latin,
|
|
CR_Greek,
|
|
CR_Cyrillic,
|
|
};
|
|
|
|
struct enc_property {
|
|
signed char name;
|
|
unsigned char ctype;
|
|
};
|
|
|
|
static const struct enc_property *onig_jis_property(register const char *str, register size_t len);
|
|
%}
|
|
|
|
struct enc_property;
|
|
|
|
%%
|
|
hiragana, onigenc_jis_hiragana
|
|
katakana, onigenc_jis_katakana
|
|
han, onigenc_jis_han
|
|
latin, onigenc_jis_latin
|
|
greek, onigenc_jis_greek
|
|
cyrillic, onigenc_jis_cyrillic
|
|
%%
|