%{
#include"y.tab.h"
%}
%%
[a] returnA
[b] returnB
.return yytext[0]
\n return yytext[0]
%%
%{
#include<stdio.h>
%}
%token A B
%%
Input:expr'\n'{return 0:}
expr:X
X:AXB|;
%%
main()
{
printf("enter string\n");
if(!yyparse())
{
printf("valid");
exit(0);
}
}
Void yyerror (char*s)
{
printf("syntax error");
}
JXsKI2luY2x1ZGUieS50YWIuaCIKJX0KJSUKW2FdIHJldHVybkEKW2JdIHJldHVybkIKLnJldHVybiB5eXRleHRbMF0KXG4gcmV0dXJuIHl5dGV4dFswXQolJQolewojaW5jbHVkZTxzdGRpby5oPgolfQoldG9rZW4gQSBCCiUlCklucHV0OmV4cHInXG4ne3JldHVybiAwOn0KZXhwcjpYClg6QVhCfDsKJSUKbWFpbigpCnsKcHJpbnRmKCJlbnRlciBzdHJpbmdcbiIpOwppZigheXlwYXJzZSgpKQp7CnByaW50ZigidmFsaWQiKTsKZXhpdCgwKTsKfQp9ClZvaWQgeXllcnJvciAoY2hhcipzKQp7CnByaW50Zigic3ludGF4IGVycm9yIik7Cn0KCg==