Le principal objectif de ce cours est d’étudier ce qu'est un compilateur et ce que sont ses  différentes phases, à savoir l’analyse lexicale, l’analyse syntaxique, la production du code intermédiare, son optimisation et la génération du code objet. La gestion de la table des symboles et le traitement des erreurs y sont également présentés afin de mieux assimiler le fonctionnement du compilateur avec son environnement. Une connaissance préalable des notions du module Théorie des langages est requise.