1/* C code produced by gperf version 3.0.4 */
2/* Command-line: ../src/gperf -n -k1-8 -l  */
3
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27/* The character set is not based on ISO-646.  */
28error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29#endif
30
31
32#define TOTAL_KEYWORDS 40
33#define MIN_WORD_LENGTH 2
34#define MAX_WORD_LENGTH 14
35#define MIN_HASH_VALUE 1
36#define MAX_HASH_VALUE 155
37/* maximum key range = 155, duplicates = 0 */
38
39#ifdef __GNUC__
40__inline
41#else
42#ifdef __cplusplus
43inline
44#endif
45#endif
46static unsigned int
47hash (str, len)
48     register const char *str;
49     register unsigned int len;
50{
51  static unsigned char asso_values[] =
52    {
53      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
54      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
55      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
56      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
57      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
58      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
59      156, 156, 156, 156, 156,   1,  10,  30,  25,   0,
60       10,  55,   6,   0, 156, 156,  15,  15,  35,  15,
61       30,   0,   5,   1,   0,  45,  21,  45,   6,   1,
62      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
63      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
64      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
65      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
66      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
67      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
68      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
69      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
70      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
71      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
72      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
73      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
74      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
75      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
76      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
77      156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
78      156, 156, 156, 156, 156, 156
79    };
80  register int hval = 0;
81
82  switch (len)
83    {
84      default:
85        hval += asso_values[(unsigned char)str[7]];
86      /*FALLTHROUGH*/
87      case 7:
88        hval += asso_values[(unsigned char)str[6]];
89      /*FALLTHROUGH*/
90      case 6:
91        hval += asso_values[(unsigned char)str[5]];
92      /*FALLTHROUGH*/
93      case 5:
94        hval += asso_values[(unsigned char)str[4]];
95      /*FALLTHROUGH*/
96      case 4:
97        hval += asso_values[(unsigned char)str[3]];
98      /*FALLTHROUGH*/
99      case 3:
100        hval += asso_values[(unsigned char)str[2]];
101      /*FALLTHROUGH*/
102      case 2:
103        hval += asso_values[(unsigned char)str[1]];
104      /*FALLTHROUGH*/
105      case 1:
106        hval += asso_values[(unsigned char)str[0]];
107        break;
108    }
109  return hval;
110}
111
112#ifdef __GNUC__
113__inline
114#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
115__attribute__ ((__gnu_inline__))
116#endif
117#endif
118const char *
119in_word_set (str, len)
120     register const char *str;
121     register unsigned int len;
122{
123  static unsigned char lengthtable[] =
124    {
125       0,  3,  0,  0,  0,  0,  4,  0,  0,  0,  2,  2,  0,  5,
126       0,  2,  4,  0,  0,  0,  2,  0,  0,  0,  0,  2,  5,  3,
127       0,  0,  3,  4,  4,  0,  0,  2,  6,  0,  0,  0,  2,  4,
128       0,  0,  0,  4,  3,  0,  0,  0,  3,  4,  0,  0,  0,  3,
129       6,  0,  0,  0,  3,  3,  0,  0,  0,  6,  5,  0,  0,  0,
130      10,  9,  0,  0,  0,  4,  0,  0,  0,  0,  6,  5,  0,  0,
131       0,  7,  0,  0,  0,  0,  6,  0,  0,  0,  0,  5,  0,  0,
132       0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0, 14,  0,
133       0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
134       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
135       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
136       0,  9
137    };
138  static const char * wordlist[] =
139    {
140      "",
141      "SET",
142      "", "", "", "",
143      "EXIT",
144      "", "", "",
145      "IF",
146      "BY",
147      "",
148      "ARRAY",
149      "",
150      "TO",
151      "ELSE",
152      "", "", "",
153      "OR",
154      "", "", "", "",
155      "OF",
156      "ELSIF",
157      "VAR",
158      "", "",
159      "FOR",
160      "TYPE",
161      "CASE",
162      "", "",
163      "IN",
164      "REPEAT",
165      "", "", "",
166      "DO",
167      "THEN",
168      "", "", "",
169      "FROM",
170      "DIV",
171      "", "", "",
172      "NOT",
173      "WITH",
174      "", "", "",
175      "MOD",
176      "EXPORT",
177      "", "", "",
178      "END",
179      "AND",
180      "", "", "",
181      "IMPORT",
182      "WHILE",
183      "", "", "",
184      "DEFINITION",
185      "QUALIFIED",
186      "", "", "",
187      "LOOP",
188      "", "", "", "",
189      "RECORD",
190      "CONST",
191      "", "", "",
192      "POINTER",
193      "", "", "", "",
194      "RETURN",
195      "", "", "", "",
196      "UNTIL",
197      "", "", "", "",
198      "BEGIN",
199      "", "", "", "", "", "", "", "", "",
200      "IMPLEMENTATION",
201      "", "", "", "",
202      "MODULE",
203      "", "", "", "", "", "", "", "", "",
204      "", "", "", "", "", "", "", "", "",
205      "", "", "", "", "", "", "", "", "",
206      "", "", "", "", "", "", "", "", "",
207      "", "", "",
208      "PROCEDURE"
209    };
210
211  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
212    {
213      register int key = hash (str, len);
214
215      if (key <= MAX_HASH_VALUE && key >= 0)
216        if (len == lengthtable[key])
217          {
218            register const char *s = wordlist[key];
219
220            if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
221              return s;
222          }
223    }
224  return 0;
225}
226