Introduction à l'analyse syntaxique et à la compilation
Abstract
Ces notes de cours sont une introduction aux différentes phases de la compilation des langages de programmation.
Après un survol de ces phases basé sur un petit langage d'expressions arithmétiques, on présente la théorie des grammaires algébriques LL et LR.
On s'intéresse ensuite à l'évaluation et au typage en s'appuyant sur les techniques de la sémantique opérationnelle.
On décline ces techniques dans le cadre de simples langages qui reflètent les styles de programmation impératif, à objets et fonctionnel.
Enfin, on aborde les questions de la conception d'une machine virtuelle, de la gestion de la mémoire et de la traduction du langage source dans le langage d'une machine virtuelle.
Après un survol de ces phases basé sur un petit langage d'expressions arithmétiques, on présente la théorie des grammaires algébriques LL et LR.
On s'intéresse ensuite à l'évaluation et au typage en s'appuyant sur les techniques de la sémantique opérationnelle.
On décline ces techniques dans le cadre de simples langages qui reflètent les styles de programmation impératif, à objets et fonctionnel.
Enfin, on aborde les questions de la conception d'une machine virtuelle, de la gestion de la mémoire et de la traduction du langage source dans le langage d'une machine virtuelle.