%{
#include<stdio.h>
int id=0,optr=0,p=0;
%}
%%
[0-9]+ {id++; printf("identifiers are %s\n",yytext);}
[+*/-] {optr++; printf("oprators are %s\n",yytext);}
[(] {p++;}
[)] {p--;}
%%
main()
{
printf("enter an expression \n");
yylex();
if(id==optr+1&&p==0&&optr>=1)
{
printf
("this
is valid expression \n"
);printf("count of operators = %d\n count of identifiers = %d\n ",optr,id);
}
else
printf
("this
is invalid expression \n"
);}
int yywrap()
{
return 1;
}
JXsKI2luY2x1ZGU8c3RkaW8uaD4KaW50IGlkPTAsb3B0cj0wLHA9MDsKJX0KJSUKWzAtOV0rIHtpZCsrOyBwcmludGYoImlkZW50aWZpZXJzIGFyZSAlc1xuIix5eXRleHQpO30KWysqLy1dIHtvcHRyKys7IHByaW50Zigib3ByYXRvcnMgYXJlICVzXG4iLHl5dGV4dCk7fQpbKF0ge3ArKzt9ClspXSB7cC0tO30KJSUKbWFpbigpCnsKcHJpbnRmKCJlbnRlciBhbiBleHByZXNzaW9uIFxuIik7Cnl5bGV4KCk7CmlmKGlkPT1vcHRyKzEmJnA9PTAmJm9wdHI+PTEpCnsKcHJpbnRmKCJ0aGlzIGlzIHZhbGlkIGV4cHJlc3Npb24gXG4iKTsKcHJpbnRmKCJjb3VudCBvZiBvcGVyYXRvcnMgPSAlZFxuIGNvdW50IG9mIGlkZW50aWZpZXJzID0gJWRcbiAiLG9wdHIsaWQpOwp9CmVsc2UKcHJpbnRmKCJ0aGlzIGlzIGludmFsaWQgZXhwcmVzc2lvbiBcbiIpOwp9CmludCB5eXdyYXAoKQp7CnJldHVybiAxOwp9