Handbook Of Formal Languages by Grzegorz Rozenberg & Arto Salomaa