COURS // INF5001 Conception, interprétation et compilation de langages informatiques
Mes cours favoris
Ce système permet de sélectionner vos cours favoris en prévision de votre inscription qui se fait sur le portail étudiant.
Trimestre | Cours | Groupe |
---|
Description du cours
- Cycle : 1
- Type de cours : Magistral
- Nombre de crédits : 3
- Discipline : Informatique
Objectifs
Initier les étudiants à la conception de langages informatiques et à la construction efficace d'interpréteurs et de compilateurs à l'aide d'outils modernes.
Sommaire du contenu
Types de langages informatiques (programmation, déclaratif, requête et autres). Structure typique d'un interpréteur et d'un compilateur. Éléments de la théorie des langages. Spécification lexicale. Expressions régulières. Ambiguïtés lexicales. Spécification syntaxique. Grammaires non contextuelles. Ambiguïtés syntaxiques et conflits. Utilisation de générateurs d'analyseurs lexicaux et syntaxiques. Arbres syntaxiques hétérogènes. Interprétation par visite d'arbre. Structures de données auxiliaires à l'interprétation telles que le dictionnaire de variables. Analyse sémantique. Interprétation abstraite. Analyse de types d'expressions. Génération de code. Utilisation de générateurs de générateurs de texte. Techniques et structures de données pour l'interprétation ou la compilation de concepts des langages de programmation modernes.
Modalité d'enseignement
Cours magistral (3h / semaine) + Séance de laboratoire (2h / semaine)
Préalables académiques
[INF3105 Structures de données et algorithmes]