You are on page 1of 2

experiment no 5

##write a program to print to following grammer :-


S->aBb/ccA
A->b/c
B->a/b

#include<stdio.h>
void S();
void A();
void B();
void error();
int i=0,c=0;
char s[20];
void main()
{
printf("enter the string: \n");
scanf("%s",&s);
S();
if(c==0)
printf("valid %s",s);
else
printf("invalid");
}
void S()
{
if(s[i]=='a')
{
i++;
B();
if(s[i]=='b')
i++;
}
else if(s[i]=='c')
{
i++;
if(s[i]=='c')
i++;
A();
}
else
c++;
}
void B()
{
if(s[i]=='a')
i++;
else if (s[i]=='b')
i++;
else
c++;
}
void A()
{
if(s[i]=='b')
i++;
else if(s[i]=='c')
i++;
else
c++;
}

You might also like