#include <stdio.h>
#include <ctype.h>
#include "word.h"
#include "key.h"
#define MAXWORD 100
struct key keytab[] = {
"#define", 0,
"#elif", 0,
"#else", 0,
"#endif", 0,
"#error", 0,
"#if", 0,
"#ifdef", 0,
"#ifndef", 0,
"#include", 0,
"#pragma", 0,
"#undef", 0,
"auto", 0,
"break", 0,
"case", 0,
"char", 0,
"const", 0,
"continue", 0,
"default", 0,
"do", 0,
"double", 0,
"else", 0,
"enum", 0,
"extern", 0,
"float", 0,
"for", 0,
"goto", 0,
"if", 0,
"int", 0,
"long", 0,
"register", 0,
"return", 0,
"short", 0,
"signed", 0,
"sizeof", 0,
"static", 0,
"struct", 0,
"switch", 0,
"typedef", 0,
"union", 0,
"unsigned", 0,
"void", 0,
"volatile", 0,
"while", 0,
};
int main(void)
{
char word[MAXWORD];
struct key *p;
while (getword(word, MAXWORD) != EOF)
if (isalpha(word[0]) || word[0] == '#')
if ((p = bsearch(word, keytab, NKEYS)) != NULL)
p->count++;
for (p = keytab; p < keytab + NKEYS; ++p)
if(p->count > 0)
printf("%4d %s\n", p->count, p->word);
return 0;
}