Libellé du cours : | Théorie des langages, compilation, interprétation |
---|---|
Département d'enseignement : | MIN / Mathématiques - Informatique |
Responsable d'enseignement : | Monsieur SAMIR EL KHATTABI |
Langue d'enseignement : | Français |
Ects potentiels : | 0 |
Grille des résultats : | |
Code et libellé (hp) : | LA3_A_SI_MIN_TLC - Théo. des lang., comp., inter. |
Equipe pédagogique
Enseignants : Monsieur SAMIR EL KHATTABI
Intervenants extérieurs (entreprise, recherche, enseignement secondaire) : divers enseignants vacataires
Résumé
Ce cours propose une initiation à la génération d’un compilateur/interpréteur. L’approche mise en œuvre est présentée ainsi que les techniques utilisées pour la génération de langage. Un volet théorique permet d’aborder les langages formels, la notion de grammaire, les arbres de dérivations, les différentes notations grammaticales utilisées (digramme syntaxique, BNF, règles de production) ainsi que la classe des automates à états fini et déterministes. L’implémentation d’un mini langage scientifique se fait autour des outils lex & yacc afin de mettre en œuvre les deux étapes frontales d’un compilateur/interpréteur. La génération de code, sa translation dans un code intermédiaire (compilation) et son exécution (interprétation), sont également abordés. Un soin particulier est apporté pour la gestion des erreurs grammaticales et sémantiques.
Objectifs pédagogiques
Initiation à l'écriture d'un compilateur/interpréteur.
Objectifs de développement durable
Modalités de contrôle de connaissance
Contrôle Continu / Dernier Contrôle Bloqué du cours
Commentaires:
Ressources en ligne
- Plateforme pédagogique de l’école
Pédagogie
Séquencement / modalités d'apprentissage
Nombre d'heures en CM (Cours Magistraux) : | 12 |
---|---|
Nombre d'heures en TD (Travaux Dirigés) : | 14 |
Nombre d'heures en TP (Travaux Pratiques) : | 8 |
Nombre d'heures en Séminaire : | 0 |
Nombre d'heures en Demi-séminaire : | 0 |
Nombre d'heures élèves en TEA (Travail En Autonomie) : | 0 |
Nombre d'heures élèves en TNE (Travail Non Encadré) : | 0 |
Nombre d'heures en CB (Contrôle Bloqué) : | 0 |
Nombre d'heures élèves en PER (Travail PERsonnel) : | 0 |
Nombre d'heures en Heures Projets : | 0 |
Pré-requis
- Bonne connaissance de l’algorithmique et de la programmation structurée - Maîtrise de l’environnement UNIX et des outils de compilation en C