Értékelés:
A könyvet nagyra értékelik a fordítókészítés közérthető és magával ragadó megközelítése miatt. Úgy tervezték, hogy mind a kezdőknek, mind a középhaladó programozóknak segítsen lépésről lépésre megérteni és felépíteni egy működő fordítót. Az egyszerű tartományspecifikus nyelv (DSL) és a világos magyarázatok segítségével az összetett fogalmak is kezelhetővé válnak.
Előnyök:⬤ Hozzáférhető és szórakoztató megközelítés a fordítóprogram-készítés megértéséhez.
⬤ Rekurzív leszármazási módszert használ, amely kis nyelvek esetében egyszerű.
⬤ Világos és tömör magyarázatok a nehéz fogalmakról.
⬤ Magával ragadó gyakorlatok a tanulás megerősítésére.
⬤ Kezdő és haladó programozók számára egyaránt alkalmazható.
⬤ Fejleszti a problémamegoldó és programozási készségeket.
⬤ Lehet, hogy túl alapszintű a haladó felhasználók számára, akik mély elméleti betekintést keresnek.
⬤ Egy konkrét kis programozási nyelvre (CPRL) korlátozódik, ami nem feltétlenül fedi le a fordítótervezés minden aspektusát nagyobb összefüggésekben.
(3 olvasói vélemény alapján)
Introduction to Compiler Design: An Object-Oriented Approach Using Java(R)
Ezt a könyvet elsősorban egy féléves fordítótervezési kurzus tankönyveként tervezték egyetemisták és kezdő doktoranduszok számára. A könyv egyetlen előfeltétele az alapvető algoritmusok és adatszerkezetek (listák, leképezések, rekurzió stb. ) ismerete, a számítógép-architektúra és az assembly nyelv kezdetleges ismerete, valamint némi tapasztalat a Java programozási nyelvvel.
A fordítóprogramok teljes tanulmányozása könnyedén kitölthetne több egyetemi szintű kurzust, ezért néhány egyszerűsítésre és kompromisszumra van szükség egy egy szemeszteres, az alapszakos hallgatók számára is elérhető kurzushoz. Az alábbiakban néhány olyan döntést ismertetünk, amelyek a könyv céljainak való megfelelés érdekében születtek.
⬤ A könyv szűk fókusza a fordítókról szóló projektorientált kurzus. A fordítóelméletet minimálisra csökkentettük, de a projektorientáltság megőrzi a fordítók tanulmányozásának "szórakoztató" részét.
⬤ A fordítandó forrásnyelv viszonylag egyszerű, de elég erős ahhoz, hogy érdekes és kihívást jelentsen. Alapvető adattípusokkal, tömbökkel, eljárásokkal, függvényekkel és paraméterekkel rendelkezik, de sok más érdekes nyelvi jellemzőt a projektgyakorlatokra utal.
⬤ A célnyelv a Java virtuális géphez (JVM) hasonló, de annál sokkal egyszerűbb, veremalapú architektúrájú virtuális gép assembly nyelve. Ez a megközelítés nagymértékben leegyszerűsíti a kódgenerálást. A virtuális géphez egy asszemblert és egy emulátort is biztosítunk a tanfolyam weboldalán.
⬤ A könyvben nincs szükség speciális, fordítóval kapcsolatos eszközökre, és nem is használunk ilyeneket. A hallgatóknak csak egy Java fordítóhoz és egy szövegszerkesztőhöz kell hozzáférniük, de a legtöbb hallgató a Javát integrált fejlesztőkörnyezettel (IDE) szeretné használni.
⬤ A fordítóprogramok egyik nagyon fontos eleme az elemző, amely ellenőrzi, hogy a forrásprogram megfelel-e a nyelv szintaxisának, és létrehozza a program köztes reprezentációját, amely alkalmas további elemzésre és kódgenerálásra. A parszingolásnak többféle megközelítése létezik, de az egy féléves kurzusra való összpontosításnak megfelelően ez a könyv csak egy megközelítést emel ki, a rekurzív leszálló parszingolást egy szimbólum előretekintésével.
© Book1 Group - minden jog fenntartva.
Az oldal tartalma sem részben, sem egészben nem másolható és nem használható fel a tulajdonos írásos engedélye nélkül.
Utolsó módosítás időpontja: 2024.11.13 21:05 (GMT)