Formal languages
Finite automata
Mathematics
Combinatorics
Pattern matching
Regular expression
Finite-state machine
Discrete mathematics
Regular language
Expression