Normalmente você usaria
%%
main() { yylex(); }
que lê a entrada do stdin.
Para fazer a leitura de um arquivo
%%
main(int argc, char* argv[]) {
FILE *fh;
if (argc == 2 && (fh = fopen(argv[1], "r")))
yyin = fh;
yylex();
return 0;
}
% de lex & yacc
da fonte O'Reilly.