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