Le document présente une introduction à la construction de compilateurs, définissant un compilateur comme un logiciel qui traduit un langage de haut niveau en langage machine. Il décrit les phases de compilation, y compris l'analyse lexicale, syntaxique, sémantique, la génération de code intermédiaire, l'optimisation de code et la génération de code final, ainsi que la gestion des erreurs et des tables de symboles. Il aborde également les types de compilateurs, tels que les compilateurs à passage unique et à plusieurs passages, ainsi que le concept de bootstrapping.