Home / C / C Program for Implementation of Regular Expession

C Program for Implementation of Regular Expession

C Program for implementing DFA of Regular Expression
(a+aa*b)*
In this program you have to enter a string and output will be shown as  whether string will be accepted or not. Program is implemented using transition table not jumping on different states. It can be easily modifiable for other regular expressions. 

#include<stdio.h>
#include<conio.h>
#include<strings.h>

void main()
{
int table[2][2],i,j,l,status=0,success;
char input[100];
printf("Program for implmenting DFA of language (a+aa*b)*\n\n\nEnter Input String \n");
table[0][0]=1;
table[0][1]=-1;
table[1][0]=1;
table[1][1]=0;
scanf("%s",input);
l=strlen(input);

for(i=0;i<l;i++)
{
if(input[i]!='a'&&input[i]!='b')
{
printf("Value entered is wrong");
getch();
exit(0);
}
if(input[i]=='a')
status=table[status][0];
else
status=table[status][1];

if(status==-1)
{
printf("String not Accepted by this Language");
break;
}
}
if(i==l)
printf("String Accepted");
getch();
}

OUTPUT:

1
If you find any difficulty in this program than please comment you problem here. We will happily solve you problem.
tags: Compiler Design, DFA implementation, Regular expression implementation, C program for DFA

Check Also

Restrict Mouse Pointer Position C Graphics Program

This C Program will restrict the Mouse Pointer location or to a particular position or x,y ...

3 comments

  1. i need a program that accept 1101 as a substring..can you solve it? inform ASAP. Thanks.

  2. is there a possibility of making a generalize version of this program (convert any valid dfa to corresponding regular expression). please help…

Leave a Reply

Your email address will not be published. Required fields are marked *

Preventing spam * Time limit is exhausted. Please reload the CAPTCHA.