Difference between revisions of "Courses/CMP2"
From LRDE
Line 5: | Line 5: | ||
|period=S2, Ing1 |
|period=S2, Ing1 |
||
|audience=Tronc-commun |
|audience=Tronc-commun |
||
+ | |exam type=Partiel, Projet |
||
+ | |duration=12H |
||
|optional course=non |
|optional course=non |
||
|module=Génie Logiciel et Programmation |
|module=Génie Logiciel et Programmation |
||
Line 13: | Line 15: | ||
Ce cours vise à démystifier la théorie de la compilation en couvrant dans le détail le fonctionnement de l'intégralité d'un compilateur. À l'issue de cet enseignement les étudiants comprennent mieux leurs outils pour devenir de meilleurs ingénieurs du logiciel. |
Ce cours vise à démystifier la théorie de la compilation en couvrant dans le détail le fonctionnement de l'intégralité d'un compilateur. À l'issue de cet enseignement les étudiants comprennent mieux leurs outils pour devenir de meilleurs ingénieurs du logiciel. |
||
+ | |content=* Contrôle des types |
||
− | |content=Seconde Partie : Partie Terminale de la compilation |
||
+ | * Langages intermédiaires |
||
⚫ | |||
+ | * Mémoire : hiérarchie des mémoires matérielles, gestion logicielle de la mémoire |
||
⚫ | |||
+ | * Sélection d'instructions (génération de code) |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | A - Langages Intermédiaires |
||
− | |||
⚫ | |||
− | |||
⚫ | |||
− | |||
− | D - Sélection des Instructions |
||
− | |||
⚫ | |||
− | |||
⚫ | |||
− | |||
⚫ | |||
⚫ | |||
Modern Compiler Implementation par Andrew Appel |
Modern Compiler Implementation par Andrew Appel |
||
http://tiger.lrde.epita.fr/ |
http://tiger.lrde.epita.fr/ |
||
+ | |slides=http://www.lrde.epita.fr/~tiger/lecture-notes/ |
||
+ | |||
+ | |logbook=Courses/CompilationLecture2005, |
||
+ | Courses/CompilationLecture2006, |
||
+ | Courses/ConstructionDesCompilateursLecture2007, |
||
+ | Courses/CcmpLog2008, |
||
+ | Courses/CcmpLog2009, |
||
+ | Courses/CcmpLogIng2010, |
||
+ | Courses/CcmpLogAppIng2010, |
||
+ | Courses/CcmpTylaLogIng2011, |
||
+ | Courses/CcmpTylaLogAppIng2011, |
||
+ | Courses/CcmpTylaLogIng2012, |
||
+ | Courses/CcmpTylaLogAppIng2012, |
||
+ | Courses/CcmpLogAppIng2013, |
||
+ | Courses/CcmpTylaLogIng2014, |
||
+ | Courses/CcmpTylaLogAppIng2014, |
||
+ | Courses/CcmpTylaLogIng2015, |
||
+ | Courses/CcmpTylaLogAppIng2015, |
||
+ | Courses/CcmpTylaLogIng2016 (Ing1 students), |
||
+ | Courses/CcmpTylaLogAppIng2016 (AppIng1 students) |
||
}} |
}} |
Revision as of 09:51, 30 June 2014
Titre |
Construction des Compilateurs 2 |
---|---|
Sigle |
CMP2 |
Enseignant | |
Période |
S2, Ing1 |
Public |
Tronc-commun |
Contrôle |
Partiel, Projet |
Durée |
12H"H" is not declared as a valid unit of measurement for this property. |
Optionnel |
non |
Module |
Génie Logiciel et Programmation |
Prérequis |
CMP1 |
Objectifs |
Comprendre la traduction de langages, les optimisations. Mieux comprendre quand on peut avoir confiance dans du code généré/traduit automatiquement par rapport à du code écrit à la main. Le compilateur est l'interface principale du programmeur vers la machine. On ne peut pas être un bon programmeur sans savoir d'un côté comment fonctionne un ordinateur (cours d'architecture, de système, d'assembleur, etc.) et de l'autre le langage de commande (cours de d'algorithmie, de C, C++, Eiffel, etc.). Sans une bonne connaissance des compilateurs ---le pont entre le programmeur et la machine-- cette connaissance est illusoire et donne lieu à des « mythes urbains de programmeurs ». Ce cours vise à démystifier la théorie de la compilation en couvrant dans le détail le fonctionnement de l'intégralité d'un compilateur. À l'issue de cet enseignement les étudiants comprennent mieux leurs outils pour devenir de meilleurs ingénieurs du logiciel. |
Plan |
|
Documentation |
|
Support | |
Journaux |
|