Tekst kompilatora są dobre, ale są nieco ciężkie do samodzielnego uczenia się. Jack Crenshaw ma "książkę", która była serią artykułów, które można pobrać i przeczytać wywołanie "Lets Build a Compiler". Wynika to z metodologii "Ucz się przez działanie", która jest wspaniała, jeśli nie uzyskasz niczego, co mogłoby zająć formalne zajęcia na ten temat, lub to było zbyt wiele lat od jej podjęcia (tak jest w moim przypadku). Trzyma twoją rękę i prowadzi cię przez pisanie kompilatora, zamiast obrzucać cię rachunkiem Lambda i głębokimi teoretycznymi problemami, którymi interesuje się tylko środowisko akademickie. To był dobry sposób na pobudzenie tych komórek mózgowych, które miały tylko niewyraźne wspomnienie pisania czegoś na Vax (YEAH, to prawda VAX!) Wiele lat temu w szkole. Jest napisany bardzo rozmownie i łatwo po prostu usiąść i przeczytać, w przeciwieństwie do większości podręczników, które wymagają kilku garnków kawy, aby przejść przez pierwszy rozdział. Gdy masz już podstawy do zrozumienia, bardziej tradycyjny tekst, taki jak książka Smoka, jest świetnym odniesieniem do poszerzenia twojego zrozumienia. (Osobiste podoba mi się wersja "Zmarłe drzewo", wydrukowałem "Jacka", jest to o wiele łatwiejsze do odczytania w wygodnej pozycji niż na laptopie, a czytelnicy Ebookowi są zbyt drogie, aby coś, co nie wygląda tak, jakbyś czytał prawdziwa książka.)
To, co niektórzy mogą nazwać "minusem", jest napisane w języku Pascal, ale pomyślałem, że to właśnie sprawiło, że pomyślałem o tym bardziej, niż gdyby ktoś dał mi działający program C na początek. Z tego wynika, że został napisany z myślą o 68000, który jest używany tylko w systemach wbudowanych w tym momencie. Ponownie dla mnie to nie był problem, wiedziałem, że 68000 asm i 68000 asm jest łatwiejszy do odczytania niż jakikolwiek inny asm.
Zapoznaj się z zasobami: http://stackoverflow.com/questions/1669/learning-to-write-a-compiler –