Un compilateur traduit un programme écrit dans un langage de haut niveau en un programme écrit dans un langage de niveau inférieur. Pour les étudiants en informatique, la construction d'un compilateur à partir de zéro est un rite de passage : un projet stimulant et amusant qui offre un aperçu de nombreux aspects différents de l'informatique, certains profondément théoriques, et d'autres très pratiques.Le domaine de la construction de compilateurs est présenté dans ce livre. Il combine une explication approfondie de la théorie qui sous-tend l'approche contemporaine de la conception de compilateurs avec plusieurs exemples du monde réel, ainsi qu'une description complète d'un petit compilateur de langage avec son code source. Il est spécialement conçu pour être utilisé dans le cadre d'un cours de premier cycle avancé qui introduit la conception ou le développement de compilateurs. Cependant, comme il tente de fournir au lecteur tous les outils et l'expérience pratique nécessaires pour concevoir et programmer un compilateur réel, il sera également utile aux professionnels qui démarrent ou rejoignent un projet d'écriture de compilateur.