Enrolment options

Le but de ce module est de présenter les principes de base inhérents à la réalisation des compilateurs, ce qui permet aux étudiants de bien maitriser les principes des langages de programmation. En effet, il est primordial de comprendre le fonctionnement des compilateurs afin de programmer efficacement et concevoir des langages dédiés à des applications spécifiques.

Le processus de compilation est souvent associé et restreint aux langages de programmation (procéduraux, orientés objets) alors qu'il peut être généralisé à une multitude de langages tels que : les langages logiques, fonctionnels, formels….

 

Les concepts abordés par ce module concernent :

·       Les principes de base inhérents à la réalisation des compilateurs : analyse lexicale, analyse syntaxique, analyse sémantique, et génération du code intermédiaire.

·       Les outils fondamentaux utilisés pour effectuer ces analyses : fondements de base de la théorie des langages (grammaires, automates, ...), méthodes algorithmiques d'analyse, ...

A la fin de ce module, l’étudiant peut comprendre comment est écrit un compilateur, ce qui lui permet de mieux comprendre les "contraintes" imposées par les différents langages lorsque l'on écrit un programme dans un langage de haut niveau.

Des travaux pratiques ont comme objectif de réaliser un micro-compilateur, en deux versions de complexité croissante (relatives aux analyses : lexicale et syntaxique).

Self enrolment (Student)
Self enrolment (Student)