Deterministic Finite Automata
Nondeterministic Finite Automata
Nonregular Languages
Context-Free Languages