Enrolment options

L’objectif de ce module est de présenter aux étudiants les principes des langages de programmation. Ces langages sont les outils de base utilisés pour l’implémentation et la réalisation des différents logiciels et applications informatiques. En d’autres termes, l’étudiant, par cette unité, doit connaître et maîtriser les concepts issus de la théorie des langages et plus particulièrement des langages algébriques, des grammaires, des dérivateurs et des automates à pile. Ces derniers sont en fait à la base de tous les algorithmes d’analyse syntaxique (utilisés par les compilateurs des langages de programmation).

 Ce module est composé de huit chapitres qui traitent les systèmes générateurs des langages (grammaires) et les systèmes reconnaisseurs des langages (automates). Pour la plupart des langages issus de la classification de Chomsky, l’automate correspondant sera décrit en détail.

Pour chaque type d’automate (d’état finis, à pile de mémoire ou machine de Turing), un ensemble d’exercices, est offert aux étudiants, permettant de bien maîtriser son fonctionnement. Un intérêt particulier sera porté sur les automates d’états finis qui sont utilisés par les analyseurs lexicaux et les automates à pile qui sont utilisés par les analyseurs syntaxiques (phases d’un compilateur).

Toutes les connaissances acquises seront utilisées pour bien comprendre les différentes phases d’implémentation des compilateurs des langages de programmation. En effet, les travaux pratiques porteront essentiellement sur les automates d’états finis et les grammaires. Ils seront la base pour l’implémentation des deux phases d’un compilateur, à savoir l’analyseur lexical et l’analyseur syntaxique.

Vu la situation sanitaire actuelle (COVID19), nous ne pouvons étudier en détail que les automates d’états finis (AEF) et les automates à pile de mémoire (APM).


Self enrolment (Student)
Self enrolment (Student)