Olá!
Minha duvida eh de como usar o .c gerado pelo bison com o .c do main do programa principal.
Erika,
O .c gerado pelo Bison contém a função yyparse(), que é o parser propriamento dito.
No arquivo de especificação para o Bison, geralmente incluímos uma função main, chamando a yyparse. Entretanto, incluir essa main no arquivo não é obrigatório.
Se queremos usar o parser junto com um outro programa, que possui outras funcionalidades (como é o caso do EP), basta chamar a função yyparse no código desse outro programa. E depois, na geração do executável desse programa, é preciso ligar o arquivo objeto (.o) do parser.
Estou mandando para vocês um exemplo disso. Esse exemplo é a implementação da questão 4 da prova 2.
O arquivo prog.c possui a função main, que chama a yyparse que está no arquivo parser.c gerado pelo bison. Para gerar o executável desse exmplo - o arquivo prog - basta rodar o comando make (no arquivo Makefile vocês poderão ver as chamadas para o bison e o flex). Para testá-lo, execute:
$ ./prog < anuncios.txt
Kelly
Obrigada professora!