+struct C_stab_entry *
+in_word_set (str, len)
+ register char *str;
+ register int len;
+{
+
+ static struct C_stab_entry wordlist[] =
+ {
+ {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
+ {"",},
+ {"volatile", 0, st_C_typespec},
+ {"",},
+ {"long", 0, st_C_typespec},
+ {"char", 0, st_C_typespec},
+ {"class", C_PLPL, st_C_struct},
+ {"",}, {"",}, {"",}, {"",},
+ {"const", 0, st_C_typespec},
+ {"",}, {"",}, {"",}, {"",},
+ {"auto", 0, st_C_typespec},
+ {"",}, {"",},
+ {"define", 0, st_C_define},
+ {"",},
+ {"void", 0, st_C_typespec},
+ {"",}, {"",}, {"",},
+ {"extern", 0, st_C_typespec},
+ {"static", 0, st_C_typespec},
+ {"",},
+ {"domain", C_STAR, st_C_struct},
+ {"",},
+ {"typedef", 0, st_C_typedef},
+ {"double", 0, st_C_typespec},
+ {"enum", 0, st_C_enum},
+ {"",}, {"",}, {"",}, {"",},
+ {"int", 0, st_C_typespec},
+ {"",},
+ {"float", 0, st_C_typespec},
+ {"",}, {"",}, {"",},
+ {"struct", 0, st_C_struct},
+ {"",}, {"",}, {"",}, {"",},
+ {"union", 0, st_C_struct},
+ {"",},
+ {"short", 0, st_C_typespec},
+ {"",}, {"",},
+ {"unsigned", 0, st_C_typespec},
+ {"signed", 0, st_C_typespec},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ register int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ register char *s = wordlist[key].name;
+
+ if (*s == *str && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;