SlideShare ist ein Scribd-Unternehmen logo
1 von 21
ETUDE D’UN COMPILATEUR
01
SOMMAIRE
03
Quel rôle joue un
compilateur
02
Qu'est-ce que la
compilation en
informatique ?
05
La différence entre
langages compilés et
interprétés ?
01
C’est quoi
un compilateur ?
04
Quelles sont les étapes de
compilation d'un
programme ?
ETUDE D’UN COMPILATEUR
C'est un programme qui traduit un code source (compréhensible
par les humains : langage de programmation de haut niveau)
vers un langage cible (compréhensible par les machines: en code
binaire : langage de programmation de bas niveau ) en indiquant
les erreurs éventuelles que pourrait contenir le programme
source.
le but étant de générer un programme exécutable par un
ordinateur.
C’est quoi un
compilateur ?
ETUDE D’UN COMPILATEUR
La compilation informatique désigne la transformation d’un
programme écrit en code source, en un programme transcrit en code
cible, ou binaire.
- le code source est rédigé dans un langage de programmation
(langage source), il est de haut niveau de conception et facilement
accessible à un utilisateur.
- Le code cible, quant à lui, est transcrit en langage de plus bas
niveau (langage cible), afin de générer un programme exécutable par
une machine.
Qu'est-ce que la
compilation en
informatique ?
ETUDE D’UN COMPILATEUR
Un compilateur est un sous-programme d’un
langage de programmation.
Il a pour rôle de vérifier que le programme
a un sens et de rechercher toutes les erreurs
possibles dans un programme source, telles
que des fautes d’orthographe, les variables, les
types …..
Quel rôle joue un
compilateur ?
ETUDE D’UN COMPILATEUR
Un programme se compile
selon une série de phases
Quelles sont les
étapes de
compilation d'un
programme ?
BACKGROUND
Traitements
parallèles
01 02 03
La partie synthèse
construit le
programme cible à
partir de cette
Représentation
intermédiaire.
La partie analyse
partitionne le
programme source
en ses constituants
et en crée une
représentation
intermédiaire.
ETUDE D’UN COMPILATEUR
PHASE D’ANALYSE PHASE DE SYNTHESE TRAITEMENT PARALLELES
1. Code
intermédiaire
2. Optimisation
3. production
du code
1. Table des
symboles
2. traitement
des erreurs
1. Analyse
lexical
2. Analyse
syntaxique
3. Analyse
sémantique
CONCLUSIONS
Analyse
lexicale
PHASE D’ANALYSE
01 03
02
analyse
syntaxique
Analyse
sémantique
L'analyse lexicale (linéaire): le flot de
caractères formant le programme source est
lu de gauche à droite et groupé en lexèmes
(mots), qui sont des suites de caractères
ayant une signification collective
L'analyse syntaxique (grammaticale):
les unités lexicales sont regroupés
hiérarchiquement dans des collections
imbriquées (phrases) ayant une
signification collective.
01
L'analyse sémantique: contrôle pour
s'assurer que l'assemblage des
constituants du programme a un sens.
03
02
CONCLUSIONS
Code
intermédiaire
PHASE DE SYNTHESE
01 03
02
Optimisation
Production
du code
Le code intermédiaire c’est l’arborescence
qu'est le résultat de la phase d’analyse
Optimisation du code: Amélioration du
code intermédiaire pour que le code
final s'exécute plus rapidement et
utilise le minimum de mémoire.
01
Génération du code: Production du code
cible en langage d'assemblage.
03
02
CONCLUSIONS
Table des symboles
TRAITEMENT PARALLELES
01 02
traitement des erreurs
Gestion de la table des symboles:
Une table des symboles est une
structure de données contenant un
enregistrement pour chaque
identificateur, muni de champs pour
ses attributs (emplacement mémoire,
son type, sa protée..).
01
Traitement des erreurs:
Chaque phase peut rencontrer des erreurs.
Après avoir détecté une erreur, une phase
doit la traiter de telle façon que la
compilation puisse continuer et que
d'autres erreurs dans le programme
puissent être détectées.
02
ETUDE D’UN COMPILATEUR
Le compilateur et l'interpréteur, les deux ont l'intention de faire le
même travail mais de façon diffèrent :
Un compilateur prend tout le programme et le convertit en
code objet qui est généralement stocké dans un fichier. Le code
objet est également référencé en tant que code binaire et peut être
exécuté directement par la machine après la liaison.
Un interpréteur exécute directement des instructions écrites
dans un langage de programmation ou de script sans les convertir
en un code objet ou un code machine.
La différence entre
langages compilés
et interprétés ?
Un compilateur
Un interpréteur
CREDITS: This presentation template was created
by Slidesgo, including icons by Flaticon, and
infographics & images by Freepik
REALISER PAR :
MARIEM CHATTI
OUMAYMA JARRAR
NOUR ELHOUDA MOUSSA
presentation-compilateur.pptx

