Using incomplete types
A header file declares an incomplete type and a family of related functions
- struct Token;
- enum Toktype{WORD, BREAK, END};
- struct Token *Token_make(FILE *);
enum Toktype Token_type
(struct Token *);
char *Token_word(struct Token *);
void Token_destroy(struct Token *);