Difference between revisions of "Courses/CMP1"

From LRDE

 
Line 1: Line 1:
 
{{Course
 
{{Course
  +
|visible=Yes
 
|title=Construction des compilateurs 1
 
|title=Construction des compilateurs 1
 
|acronym=CMP1
 
|acronym=CMP1
Line 10: Line 11:
 
|module=Informatique fondamentale
 
|module=Informatique fondamentale
 
|prerequisites=THL
 
|prerequisites=THL
|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.
+
|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.
  +
|content=* Architecture des compilateurs* Outils de développement* Analyse lexicale* Analyse syntaxique* Syntaxe abstraite* Analyse sensible au contexte* Liaison des noms
 
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.
 
|content=* Architecture des compilateurs
 
* Outils de développement
 
* Analyse lexicale
 
* Analyse syntaxique
 
* Syntaxe abstraite
 
* Analyse sensible au contexte
 
* Liaison des noms
 
 
|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

Latest revision as of 14:10, 3 February 2020

Titre

Construction des compilateurs 1

Sigle

CMP1

Enseignant

Etienne Renault

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
  • Architecture des compilateurs* Outils de développement* Analyse lexicale* Analyse syntaxique* Syntaxe abstraite* Analyse sensible au contexte* Liaison des noms
Documentation
Support
Journaux