Note du 29 juin 2020
Sans connaitre encore le temps que dureront les mesures de distances sociales liées à la pandémie de Covid-19, et quels que soient les changements qui ont dû être opérés dans l’évaluation de la session de juin 2020 par rapport à ce que prévoit la présente fiche descriptive, de nouvelles modalités d’évaluation des unités d’enseignement peuvent encore être adoptées par l’enseignant ; des précisions sur ces modalités ont été -ou seront-communiquées par les enseignant·es aux étudiant·es dans les plus brefs délais.
Sans connaitre encore le temps que dureront les mesures de distances sociales liées à la pandémie de Covid-19, et quels que soient les changements qui ont dû être opérés dans l’évaluation de la session de juin 2020 par rapport à ce que prévoit la présente fiche descriptive, de nouvelles modalités d’évaluation des unités d’enseignement peuvent encore être adoptées par l’enseignant ; des précisions sur ces modalités ont été -ou seront-communiquées par les enseignant·es aux étudiant·es dans les plus brefs délais.
6 crédits
30.0 h + 30.0 h
Q2
Enseignants
Schaus Pierre;
Langue
d'enseignement
d'enseignement
Anglais
Thèmes abordés
- Méthodes d'analyse de langages "context-free", méthodes ascendantes et méthodes descendantes. Applications
- Générateurs d'analyseurs lexicaux et syntaxiques
- Sémantique statique et grammaires attribuées
- Méthode de définition de traduction du code source en code cible et génération du code cible
- Machine virtuelle et byte-code (JVM)
- Garbage Collection et gestion mémoire
- Domain Specific Languages (DSL)
Acquis
d'apprentissage
d'apprentissage
A la fin de cette unité d’enseignement, l’étudiant est capable de : | |
1 |
Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
|
La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».
Contenu
- Introduction
- Langages formels
- Grammaires Formelles de Chomsky
- Langages et Expressions Régulières, Automates à Ensemble Fini d'États
- Analyse Lexicale
- Analyse syntaxique descendante : méthode générale
- Analyse syntaxique descendante basée sur les grammaires LL(1)
- Scala et les spécificités du langage pour conduire des DSL
- Quelques notions de programmations fonctionnelles relatives aux DSL (monads, etc.)
Méthodes d'enseignement
- Cours magistral
- Séances d'exercices
- Projet (conception et implémentation d'un compilateur)
Modes d'évaluation
des acquis des étudiants
des acquis des étudiants
- examen écrit
- 3 assignements par groupe de 2
- 1 projet relatif aux DSL
Autres infos
Préalables :
- LINGI1122 : Méthodes rigoureuses de conception de programmes
- LSINF1121 : langage de programmation de haut niveau, algorithmique et structures de données
- LINGI1101 : Logique et structures discrètes
Ressources
en ligne
en ligne
Bibliographie
Supports du cours en ligne (site web du cours)
Ouvrage(s) recommandé(s) :
Ouvrage(s) recommandé(s) :
- Introduction to Compiler Construction in a Java World, Bill Campbell, Swami Iyer, Bahar Akbal-Deliba http://www.cs.umb.edu/j--/
- Scala for the Impatient, Cay Horstmann, Addison-Wesley 2012
- Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition, Martin Odersky , Lex Spoon, Bill Venners
Faculté ou entité
en charge
en charge
INFO