%{ | |
#define YY_USER_INIT open_input_file() | |
extern FILE *yyin; | |
void open_input_file(void) | |
{ | |
char *file_name,buffer[1024]; | |
yyin = NULL; | |
while(yyin == NULL){ | |
printf("Input file: "); | |
file_name = fgets(buffer,1024,stdin); | |
if(file_name){ | |
file_name[strlen(file_name)-1] = '\0'; | |
yyin = fopen(file_name,"r"); | |
if(yyin == NULL){ | |
printf("Unable to open \"%s\"\n",file_name); | |
} | |
} else { | |
printf("stdin\n"); | |
yyin = stdin; | |
break; | |
} | |
} | |
} | |
%} | |
%% |