#include<stdio.h>
#include<string.h>
int top;
char s[10];
char data;
void push(int x)
{
s[top++]=x;
}
char pop()
{
data = s[--top];
return data;
}
int main()
{
int i=0,n,state=0;
char a[10],x;
printf("Program For PDA Which Accepts Strings Of WCW^r\n");
printf("Enter String:");
gets(a);
n=strlen(a);
top=-1;
while(a[i]!='c'){
if(a[i]=='a'||a[i]=='b')
{
state=0;
push(a[i]);
i++;
}
else
{
state=99;
break;
}
}
if(a[i]=='c' && state==0)
{
state=1;
i++;
}
while(a[i]!='\0' && state==1)
{
x=pop();
if(a[i]==x)
state=1;
if(a[i]!=x)
{
state=99;
break;
}
i++;
}
if(state==1 && a[i]=='\0')
state=100;
if (state==100)
printf("String Accepted.");
else
printf("String Rejected.");
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4gCiNpbmNsdWRlPHN0cmluZy5oPiAKaW50IHRvcDsKY2hhciBzWzEwXTsgCmNoYXIgZGF0YTsKdm9pZCBwdXNoKGludCB4KQp7CnNbdG9wKytdPXg7Cn0KY2hhciBwb3AoKQp7CmRhdGEgPSBzWy0tdG9wXTsgCnJldHVybiBkYXRhOwp9CmludCBtYWluKCkKewppbnQgaT0wLG4sc3RhdGU9MDsgCmNoYXIgYVsxMF0seDsKcHJpbnRmKCJQcm9ncmFtIEZvciBQREEgV2hpY2ggQWNjZXB0cyBTdHJpbmdzIE9mIFdDV15yXG4iKTsgCnByaW50ZigiRW50ZXIgU3RyaW5nOiIpOwpnZXRzKGEpOyAKbj1zdHJsZW4oYSk7Cgp0b3A9LTE7IAp3aGlsZShhW2ldIT0nYycpewppZihhW2ldPT0nYSd8fGFbaV09PSdiJykKewpzdGF0ZT0wOyAKcHVzaChhW2ldKTsgCmkrKzsKfQplbHNlCnsKc3RhdGU9OTk7IApicmVhazsKfQp9CmlmKGFbaV09PSdjJyAmJiBzdGF0ZT09MCkKewpzdGF0ZT0xOyAKaSsrOwp9CndoaWxlKGFbaV0hPSdcMCcgJiYgc3RhdGU9PTEpCnsKeD1wb3AoKTsKaWYoYVtpXT09eCkKCnN0YXRlPTE7IAppZihhW2ldIT14KQp7CnN0YXRlPTk5OyAKYnJlYWs7Cn0gCmkrKzsKfQppZihzdGF0ZT09MSAmJiBhW2ldPT0nXDAnKSAKc3RhdGU9MTAwOwppZiAoc3RhdGU9PTEwMCkKcHJpbnRmKCJTdHJpbmcgQWNjZXB0ZWQuIik7IAplbHNlCnByaW50ZigiU3RyaW5nIFJlamVjdGVkLiIpOyAKcmV0dXJuIDA7Cn0=