Difference between revisions of "Courses/CMP1"
From LRDE
(FIll in with contents from TWiki.) |
|||
(18 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Course |
{{Course |
||
+ | |visible=Yes |
||
|title=Construction des compilateurs 1 |
|title=Construction des compilateurs 1 |
||
|acronym=CMP1 |
|acronym=CMP1 |
||
− | |teacher= |
+ | |teacher=Renault |
− | |period= |
+ | |period=S2, Ing1 |
|audience=Tronc-commun |
|audience=Tronc-commun |
||
|exam type=Partiel, Projet |
|exam type=Partiel, Projet |
||
− | |duration= |
+ | |duration=12h |
|optional course=non |
|optional course=non |
||
|module=Informatique fondamentale |
|module=Informatique fondamentale |
||
+ | |prerequisites=THL |
||
− | |objectives=Le compilateur est l'interface principale du programmeur vers la |
||
+ | |objectives=Comprendre les différentes analyses conduites par un compilateur ou un interpréteur. Être capable de s'en inspirer pour concevoir des systèmes d'échanges d'information structurée entre composants possiblement distants.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émythifier 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. |
||
− | machine. On ne peut pas être un bon programmeur sans savoir d'un côté |
||
+ | |content=* Architecture des compilateurs* Outils de développement* Analyse lexicale* Analyse syntaxique* Syntaxe abstraite* Analyse sensible au contexte* Liaison des noms |
||
− | 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émythifier 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. |
||
− | |||
− | Objectifs : comprendre les différentes analyses conduites par un compilateur ou un interpréteur. Être capable de s'en inspirer pour concevoir des systèmes d'échanges d'information structurée entre composants possiblement distants. |
||
− | |||
− | |content=* Architecture des Compilateurs |
||
− | * Outils de développement |
||
− | * Analyse lexicale |
||
− | * Analyse syntaxique |
||
− | * Syntaxe abstraite |
||
− | * Analyse sensible au contexte |
||
− | * Liaison des noms |
||
− | * Contrôle des types |
||
− | |||
|references=http://www.lrde.epita.fr/~tiger/ |
|references=http://www.lrde.epita.fr/~tiger/ |
||
Modern Compiler Implementation par Andrew Appel |
Modern Compiler Implementation par Andrew Appel |
||
+ | http://tiger.lrde.epita.fr/ |
||
− | |||
|slides=http://www.lrde.epita.fr/~tiger/lecture-notes/ |
|slides=http://www.lrde.epita.fr/~tiger/lecture-notes/ |
||
− | |logbook=CompilationLecture2005, |
+ | |logbook=Courses/CompilationLecture2005, |
− | CompilationLecture2006, |
+ | Courses/CompilationLecture2006, |
− | ConstructionDesCompilateursLecture2007, |
+ | Courses/ConstructionDesCompilateursLecture2007, |
− | CcmpLog2008, |
+ | Courses/CcmpLog2008, |
− | CcmpLog2009, |
+ | Courses/CcmpLog2009, |
+ | Courses/CcmpLogIng2010, |
||
− | CcmpLogIng2010 (Ing1 students), CcmpLogAppIng2010 (!AppIng1 students), |
||
+ | Courses/CcmpLogAppIng2010, |
||
− | CcmpTylaLogIng2011 (Ing1 students), CcmpTylaLogAppIng2011 (!AppIng1 students), |
||
+ | Courses/CcmpTylaLogIng2011, |
||
− | CcmpTylaLogIng2012 (Ing1 students), CcmpTylaLogAppIng2012 (!AppIng1 students), |
||
+ | Courses/CcmpTylaLogAppIng2011, |
||
− | CcmpLogAppIng2013 (!AppIng1 students), CcmpTylaLogIng2014 (!Ing1 students), |
||
+ | Courses/CcmpTylaLogIng2012, |
||
− | CcmpTylaLogAppIng2014 (!AppIng1 students), CcmpTylaLogIng2015 (!Ing1 students), |
||
+ | Courses/CcmpTylaLogAppIng2012, |
||
⚫ | |||
+ | Courses/CcmpLogAppIng2013, |
||
− | |||
+ | Courses/CcmpTylaLogIng2014, |
||
+ | Courses/CcmpTylaLogAppIng2014, |
||
+ | Courses/CcmpTylaLogIng2015, |
||
⚫ | |||
+ | Courses/CcmpTylaLogIng2016 (Ing1 students), |
||
+ | Courses/CcmpTylaLogAppIng2016 (AppIng1 students), |
||
+ | Courses/CcmpTylaLogIng2017 (Ing1 students) |
||
|code=CMP1 |
|code=CMP1 |
||
|nomenclature=INF_305_CMP1 |
|nomenclature=INF_305_CMP1 |
||
Line 70: | Line 57: | ||
H] Contrôle des types |
H] Contrôle des types |
||
|bibliographie=http://epita.lrde.epita.fr/CCMP-Course |
|bibliographie=http://epita.lrde.epita.fr/CCMP-Course |
||
− | http://www.lrde.epita.fr/~ |
+ | http://www.lrde.epita.fr/~tiger |
Modern Compiler Implementation par Andrew Appel |
Modern Compiler Implementation par Andrew Appel |
||
http://tiger.lrde.epita.fr/ |
http://tiger.lrde.epita.fr/ |
Latest revision as of 15:10, 3 February 2020
Titre |
Construction des compilateurs 1 |
---|---|
Sigle |
CMP1 |
Enseignant | |
Période |
S2, Ing1 |
Public |
Tronc-commun |
Contrôle |
Partiel, Projet |
Durée |
12h |
Optionnel |
non |
Module |
Informatique fondamentale |
Prérequis |
THL |
Objectifs |
Comprendre les différentes analyses conduites par un compilateur ou un interpréteur. Être capable de s'en inspirer pour concevoir des systèmes d'échanges d'information structurée entre composants possiblement distants.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émythifier 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 |
|