présentation
Un compilateur traduit un programme écrit dans un langage de haut niveau en un programme écrit dans un langage de bas niveau. Pour les étudiants en informatique, construire un compilateur à partir de zéro est un rite de passage : un projet stimulant et amusant qui offre des insights dans de nombreux aspects de l'informatique, certains profondément théoriques, et d'autres hautement pratiques.
fonctionnement d'un compilateur
Le processus de compilation implique plusieurs étapes, notamment l'analyse lexicale, l'analyse syntaxique, l'analyse sémantique et la génération de code. Ce livre propose une introduction d'un semestre à la construction de compilateurs, permettant au lecteur de construire un compilateur simple qui accepte un langage similaire à C et le traduit en assembleur X86 ou ARM fonctionnel.
ressources et exemples
Le dépôt github compilerbook-examples contient des ressources supplémentaires correspondant au livre, notamment plusieurs analyseurs lexicaux et syntaxiques, une structure de code de démarrage pour le projet de compilateur, et des cas de test exemples pour chaque étape de l'analyseur lexical, de l'analyseur syntaxique, du vérificateur de types et du générateur de code. Les étudiants peuvent accéder aux dernières versions des ressources sur le site compilerbook.org.
limites et corrections
Les étudiants et les enseignants sont invités à signaler les erreurs ou les typos trouvés dans le livre en envoyant un email à l'auteur à l'adresse dthain@nd.edu avec le titre Compiler Book Errata. Les corrections seront apportées et les contributeurs seront remerciés dans la prochaine édition.