Języki programowania są sposobami zapisu demonstrują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 realne 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ę przy pomocy 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 staranniejszym 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, a także 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.
nowe 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żywanie równoległości w większej skali, analizy międzyproceduralne.
Zasady i techniki projektowania kompilatorów posiadają użycie w tak wielu dziedzinach,na pewno każdy informatyk spotka się z nimi w swojej 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.