Les Compiler Text sont bons, mais ils sont un peu lourds pour apprendre soi-même. Jack Crenshaw a un "livre" qui était une série d'articles que vous pouvez télécharger et lire, intitulé "Lets Build a Compiler". Il suit une méthodologie d'apprentissage par la pratique qui est idéale si vous n'avez rien obtenu en suivant des cours formels sur le sujet, ou si cela fait beaucoup trop d'années que vous ne l'avez pas fait (c'est mon cas). Elle vous tient la main et vous guide dans l'écriture d'un compilateur au lieu de vous assommer de Lambda Calculus et de questions théoriques profondes dont seul le monde universitaire se soucie. C'était un bon moyen de remuer les cellules cérébrales qui n'avaient qu'un souvenir flou de l'écriture de quelque chose sur le Vax (OUI, c'est bien un Vax !) il y a de nombreuses années à l'école. Il est écrit de manière très conversationnelle et il est facile de s'asseoir et de le lire, contrairement à la plupart des manuels scolaires qui nécessitent plusieurs cafés pour passer le premier chapitre. Une fois que vous avez une base de compréhension, des textes plus traditionnels tels que le livre du Dragon sont d'excellentes références pour approfondir votre compréhension. (Et personnellement, j'aime les versions Dead Tree, j'ai imprimé celle de Jack, c'est beaucoup plus facile à lire dans une position confortable que sur un ordinateur portable. Et les lecteurs Ebook sont trop chers pour quelque chose qui ne donne pas encore l'impression de lire un vrai livre).
Ce que certains pourraient appeler un "inconvénient", c'est qu'il est écrit en Pascal, mais j'ai pensé que cela me faisait réfléchir davantage que si quelqu'un m'avait donné un programme C fonctionnel pour commencer. De plus, il a été écrit en pensant au 68000, qui n'est utilisé que dans les systèmes embarqués pour le moment. Encore une fois, ce n'était pas un problème pour moi, je connaissais l'asm 68000 et l'asm 68000 est plus facile à lire que d'autres asm.