REGULAR EXPRESSION TO NFA COP 4620 Programming Language

  • Slides: 12
Download presentation
REGULAR EXPRESSION TO NFA COP 4620 – Programming Language Translators Dr. Manuel E. Bermudez

REGULAR EXPRESSION TO NFA COP 4620 – Programming Language Translators Dr. Manuel E. Bermudez

RE TO NFA So far, RGR RGL Minimum DFA RE NFA Done Soon DFA

RE TO NFA So far, RGR RGL Minimum DFA RE NFA Done Soon DFA Now

RE TO NFA • Algorithm 1 (bottom-up): Recursively build the FSA, • Mimicking structure

RE TO NFA • Algorithm 1 (bottom-up): Recursively build the FSA, • Mimicking structure of the RE. • Each FSA built has one start state, and one final state. Conversions: 1 2 1 1 a 2 if ø, if ℇ, and if a.

RE TO NFA ε P ε 1 2 ε P 1 if P +

RE TO NFA ε P ε 1 2 ε P 1 if P + Q, ε ε Q ε or Q ε P ε ε ε 1 2 P ε Q ε 2 if PQ, and if P*.

RE TO NFA EXAMPLE: 1 a 3 5 7 10 3 a b 4

RE TO NFA EXAMPLE: 1 a 3 5 7 10 3 a b 4 b a a ε (b (aba + ε) a)* 2 (b (aba + ε) a)* 4 (b (aba + ε) a)* 6 (b (aba + ε) a)* 8 (b (aba + ε) a)* 9 (b (aba + ε) a)* 11 (b (aba + ε) a)* 5 b 8 a 6 ε 7 (b (aba + ε) a)*

RE TO NFA 3 a ε 9 ε 12 ε 4 4 ε 13

RE TO NFA 3 a ε 9 ε 12 ε 4 4 ε 13 ε b 2 b 5 6 ε 8 a 5 b 8 a (b (aba + ε) a)* 7 6 (b (aba + ε) a)* ε 7 1 ε ε 12 ε 3 a 9 ε 4 ε 13 ε 5 b 8 a 6 ε 7 (b (aba + ε) a)*

RE TO NFA b 2 2 (b (aba + ε) a)* 1 12 ε

RE TO NFA b 2 2 (b (aba + ε) a)* 1 12 ε 11 3 9 a a ε 10 4 ε 3 a ε 9 ε 12 ε 13 b 5 8 ε 6 ε 4 ε 13 ε 5 8 b 6 ε a 7 (b (aba + ε) a)* 7 a 1 ε ε ε b ε 14 ε ε ε 15 1 b ε 11 ε 9 a 10 2 ε ε 13 ε 12 ε 3 a ε ε 8 4 5 a 7 ε 6 (b (aba + ε) a)*

RE TO NFA • Algorithm 2 (top-down): 4 Rules • Start: • Apply Rules:

RE TO NFA • Algorithm 2 (top-down): 4 Rules • Start: • Apply Rules: E a a* ε ε ab a b a+b a b

RE TO NFA EXAMPLE (a + b)* (aa + bb) (a + b)* aa

RE TO NFA EXAMPLE (a + b)* (aa + bb) (a + b)* aa + bb ε aa ε bb a+b ε ε a b a a b b

RE TO NFA (ANOTHER EXAMPLE) ba(a + b)* ab a ε ε b a

RE TO NFA (ANOTHER EXAMPLE) ba(a + b)* ab a ε ε b a b

SUMMARY Algorithm 1: • Builds FSA bottom up • Good for machines • Bad

SUMMARY Algorithm 1: • Builds FSA bottom up • Good for machines • Bad for humans Algorithm 2: • Builds FSA top down • Bad for machines • Good for humans

RE TO NFA So far, RGR RGL Minimum DFA RE NFA Done Soon DFA

RE TO NFA So far, RGR RGL Minimum DFA RE NFA Done Soon DFA Two algorithms