%{
#include<stdio.h>
int v
=0,op=0,id
=0,flag
=0;%}
%%
[a-zA-Z]+[0-9A-Za-z]* {id++;}
[0-9]+ {id++;}
"(" {v++;}
")" {v--;}
";" {flag=1;}
.|\n {return 0;}
%%
int main()
{
printf("Enter the expression:");
yylex();
if
((op+1)==id
&& v
==0 && flag
==0) {
printf
("\n Expression
is Valid\n"
); printf("No of identifier = %d \n No of Operators = %d \n",id,op);
}
else
printf
("\n Expression
is Invalid\n"
);return 0;
}
JXsKI2luY2x1ZGU8c3RkaW8uaD4KaW50IHY9MCxvcD0wLGlkPTAsZmxhZz0wOwolfQoKJSUKW2EtekEtWl0rWzAtOUEtWmEtel0qIHtpZCsrO30KWzAtOV0rIHtpZCsrO30KW1wrXC1cKi9cPV0ge29wKys7fQoiKCIge3YrKzt9CiIpIiB7di0tO30KIjsiIHtmbGFnPTE7fQoufFxuIHtyZXR1cm4gMDt9CiUlCgppbnQgbWFpbigpCnsKICAgICAgICBwcmludGYoIkVudGVyIHRoZSBleHByZXNzaW9uOiIpOwogICAgICAgIHl5bGV4KCk7CiAgICAgICAgaWYoKG9wKzEpPT1pZCAmJiB2PT0wICYmIGZsYWc9PTApCiAgICAgICAgewogICAgICAgICAgICAgICAgcHJpbnRmKCJcbiBFeHByZXNzaW9uIGlzIFZhbGlkXG4iKTsKICAgICAgICAgICAgICAgIHByaW50ZigiTm8gb2YgaWRlbnRpZmllciA9ICVkIFxuIE5vIG9mIE9wZXJhdG9ycyA9ICVkIFxuIixpZCxvcCk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHByaW50ZigiXG4gRXhwcmVzc2lvbiBpcyBJbnZhbGlkXG4iKTsKcmV0dXJuIDA7Cgp9Cg==