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