Professional Documents
Culture Documents
Lab1 (1) Compiler
Lab1 (1) Compiler
By –
SANDEEP RAGHUVANSHI
Semester – 5
CSE 3
#include <stdio.h>
#include <string.h>
enum state
{
A,
B,
C,
D
};
int start = A;
int main()
{
char input[100];
printf("enter the string ");
scanf("%s", &input);
int len = strlen(input);
int i = 0;
for (i; i < len; i++)
{
if (input[i] != 'a' && input[i] != 'b')
{
OUTPUT WINDOW : printf("String %s is not part of language ", input);
break;
}
else
{
if (start == A)
start = a(input[i]);
else if (start == B)
start = b(input[i]);
else if (start == C)
start = c(input[i]);
else if (start == D)
start = d(input[i]);
}
}
if (i == len)
{
if (start == D)
printf("String %s is accepted ", input);
else
printf("String %s is not accepted ");
}
return 0 ;
}
2. ( a + b ) * bb ( a + b )* : C CODE FOR THIS DFA :
/* This code is for checking wheathr the string entred
belongs to (a+b)*bb(a+b)* or not . */
#include <stdio.h>
#include <string.h>
enum state
{
A,
B,
C,
D
};
int start = A;
int main()
{
char input[100];
printf("enter the string ");
OUTPUT SCREEN FOR THE CODE : scanf("%s", &input);
int len = strlen(input);
int i = 0;
for (i; i < len; i++)
{
if (input[i] != 'a' && input[i] != 'b')
{
printf("String %s is not part of language ", input);
break;
}
else
{
if (start == A)
start = a(input[i]);
else if (start == B)
start = b(input[i]);
else if (start == C)
start = c(input[i]);
else if (start == D)
start = d(input[i]);
}
}
if (i == len)
{
if (start == C || start == D )
printf("String %s is accepted ", input);
else
printf("String %s is not accepted ");
}
return 0 ;
}
3. ( a + b ) a ( a + b ) C CODE FOR THIS DFA :
/* This code is for checking weather the
string entred belongs to (a+b)*a(a+b) or
not . */
#include <stdio.h>
#include <string.h>
enum state
{
A,
B,
C,
D
};
int start = A;
int main()
{
char input[100];
printf("enter the string ");
OUPUT FOR THIS DFA IS : scanf("%s", &input);
int len = strlen(input);
int i = 0;
for (i; i < len; i++)
{
if (input[i] != 'a' && input[i] != 'b')
{
printf("String %s is not part of
language ", input);
break;
}
else
{
if (start == A)
start = a(input[i]);
else if (start == B)
start = b(input[i]);
else if (start == C)
start = c(input[i]);
else if (start == D)
start = d(input[i]);
}
}
if (i == len)
{
if (start == C || start == D)
printf("String %s is accepted ",
input);
else
printf("String %s is not accepted ");
}
return 0 ;
}