Hodnotenie:
Kniha slúži ako užitočný úvod do gramatík, parsovania a kompilácie a obsahuje praktické príklady kódu. Existujú však obavy o fyzickú kvalitu knihy.
Výhody:Kniha efektívne predstavuje hlavné koncepty, obsahuje skutočné implementácie kódu (v jazyku Haskell) a považuje sa za skvelú pre začiatočníkov. Ponúka dobrý pomer ceny a kvality, najmä pri kúpe ako použitá.
Nevýhody:Niektoré výtlačky môžu mať zlú fyzickú kvalitu, s vypadávajúcimi stránkami.
(na základe 6 čitateľských recenzií)
Implementing Programming Languages. an Introduction to Compilers and Interpreters
Implementácia programovacieho jazyka znamená preklenúť priepasť medzi vysokoúrovňovým myslením programátora a nulami a jednotkami stroja. Ak sa to vykoná efektívnym a spoľahlivým spôsobom, programátori sa môžu sústrediť na skutočné problémy, ktoré musia riešiť, a nie na detaily strojov.
Pochopenie celého reťazca od jazykov po stroje je však stále nevyhnutnou súčasťou vzdelávania každého seriózneho programátora. Jeho výsledkom bude kompetentnejší programátor, ktorý bude navyše schopný vyvíjať nové jazyky. Nový jazyk je často najlepším spôsobom riešenia problému a je menej náročný, ako by sa mohlo zdať.
Táto kniha sa riadi praktickým prístupom založeným na teórii, kde teoretické modely slúžia ako predloha pre skutočné kódovanie. Čitateľa vedie k tomu, aby zostavil kompilátory a interpretery dobre zrozumiteľným a škálovateľným spôsobom. Riešenia sú navyše prenosné na rôzne implementačné jazyky.
Veľká časť skutočného kódu sa automaticky generuje z gramatiky jazyka pomocou nástroja BNF Converter. Zvyšok možno napísať v Haskelli alebo Jave, pre ktoré kniha poskytuje podrobný návod, ale s určitou úpravou aj v jazykoch C, C++, C# alebo OCaml, ktoré sú podporované nástrojom BNF Converter. Kniha sa zameriava najmä na štandardné imperatívne a funkcionálne jazyky: podmnožina C++ a podmnožina Haskellu sú zdrojové jazyky a Java Virtual Machine je hlavný cieľ.
Jednoduchá kompilácia natívneho kódu Intel x86 je znázornená na dokončenie reťazca od jazyka k počítaču. Posledná kapitola opúšťa štandardné cesty a skúma priestor návrhu jazyka od minimálnych Turingových úplných jazykov až po interakciu človeka s počítačom v prirodzenom jazyku.