Is a book that teaches how to build compilers good for learning to implement interpreters?
Sì. Un buon libro sui compilatori coprirà una vasta gamma di argomenti, molti dei quali sono direttamente rilevanti per gli interpreti / le lingue interpretate. Ad esempio:
- analisi lessicale
- l'analisi
- creazione di un AST
- controllo del tipo, risoluzione dell'identificatore e altri tipi di analisi semantica
- "compilatore" segnalazione errori
- forse ... generazione di un codice macchina astratto che l'interprete "eseguirà".
If so, what do I need to keep in mind while reading?
Tieni presente che parte del materiale nel libro potrebbe non essere pertinente. Ad esempio, una macchina astratta tipica è senza registrazione, quindi le sezioni del libro sull'assegnazione del registro durante la generazione del codice non sono in genere pertinenti per un interprete.
(Ma questo è solo un buonsenso: normalmente non leggeresti un libro del genere da una copertina all'altra. Normalmente potresti sfiorare i bit che non sembrano pertinenti ai tuoi obiettivi.)