Języki programowania są sposobami zapisu ukazującymi obliczenia w sposób zrozumiały dla ludzi i dla maszyn. Świat, jaki dziś znamy, uzależniony jest od języków programowania, gdyż całe oprogramowanie działające na wszystkich komputerach zostało napisane w jakimś języku programowania.
Jednak zanim osiągalne będzie uruchomienie programu, musi on najpierw zostać przetłumaczony do postaci, w której komputer będzie mógł go wykonać. Tłumaczenie to odbywa się za pomocą specjalnych systemów programowych zwanych kompilatorami.
II edycja klasycznej książki, znanej na całym świecie jako Dragon Book, jest poświęcona projektowaniu i implementacji kompilatorów. W dokładniejszym zrozumieniu i przyswojeniu tematu, pomagają czytelnikowi liczne, rozbudowane ćwiczenia zawarte w każdym podrozdziale.
Dzięki lekturze poznasz: podstawowe zagadnienia związane z architekturą komputerów i zasady języków programowania, omówienie analizy leksykalnej, wyrażeń regularnych, automatów skończonych i narzędzi budujących leksery, główne metody parsingu, podstawowe koncepcje definicji kierowanych składnią i translacji sterowanej składnią, zasady projektowania generatora kodu, technologie optymalizacji kodu.
świeże rozdziały obejmują takie zagadnienia jak: środowiska wykonawcze, w tym: mechanizmy odśmiecania pamięci i zarządzanie stosem, optymalizacje na poziomie instrukcji, wykrywanie i użytkowanie równoległości w większej skali, analizy międzyproceduralne.
Zasady i techniki projektowania kompilatorów posiadają użycie w tak wielu dziedzinach,bez dwóch zdań każdy informatyk spotka się z nimi w swej pracy wielokrotnie. Studiowanie pisania kompilatorów oznacza poznawanie takich zagadnień jak: języki programowania, architektura komputerów, teoria języka, algorytmy i inżynieria oprogramowania.
Powyższy opis pochodzi od wydawcy.