Blame src/sjis_prop.c

Packit b89d10
/* ANSI-C code produced by gperf version 3.0.4 */
Packit b89d10
/* Command-line: gperf -pt -T -L ANSI-C -N sjis_lookup_property_name --output-file sjis_prop.c sjis_prop.gperf  */
Packit b89d10
/* Computed positions: -k'1,3' */
Packit b89d10
Packit b89d10
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
Packit b89d10
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
Packit b89d10
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
Packit b89d10
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
Packit b89d10
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
Packit b89d10
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
Packit b89d10
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
Packit b89d10
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
Packit b89d10
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
Packit b89d10
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
Packit b89d10
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
Packit b89d10
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
Packit b89d10
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
Packit b89d10
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
Packit b89d10
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
Packit b89d10
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
Packit b89d10
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
Packit b89d10
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
Packit b89d10
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
Packit b89d10
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
Packit b89d10
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
Packit b89d10
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
Packit b89d10
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
Packit b89d10
/* The character set is not based on ISO-646.  */
Packit b89d10
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
Packit b89d10
#endif
Packit b89d10
Packit b89d10
#line 1 "sjis_prop.gperf"
Packit b89d10
Packit b89d10
#include <string.h>
Packit b89d10
#include "regenc.h"
Packit b89d10
Packit b89d10
#define TOTAL_KEYWORDS 16
Packit b89d10
#define MIN_WORD_LENGTH 4
Packit b89d10
#define MAX_WORD_LENGTH 8
Packit b89d10
#define MIN_HASH_VALUE 4
Packit b89d10
#define MAX_HASH_VALUE 55
Packit b89d10
/* maximum key range = 52, duplicates = 0 */
Packit b89d10
Packit b89d10
#ifdef __GNUC__
Packit b89d10
__inline
Packit b89d10
#else
Packit b89d10
#ifdef __cplusplus
Packit b89d10
inline
Packit b89d10
#endif
Packit b89d10
#endif
Packit b89d10
static unsigned int
Packit b89d10
hash (register const char *str, register unsigned int len)
Packit b89d10
{
Packit b89d10
  static unsigned char asso_values[] =
Packit b89d10
    {
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56,  0,  3, 10, 25, 56,
Packit b89d10
      56, 30,  0, 56, 56,  0, 20, 56, 56, 56,
Packit b89d10
      15, 56, 56, 20, 56, 30, 56,  0,  0, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 15, 56, 56,
Packit b89d10
      56, 56, 56, 25, 56, 10, 56, 56, 56, 56,
Packit b89d10
       5, 56,  0, 56,  0, 56,  5, 56, 56, 20,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
Packit b89d10
      56, 56, 56, 56, 56, 56
Packit b89d10
    };
Packit b89d10
  return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]];
Packit b89d10
}
Packit b89d10
Packit b89d10
#ifdef __GNUC__
Packit b89d10
__inline
Packit b89d10
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
Packit b89d10
__attribute__ ((__gnu_inline__))
Packit b89d10
#endif
Packit b89d10
#endif
Packit b89d10
struct PropertyNameCtype *
Packit b89d10
sjis_lookup_property_name (register const char *str, register unsigned int len)
Packit b89d10
{
Packit b89d10
  static struct PropertyNameCtype wordlist[] =
Packit b89d10
    {
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 23 "sjis_prop.gperf"
Packit b89d10
      {"Word",     12},
Packit b89d10
#line 12 "sjis_prop.gperf"
Packit b89d10
      {"Alpha",     1},
Packit b89d10
      {""}, {""},
Packit b89d10
#line 26 "sjis_prop.gperf"
Packit b89d10
      {"Hiragana", 15},
Packit b89d10
      {""},
Packit b89d10
#line 24 "sjis_prop.gperf"
Packit b89d10
      {"Alnum",    13},
Packit b89d10
      {""}, {""},
Packit b89d10
#line 27 "sjis_prop.gperf"
Packit b89d10
      {"Katakana", 16},
Packit b89d10
      {""},
Packit b89d10
#line 25 "sjis_prop.gperf"
Packit b89d10
      {"ASCII",    14},
Packit b89d10
#line 22 "sjis_prop.gperf"
Packit b89d10
      {"XDigit",   11},
Packit b89d10
      {""}, {""}, {""},
Packit b89d10
#line 14 "sjis_prop.gperf"
Packit b89d10
      {"Cntrl",     3},
Packit b89d10
      {""}, {""},
Packit b89d10
#line 13 "sjis_prop.gperf"
Packit b89d10
      {"Blank",     2},
Packit b89d10
      {""},
Packit b89d10
#line 19 "sjis_prop.gperf"
Packit b89d10
      {"Punct",     8},
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 18 "sjis_prop.gperf"
Packit b89d10
      {"Print",     7},
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 21 "sjis_prop.gperf"
Packit b89d10
      {"Upper",    10},
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 20 "sjis_prop.gperf"
Packit b89d10
      {"Space",     9},
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 17 "sjis_prop.gperf"
Packit b89d10
      {"Lower",     6},
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 16 "sjis_prop.gperf"
Packit b89d10
      {"Graph",     5},
Packit b89d10
      {""}, {""}, {""}, {""},
Packit b89d10
#line 15 "sjis_prop.gperf"
Packit b89d10
      {"Digit",     4}
Packit b89d10
    };
Packit b89d10
Packit b89d10
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
Packit b89d10
    {
Packit b89d10
      register int key = hash (str, len);
Packit b89d10
Packit b89d10
      if (key <= MAX_HASH_VALUE && key >= 0)
Packit b89d10
        {
Packit b89d10
          register const char *s = wordlist[key].name;
Packit b89d10
Packit b89d10
          if (*str == *s && !strcmp (str + 1, s + 1))
Packit b89d10
            return &wordlist[key];
Packit b89d10
        }
Packit b89d10
    }
Packit b89d10
  return 0;
Packit b89d10
}