Arquivo de token C definido para flex?

Eu quero dividir um arquivo C em tokens, não para compilar, mas para analisar. Acho que isso deve ser bem direto e tentei procurar on-line por umtokens.lrquivo @ (ou algo semelhante) para flex com toda a gramática C já definida, mas não foi possível encontrar nada. Gostaria de saber se há algum tipo de gramática definida flutuando por aí, ou se talvez eu esteja fazendo tudo errado.

questionAnswers(1)

yourAnswerToTheQuestion