aboutsummaryrefslogblamecommitdiff
path: root/6.1/main.c
blob: ce535395602d0a5bcde49681ec06bc04b5ea950e (plain) (tree)





































































                                                                    
#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)
{
	int n;
	char word[MAXWORD];

	while (getword(word, MAXWORD) != EOF)
		if (isalpha(word[0]) || word[0] == '#')
			if ((n = bsearch(word, keytab, NKEYS)) >= 0)
				keytab[n].count++;

	for (n = 0; n < NKEYS; ++n)
		if(keytab[n].count > 0)
			printf("%4d %s\n",
				keytab[n].count, keytab[n].word);

	return 0;
}