ChatDiagram
automata theory · compiler design · lexical analysis

Subset Construction: NFA to DFA for Identifier Pattern

Type State diagramStandard OMG UML 2.5.1 §14 + Harel (1987) statechartEngine schematex-stateUpdated 9/28/2026
Subset Construction: NFA to DFA for Identifier Pattern
Drawing preview
The scenario

Given an NFA for a lexer identifier pattern `[a-zA-Z][a-zA-Z0-9_]*`, subset construction generates a DFA whose states are sets of NFA states: {q0}, {q1}, and ∅.

What is in this drawing

Read the decisions behind it.

01

Start state is epsilon-closure of q0, yielding {q0}.

02

On letter from {q0}, move to {q1} which contains accepting NFA state q1.

03

Unlisted inputs lead to dead state ∅, a non-accepting sink with a self-loop for any symbol.

04

Mark {q1} as accepting because it contains the NFA's accept state.

Use when converting any nondeterministic finite automaton to a deterministic one, especially for lexical analyzer generation.

More like this

Other examples in this family.

Browse all state diagram templates →