%{
#include <stdio.h>
%}
%%
^a(a|b)*b$ { printf("Accepted: String belongs to L\n"); }
^[ab]+$ { printf("Rejected: Does not start with 'a' and end with 'b'\n"); }
.* { printf("Rejected: Invalid characters (only a and b allowed)\n"); }
%%
int main()
{
printf("Enter a string: ");
yylex();
return 0;
}
int yywrap()
{
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgolJQpeYShhfGIpKmIkICAgICAgeyBwcmludGYoIkFjY2VwdGVkOiBTdHJpbmcgYmVsb25ncyB0byBMXG4iKTsgfQpeW2FiXSskICAgICAgICAgeyBwcmludGYoIlJlamVjdGVkOiBEb2VzIG5vdCBzdGFydCB3aXRoICdhJyBhbmQgZW5kIHdpdGggJ2InXG4iKTsgfQouKiAgICAgICAgICAgICAgeyBwcmludGYoIlJlamVjdGVkOiBJbnZhbGlkIGNoYXJhY3RlcnMgKG9ubHkgYSBhbmQgYiBhbGxvd2VkKVxuIik7IH0KJSUKCmludCBtYWluKCkKewogICAgcHJpbnRmKCJFbnRlciBhIHN0cmluZzogIik7CiAgICB5eWxleCgpOwogICAgcmV0dXJuIDA7Cn0KCmludCB5eXdyYXAoKQp7CiAgICByZXR1cm4gMTsKfQo=