Weitere ähnliche Inhalte

Was ist angesagt?

Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiAzzeddine Elouadi
 
réalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesréalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesMedk Salhi
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESTombariAhmed
 
Rapport de stage - gestion commerciale @REC MEDIA
Rapport de stage - gestion commerciale @REC MEDIARapport de stage - gestion commerciale @REC MEDIA
Rapport de stage - gestion commerciale @REC MEDIAREDOUANIAbdessamad
 
Projet administration-sécurité-réseaux
Projet administration-sécurité-réseauxProjet administration-sécurité-réseaux
Projet administration-sécurité-réseauxRabeb Boumaiza
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...SAAD SARHANI
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaIlef Ben Slima
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
 
Rapport de stage final lagou
Rapport de stage final   lagouRapport de stage final   lagou
Rapport de stage final lagouJean Cedric Lagou
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...mouafekmazia
 
Presentation pfe
Presentation pfePresentation pfe
Presentation pfezinebcher
 
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...Nawres Farhat
 
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Ghali Rahma
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileRim ENNOUR
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 

Was ist angesagt? (20)

Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’Emploi
 
réalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesréalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiques
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 
Rapport de stage - gestion commerciale @REC MEDIA
Rapport de stage - gestion commerciale @REC MEDIARapport de stage - gestion commerciale @REC MEDIA
Rapport de stage - gestion commerciale @REC MEDIA
 
Projet administration-sécurité-réseaux
Projet administration-sécurité-réseauxProjet administration-sécurité-réseaux
Projet administration-sécurité-réseaux
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben Slima
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
Rapport de stage final lagou
Rapport de stage final   lagouRapport de stage final   lagou
Rapport de stage final lagou
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
 
Presentation pfe
Presentation pfePresentation pfe
Presentation pfe
 
Cours bd
Cours bdCours bd
Cours bd
 
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
 
Envoi SMS JAVA
Envoi SMS JAVAEnvoi SMS JAVA
Envoi SMS JAVA
 
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 

Ähnlich wie presentation-compilateur.pptx

Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfbenfifiaymen36
 
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
CompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnCompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsaraayoub440
 
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.pptMohamed827334
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et ProgrammationMonssifNajim1
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - KhawarizmiBachir Benyammi
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcoursedu
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdfNoamHaythem
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfKamalZeghdar
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxOlyvierNzighou1
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxOlyvierNzighou1
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)mahbouba
 
Dev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesDev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesJean Michel
 

Ähnlich wie presentation-compilateur.pptx (20)

Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdf
 
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
CompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnCompilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Compilationnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
Chap1compil
Chap1compilChap1compil
Chap1compil
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
1758yyui3-jjjujujjiopoooooAcetatesA0.ppt
 
Pl 2-bis
Pl 2-bisPl 2-bis
Pl 2-bis
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et Programmation
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - Khawarizmi
 
compilation1-2020.pdf
compilation1-2020.pdfcompilation1-2020.pdf
compilation1-2020.pdf
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
c1.pdf
c1.pdfc1.pdf
c1.pdf
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdf
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptx
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Dev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesDev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummies
 

