Compiler Design Lab Experiment 2
Compiler Design Lab Experiment 2
Experiment 2
Implement a DFA which simulates the regular expression a + (aa)*b.
Code:-
#include <stdio.h>
#include <string.h>
// DFA states
typedef enum {
Q0, // Start state
Q1, // After reading 'a'
Q2, // After reading "aa"
Q3 // Accepting state after "b"
} State;
case Q1:
if (c == 'a') {
current_state = Q2;
} else if (c == 'b') {
current_state = Q3;
} else {
return 0; // Invalid transition
}
break;
case Q3:
return 0; // No transitions allowed from Q3
}
}
int main() {
char input[100];
return 0;
}