Методы проектирования компиляторов: лексический анализ, синтаксический анализ, оптимизация кода и многое другое.