%s A B C F
%%
<INITIAL>\n printf(" accepted\n");BEGIN INITIAL;
<INITIAL>a BEGIN A;
<INITIAL>b BEGIN B;
<A>a BEGIN INITIAL;
<A>b BEGIN C;
<A>\n BEGIN INITIAL; printf(" not accepted\n");
<B>a BEGIN C;
<B>b BEGIN INITIAL;
<B>\n BEGIN INITIAL; printf(" not accepted\n");
<C>a BEGIN B;
<C>b BEGIN A;
<C>\n BEGIN INITIAL; printf(" not accepted\n");
<A>[^ab\n] BEGIN F;
<B>[^ab\n] BEGIN F;
<C>[^ab\n] BEGIN F;
<INITIAL>[^ab\n] BEGIN F;
<F>[^\n] BEGIN F;
<F>[\n] BEGIN INITIAL;printf("Invalid Input\n");
. ;
%%
main()
{ printf(“Enter the String of a and b only:\n”);
yylex();
}
/*
JXMgQSBCIEMgRgolJQo8SU5JVElBTD5cbiBwcmludGYoIiBhY2NlcHRlZFxuIik7QkVHSU4gSU5JVElBTDsKPElOSVRJQUw+YSBCRUdJTiBBOwo8SU5JVElBTD5iIEJFR0lOIEI7CjxBPmEgQkVHSU4gSU5JVElBTDsKPEE+YiBCRUdJTiBDOwo8QT5cbiBCRUdJTiBJTklUSUFMOyBwcmludGYoIiBub3QgYWNjZXB0ZWRcbiIpOwo8Qj5hIEJFR0lOIEM7CjxCPmIgQkVHSU4gSU5JVElBTDsKPEI+XG4gQkVHSU4gSU5JVElBTDsgcHJpbnRmKCIgbm90IGFjY2VwdGVkXG4iKTsKPEM+YSBCRUdJTiBCOwo8Qz5iIEJFR0lOIEE7CjxDPlxuIEJFR0lOIElOSVRJQUw7IHByaW50ZigiIG5vdCBhY2NlcHRlZFxuIik7CjxBPlteYWJcbl0gQkVHSU4gRjsKPEI+W15hYlxuXSBCRUdJTiBGOwo8Qz5bXmFiXG5dIEJFR0lOIEY7CjxJTklUSUFMPlteYWJcbl0gQkVHSU4gRjsKPEY+W15cbl0gQkVHSU4gRjsKPEY+W1xuXSBCRUdJTiBJTklUSUFMO3ByaW50ZigiSW52YWxpZCBJbnB1dFxuIik7Ci4gOwolJQoKbWFpbigpCnsgcHJpbnRmKOKAnEVudGVyIHRoZSBTdHJpbmcgb2YgYSBhbmQgYiBvbmx5Olxu4oCdKTsKeXlsZXgoKTsKfQovKgo=