Ce document présente une introduction à la compilation, en définissant des concepts clés tels que les langages de programmation source et objet, ainsi que les rôles et phases d'un compilateur. Il décrit l'évolution historique des langages de programmation et classifie les langages par paradigme et portée, tout en abordant les qualités et la structure d'un compilateur. Enfin, il détaille les différentes étapes du processus de compilation, y compris l'analyse lexicale, syntaxique et sémantique, ainsi que la génération et l'optimisation du code.