Exp3 part b

Run Settings
LanguageC
Language Version
Run Command
include<stdio.h> //#include<conio.h> #include<string.h> char input[100]; int i,l; int main() { printf("recursive decent parsing for the grammar"); printf("\n E->TEP|\nEP->+TEP|@|\nT->FTP|\nTP->*FTP|@|\nF->(E)|ID\n"); printf("enter the string to check:"); scanf("%s",input); if(E()){ if(input[i]=='$') printf("\n string is accepted\n"); else printf("\n string is not accepted\n"); } } E(){ if(T()){ if(EP()) return(1); else return(0); } else return(0); } EP(){ if(input[i]=='+'){ i++; if(T()){ if(EP()) return(1); else return(0); } else return(1); }} T(){ if(F()){ if(TP()) return(1); else return(0); } else return(0); printf("String is not accpeted\n"); } TP(){ if(input[i]=='*'){ i++; if(F()){ if(TP()) return(1) ; else return(0); } else return(0); printf("The string is not accepted \n"); } else return(1); } F(){ if(input[i]=='('){ i++; if(E()){ if(input[i]==')'){ i++; return(1); } else { return(0); printf("String is not accepted\n"); } } else return(0); } else if(input[i]>='a'&&input[i]<='z'||input[i]>='A'&&input[i]<='Z') { i++; return(1); } else return(0); } OUTPUT: $ cc rdp.c $ ./a.out recursive decent parsing for the grammar E->TEP| EP->+TEP|@| T->FTP| TP->*FTP|@| F->(E)|ID enter the string to check:(i+i)*i string is accepted
Editor Settings
Theme
Key bindings
Full width
Lines