About

Kannur University btech CSE study materials, question papers, syllabus . . .

Saturday, June 8, 2013

S6 CSE COMPILER LAB : DFA TO ACCEPT NUMBERS

   /*      DFA TO ACCEPT NUMBERS     */

#include<stdio.h>
#include<string.h>
void main()
{
     char num[20],s,p,q,r,t,x,u,v;
     int l,i;
     s=p;
     printf("Enter the input:");
     gets(num);
     if((s==p)&&(((49<=num[0])&&(num[0]<=58))||(num[0]=='.')||(num[0]=='-')))
          s=q;
     else if((s==p)&&(num[0]==48))
          s=x;
     else
          s=r;
    l=strlen(num);
    for(i=1;i<l;i++)
    {
      if((s==q)&&((48<=num[i])&&(num[i]<=58)))
         s=q;
      else if((s==q)&&(num[i]=='.'))
         s=t;
      else if((s==t)&&((49<=num[i])&&(num[i]<=58)))
         s=u;
      else if((s==t)&&(num[i]==48))
         s=v;
      else if((s==v)&&((49<=num[i])&&(num[i]<=58)))
         s=u;
      else if((s==v)&&(num[i]==48))
         s=v;
      else if((s==u)&&((48<=num[i])&&(num[i]<=58)))
         s=u;
      else if((s==x)&&(num[i]=='.'))
         s=t;
      else if((s==x)&&((48<=num[i])&&(num[i]<=58)))
         s=r;
      else
         s=r;
   }
   if((s==q)||(s==u))
           printf("Input is a Valid number\n");
   else
           printf("Input is Not a valid number\n");
}


                                      

OUTPUT

Enter the input:06
Input is Not a valid number

Enter the input:0.00
Input is Not a valid number

Enter the input:0
Input is Not a valid number

Enter the input:1.23
Input is a Valid number

Enter the input:1.23.2
Input is Not a valid number

Enter the input:123
Input is a Valid number

Enter the input:0.02
Input is a Valid number

Enter the input:123.

Input is Not a valid number

0 comments:

Post a Comment