Não sei o suficiente sobre lex / flex , mas, dado o código que vejo na pergunta, tentaria adicionar esse código a main() :
FILE * myfd = fopen(argv[2], "w");
e use fprintf() em vez de printf() , como em:
{ fprintf(myfd, "%s: is a verb", yytext); }
Eu usei argv[2] como fonte do nome do arquivo, o que significa que você precisa fornecê-lo como segundo argumento na chamada do programa, mas também pode codificar uma string com um nome de arquivo.