%{
#include<stdio.h>
int pc=0, sc=0;
%}
%%
“printf” { fprintf(yyout,”writef”); pc++;}
“scanf” { fprintf(yyout,”readf”); sc++;}
%%
int yywrap()
{
return 1;
}
main(int argc, char *argv[])
{
if(argc!=2)
{
printf(“Usage: <./a.out> <sourcefile> <destn file>\n”);
exit(0);
}
yyin=fopen(argv[1],”r”);
yyout=fopen(argv[2],”w”);
yylex();
printf(“No of printf statements = %d\n No of scanf
statements=%d\n”, pc, sc);
}
JXsKI2luY2x1ZGU8c3RkaW8uaD4KaW50IHBjPTAsIHNjPTA7CiV9CiUlCuKAnHByaW50ZuKAnSB7IGZwcmludGYoeXlvdXQs4oCdd3JpdGVm4oCdKTsgcGMrKzt9CuKAnHNjYW5m4oCdIHsgZnByaW50Zih5eW91dCzigJ1yZWFkZuKAnSk7IHNjKys7fQolJQppbnQgeXl3cmFwKCkKewpyZXR1cm4gMTsKfQptYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKIGlmKGFyZ2MhPTIpCiB7CiBwcmludGYo4oCcVXNhZ2U6IDwuL2Eub3V0PiA8c291cmNlZmlsZT4gPGRlc3RuIGZpbGU+XG7igJ0pOwogZXhpdCgwKTsKIH0KIHl5aW49Zm9wZW4oYXJndlsxXSzigJ1y4oCdKTsKIHl5b3V0PWZvcGVuKGFyZ3ZbMl0s4oCdd+KAnSk7CiB5eWxleCgpOwogcHJpbnRmKOKAnE5vIG9mIHByaW50ZiBzdGF0ZW1lbnRzID0gJWRcbiBObyBvZiBzY2FuZgpzdGF0ZW1lbnRzPSVkXG7igJ0sIHBjLCBzYyk7Cn0g