Ce cours est destiné aux étudiants L3 Informatique. Il vise à inculquer à l'étudiant les outils fondamentaux et pratiques requis à la conception et réalisation de compilateurs qui sont des logiciels traducteurs de programmes sources écrits dans des langages de programmation de haut niveaux vers des codes objets  destinés à des architectures spécifiques. Après un rappel des notions élémentaires sur les langages formels, cette partie aborde le front-end d'un compilateur en particulier les analyseurs lexicaux et syntaxiques.