1 BEGIN {printf("struct {int n; char *name;} tok_tab[] = {\n");}
2 /#define/ {printf(" {%d, \"%s\"},\n", $3, $2);}
3 /# define/ {printf(" {%d, \"%s\"},\n", $4, $3);}
4 END {printf("};\n#define N_TOK (sizeof tok_tab / sizeof tok_tab[0])\nint n_tok = N_TOK;\n");}