Untitled
unknown
plain_text
a year ago
1.1 kB
5
Indexable
#include <stdio.h> #include <stdlib.h> enum State {S0, S1, S2, S3, S4, S5, S6}; enum State transition(enum State current_state, char input) { switch (current_state) { case S0: if (input == 'A' || input == 'B') return S1; break; case S1: if (input == 'A') return S2; if (input == 'B') return S3; break; case S2: if (input == 'B') return S4; break; case S3: if (input == 'B') return S5; break; // Continue transitions based on your DFA construction default: return S0; } return S0; // Default to initial state for invalid input } int main() { enum State current_state = S0; char input; while ((input = getchar()) != EOF) { current_state = transition(current_state, input); if (current_state == /* accepting state */) { printf("Match found!\n"); current_state = S0; // Reset state if necessary } } return 0; }
Editor is loading...
Leave a Comment