d'enseignement
- 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)
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 :
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
Eu égard au référentiel AA du programme « Master [60] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
Les étudiants ayant suivi avec fruit ce cours seront capables de
Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils ont développé leur capacité à
|
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) ».
- 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.)
- Cours magistral
- Séances d'exercices
- Projet (conception et implémentation d'un compilateur)
des acquis des étudiants
- examen écrit
- 3 assignements par groupe de 2
- 1 projet relatif aux DSL
- 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
en ligne
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
en charge