Hodnocení:
Kniha je vysoce ceněna pro svůj přístupný a poutavý přístup ke konstrukci překladačů. Je navržena tak, aby pomohla začátečníkům i středně pokročilým programátorům pochopit a krok za krokem sestavit funkční překladač. Díky použití jednoduchého doménově specifického jazyka (DSL) a jasným vysvětlením jsou složité koncepty snadno zvládnutelné.
Klady:⬤ Přístupný a zábavný přístup k pochopení konstrukce překladače.
⬤ Používá metodu rekurzivního sestupu, která je pro malé jazyky jednoduchá.
⬤ Jasné a stručné vysvětlení složitých pojmů.
⬤ Poutavá cvičení k upevnění učiva.
⬤ Použitelné pro začátečníky i středně pokročilé programátory.
⬤ Zlepšuje dovednosti v oblasti řešení problémů a programování.
⬤ Pro pokročilé uživatele, kteří hledají hluboké teoretické poznatky, může být příliš základní.
⬤ Omezený rozsah na konkrétní malý programovací jazyk (CPRL), který nemusí pokrýt všechny aspekty návrhu překladače v širších souvislostech.
(na základě 3 hodnocení čtenářů)
Introduction to Compiler Design: An Object-Oriented Approach Using Java(R)
Tato kniha je určena především jako učebnice pro jednosemestrální kurz návrhu překladačů pro studenty bakalářského studia a začínající absolventy. Jedinými předpoklady pro tuto knihu je znalost základních algoritmů a datových struktur (seznamy, mapy, rekurze atd. ), základní znalost počítačové architektury a assembleru a určité zkušenosti s programovacím jazykem Java.
Kompletní studium překladačů by snadno zaplnilo několik kurzů na úrovni absolventů, a proto jsou pro jednosemestrální kurz, který je přístupný i studentům bakalářského studia, nutná určitá zjednodušení a kompromisy. Níže jsou uvedena některá rozhodnutí, která byla učiněna, aby se vyhovělo cílům této knihy.
⬤ Kniha je úzce zaměřena jako projektově orientovaný kurz o překladačích. Teorie překladačů je omezena na minimum, ale projektová orientace zachovává "zábavnou" část studia překladačů.
⬤ Kompilovaný zdrojový jazyk je relativně jednoduchý, ale dostatečně výkonný, aby byl zajímavý a náročný. Má základní datové typy, pole, procedury, funkce a parametry, ale mnoho dalších zajímavých vlastností jazyka odsouvá do projektových cvičení.
⬤ Cílovým jazykem je jazyk assembleru pro virtuální stroj se zásobníkovou architekturou, podobný virtuálnímu stroji Java (JVM), ale mnohem jednodušší. Tento přístup výrazně zjednodušuje generování kódu. Na webových stránkách kurzu je k dispozici jak assembler, tak emulátor virtuálního stroje.
⬤ V knize nejsou vyžadovány ani používány žádné speciální nástroje související s kompilátorem. Studenti potřebují pouze přístup k překladači Javy a textovému editoru, ale většina studentů bude chtít používat Javu s integrovaným vývojovým prostředím (IDE).
⬤ Jednou z velmi důležitých součástí překladače je parser, který ověřuje, zda zdrojový program odpovídá syntaxi jazyka, a vytváří zprostředkovanou reprezentaci programu, která je vhodná pro další analýzu a generování kódu. Existuje několik různých přístupů k parsování, ale v souladu se zaměřením na jednosemestrální kurz je v této knize kladen důraz pouze na jeden přístup, a to na rekurzivní sestupné parsování s jedním symbolem lookahead.
© Book1 Group - všechna práva vyhrazena.
Obsah těchto stránek nesmí být kopírován ani použit, a to ani částečně ani úplně, bez písemného svolení vlastníka.
Poslední úprava: 2024.11.08 20:25 (GMT)