Académique Documents
Professionnel Documents
Culture Documents
Rapport
UN COMPILATEUR
Travail de :
Année_étudée : 2015/1016
1
SOMMAIRE
Introduction
Le but de TP
Le but de choix de langage
L'automate
La table de transition
Le programme
i. introduction
Définition de la compilation
2
UN compilateur est un programme de traduction.
De facon generale:
- On part d'un code source
Ecrit dans un langage de haut niveau' (langage de
programmation, C, C++, Java, LISP...)
Qui est“facile”a manipuler pour un informaticien.
- Le compilateur traduit dans UN langage cible (de type
Assembleur), facile a manipuler Pour l'ordinateur.
Ce langage cible est ensuite optimise.
Remarque : IL existe d'excellents compilateurs, mais
IL n'existe pas d'excellent traducteur
D'une langue naturelle a une autre!
ii. le but de TP
Le but du projet est de réaliser un compilateur naïf pour un
Langage simple
3
Le rapport d’implémentation C’est un sujet de recherche actif,
parce que les processeurs modernes deviennent de plus en plus
complexes, et demandent des compilateurs de plus en plus
sophistiqués.
Buts de la compilation:
Changer la forme tout en conservant la semantique.
Signaler les erreurs rencontrees et aider l'informaticien à
les corriger.
La traduction s'effectue en plusieurs phases.
Chaine de developpement d'un programme
Enonce d'un probleme a resoudre
Analyse du probleme (decidabilite, classe de complexite)
Algorithme
Editeur de texte
Programme Source
Programme Cible
Erreur d'Exécution
4
acceptation peut être attribuée à sa conception et de
programmation caractéristiques, en particulier dans
ses promesses que vous pouvez écrire un
programme une fois, et lancez-le n'importe où. Java
a été choisie comme langage de programmation
pour les ordinateurs de réseau (NC) et a été perçu
comme une interface universelle pour la base de
données d'entreprise. Comme indiqué dans le Livre
Blanc langage Java de Sun Microsystems : «Java
est un simple, orienté objet, distribué, interprété,
robuste, sécurisé, une architecture neutre, portable,
multithread, et dynamique."
Java ™ présente des avantages importants sur les
autres langues et les environnements qui le
rendent approprié à presque n'importe quelle
tâche de programmation.
iv. L'AUTOMATE
5
v. LA TABLE DE TRANSITION
6
A...Z 0...9 + - =+- )>< : =
( ;, :
*/
S0 S1 S4 __ __ S5 S9 S8 S10 __
S1 S1 S1 S2 __ __ __ __ __ __
S2 S1 S1 S3 __ __ __ __ __ __
S3 __ __ S2 __ __ __ __ __ __
S4 __ S4 __ S6 __ __ __ __ __
S5 __ S4 __ __ __ __ __ __ __
S6 __ S7 __ __ __ __ __ __ __
S7 __ S7 __ __ __ __ __ __ __
S8 __ __ __ __ __ __ __ __ __
S9 __ __ __ __ __ __ __ __ __
S10 __ __ __ __ __ __ __ __ S9
vi. Le programme
7
8
9