presentation-compilateur.pptx

  • 1.
  • 3. SOMMAIRE 03 Quel rôle joue un compilateur 02 Qu'est-ce que la compilation en informatique ? 05 La différence entre langages compilés et interprétés ? 01 C’est quoi un compilateur ? 04 Quelles sont les étapes de compilation d'un programme ?
  • 4. ETUDE D’UN COMPILATEUR C'est un programme qui traduit un code source (compréhensible par les humains : langage de programmation de haut niveau) vers un langage cible (compréhensible par les machines: en code binaire : langage de programmation de bas niveau ) en indiquant les erreurs éventuelles que pourrait contenir le programme source. le but étant de générer un programme exécutable par un ordinateur. C’est quoi un compilateur ?
  • 5.
  • 6. ETUDE D’UN COMPILATEUR La compilation informatique désigne la transformation d’un programme écrit en code source, en un programme transcrit en code cible, ou binaire. - le code source est rédigé dans un langage de programmation (langage source), il est de haut niveau de conception et facilement accessible à un utilisateur. - Le code cible, quant à lui, est transcrit en langage de plus bas niveau (langage cible), afin de générer un programme exécutable par une machine. Qu'est-ce que la compilation en informatique ?
  • 7. ETUDE D’UN COMPILATEUR Un compilateur est un sous-programme d’un langage de programmation. Il a pour rôle de vérifier que le programme a un sens et de rechercher toutes les erreurs possibles dans un programme source, telles que des fautes d’orthographe, les variables, les types ….. Quel rôle joue un compilateur ?
  • 8. ETUDE D’UN COMPILATEUR Un programme se compile selon une série de phases Quelles sont les étapes de compilation d'un programme ?
  • 9. BACKGROUND Traitements parallèles 01 02 03 La partie synthèse construit le programme cible à partir de cette Représentation intermédiaire. La partie analyse partitionne le programme source en ses constituants et en crée une représentation intermédiaire.
  • 10. ETUDE D’UN COMPILATEUR PHASE D’ANALYSE PHASE DE SYNTHESE TRAITEMENT PARALLELES 1. Code intermédiaire 2. Optimisation 3. production du code 1. Table des symboles 2. traitement des erreurs 1. Analyse lexical 2. Analyse syntaxique 3. Analyse sémantique
  • 12. L'analyse lexicale (linéaire): le flot de caractères formant le programme source est lu de gauche à droite et groupé en lexèmes (mots), qui sont des suites de caractères ayant une signification collective L'analyse syntaxique (grammaticale): les unités lexicales sont regroupés hiérarchiquement dans des collections imbriquées (phrases) ayant une signification collective. 01 L'analyse sémantique: contrôle pour s'assurer que l'assemblage des constituants du programme a un sens. 03 02
  • 13. CONCLUSIONS Code intermédiaire PHASE DE SYNTHESE 01 03 02 Optimisation Production du code
  • 14. Le code intermédiaire c’est l’arborescence qu'est le résultat de la phase d’analyse Optimisation du code: Amélioration du code intermédiaire pour que le code final s'exécute plus rapidement et utilise le minimum de mémoire. 01 Génération du code: Production du code cible en langage d'assemblage. 03 02
  • 15. CONCLUSIONS Table des symboles TRAITEMENT PARALLELES 01 02 traitement des erreurs
  • 16. Gestion de la table des symboles: Une table des symboles est une structure de données contenant un enregistrement pour chaque identificateur, muni de champs pour ses attributs (emplacement mémoire, son type, sa protée..). 01 Traitement des erreurs: Chaque phase peut rencontrer des erreurs. Après avoir détecté une erreur, une phase doit la traiter de telle façon que la compilation puisse continuer et que d'autres erreurs dans le programme puissent être détectées. 02
  • 17. ETUDE D’UN COMPILATEUR Le compilateur et l'interpréteur, les deux ont l'intention de faire le même travail mais de façon diffèrent : Un compilateur prend tout le programme et le convertit en code objet qui est généralement stocké dans un fichier. Le code objet est également référencé en tant que code binaire et peut être exécuté directement par la machine après la liaison. Un interpréteur exécute directement des instructions écrites dans un langage de programmation ou de script sans les convertir en un code objet ou un code machine. La différence entre langages compilés et interprétés ?
  • 19.
  • 20. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik REALISER PAR : MARIEM CHATTI OUMAYMA JARRAR NOUR ELHOUDA MOUSSA