in lex how to make yyin point to a file with the main function in yacc?

ajai picture ajai · Nov 25, 2009 · Viewed 16.6k times · Source

I am storing the arguments passed to main in yacc in a file. Now I want the lex to read its input from this file rather than the terminal. I know I can point yyin to a file like yyin = fopen("fn","r"); but this works only when main is in lex. When I use this yyin declaration in main in yacc, it shows an error so please suggest something to overcome this problem.

Answer

user181548 picture user181548 · Nov 25, 2009

You probably just need to declare

extern FILE * yyin;

If that doesn't solve the problem, please give the error message you got.