Ocena:

Książka służy jako przydatne wprowadzenie do gramatyki, parsowania i kompilacji, zawierające praktyczne przykłady kodu. Istnieją jednak obawy co do fizycznej jakości książki.
Zalety:Książka skutecznie wprowadza główne koncepcje, zawiera rzeczywiste implementacje kodu (w Haskell) i jest uważana za świetną dla początkujących. Oferuje dobry stosunek jakości do ceny, zwłaszcza gdy jest kupowana jako używana.
Wady:Niektóre egzemplarze mogą mieć słabą jakość fizyczną, z wypadającymi stronami.
(na podstawie 6 opinii czytelników)
Implementing Programming Languages. an Introduction to Compilers and Interpreters
Wdrożenie języka programowania oznacza wypełnienie luki między wysokopoziomowym myśleniem programisty a zerami i jedynkami maszyny. Jeśli odbywa się to w wydajny i niezawodny sposób, programiści mogą skoncentrować się na rzeczywistych problemach, które muszą rozwiązać, a nie na szczegółach maszyn.
Jednak zrozumienie całego łańcucha od języków do maszyn jest nadal istotną częścią szkolenia każdego poważnego programisty. Zaowocuje to bardziej kompetentnym programistą, który będzie w stanie rozwijać nowe języki. Nowy język jest często najlepszym sposobem na rozwiązanie problemu i mniej trudnym niż może się wydawać.
Książka ta opiera się na praktycznym podejściu opartym na teorii, w którym modele teoretyczne służą jako wzór dla rzeczywistego kodowania. Czytelnik jest prowadzony do budowania kompilatorów i interpreterów w dobrze zrozumiały i skalowalny sposób. Rozwiązania są ponadto przenośne na różne języki implementacji.
Znaczna część rzeczywistego kodu jest generowana automatycznie z gramatyki języka za pomocą narzędzia BNF Converter. Pozostała część może być napisana w języku Haskell lub Java, dla których książka zawiera szczegółowe wskazówki, ale z pewną adaptacją również w językach C, C++, C# lub OCaml, które są obsługiwane przez konwerter BNF. Książka skupia się głównie na standardowych językach imperatywnych i funkcyjnych: podzbiór C++ i podzbiór Haskella są językami źródłowymi, a Java Virtual Machine jest głównym celem.
Prosta kompilacja natywnego kodu Intel x86 uzupełnia łańcuch od języka do maszyny. Ostatni rozdział porzuca standardowe ścieżki i eksploruje przestrzeń projektowania języków, od minimalnych języków kompletnych Turinga po interakcję człowiek-komputer w języku naturalnym.