S'appuyant sur les aspects théoriques des automates vus en L3I2, ce cours a pour objectif de comprendre comment se passe la partie avant d'un compilateur : analyse lexicale (automates d'états finis), analyse syntaxique (automates à pile), analyse sémantique (gestion d'une table des symboles, analyse des types et compatibilité) et enfin génération d'un arbre abstrait ou alors traduction vers un langage de haut niveau.
Cette UE est découpée en deux :
| semaine | TD | TP |
|---|---|---|
| 28 janvier 2008 | TD 1 Annexes sur Ada et Icon |
TP 1 Exemples de grammaires bien formées |
| 4 février 2008 | TD 2 | TP 2 |
| 11 février 2008 | TD 3 | TP 3 Utilisation de Flex: page de man + manuel d'utilisation |
| 25 février 2008 | TD 4 | TP 4&5 Archive à récupérer |
| 3 mars 2008 | TD 5 | TP de la semaine précédente à terminer |
| 10 mars 2008 | TD 6 | TP 6 Makefile + fichier d'entrée modèle Utilisation de LLgen Traitement des erreurs dans LLgen |
| 17, 24 et 31 mars 2008 | TD 7 TD 8 TD 9 |
TP 7, fichier
d'en-tête arbre.h TP 8 Sources de Blivet Utilisation de Bison: page de man + manuel d'utilisation TP 9&10 Programmes en langage Simple |
| 7 avril 2008 | TD 10 | TP de la semaine précédente à terminer |
| 14 avril 2008 | TD 11 | TP 11&12 |
| 23 avril 2008 | TD 12 | TP de la semaine précédente à terminer |