Vous êtes sur la page 1sur 14

DESS QUASSI 2004/2005 Mini-cours

La Compilation
Isabelle Develay Bertrand Marteau

2 novembre 2004

Isabelle Develay - Bertrand Marteau

Plan de la prsentation

1 Les Phases de la Compilation 2 Analyse Lexicale 3 Analyse Syntaxique 4 Analyse Smantique et


Gestionnaire derreur

5 Gnration de Code
2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

Les Phases de la Compilation

Programme source Analyseur lexical

Analyseur syntaxique

Phase d'analyse

Analyseur smantique Gestionnaire derreurs Gnrateur de code

Optimiseur de code

Phase de production

Gnrateur de code

Programme cible
2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

2
Analyse Lexicale

BUT : Reconnatre les caractres dentre et produire les units lexicales Affectation Oprateur Arithmtique

X := A * C + Reste
Affectation = :=

Identificateur
2 novembre 2004 Isabelle Develay - Bertrand Marteau

Oprateur Arithmtique = +| - | * | / Identificateur = [A-Z] [a-z]*


Mini-Cours La Compilation

2
Analyse Lexicale

Les units lexicales sont reconnues laide dautomates


Identificateur = [A-Z] [a-z]*

[A-Z]

1
tat transition

[a-z]

2 novembre 2004 Isabelle Develay - Bertrand Marteau

Mini-Cours La Compilation

3
Analyse Syntaxique

BUT : Vrifier lordonnancement des units lexicales utilisation dune grammaire dfinissant le langage source
Llve coute le cours Llve coute le cours article nom article nom verbe verbe article nom article (L) (lve) (coute) (le) phrase sujet verbe complment nom (cours)

sujet article adjectif nom | article nom adjectif | article nom complment article nom

2 novembre 2004 Isabelle Develay - Bertrand Marteau

Mini-Cours La Compilation

3
Analyse Syntaxique

X := A * C + Reste
Analyse lexicale
identificateur affectation identificateur oprateur identificateur oprateur identificateur

S identificateur affectation S1 S1 identificateur oprateur S1 | S2 S2 identificateur


2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

4
Analyse Smantique

BUT : Vrifier la cohrence des instructions reconnues Exemples : Utilisation dune variable non dfinie Multiplication dun rel par une chane de caractres Typage des variables dans les fonctions
2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

4
Gestionnaire derreurs

BUT : Informer lutilisateur sur le type derreur rencontre par le compilateur Erreur lexicale :

Y:= a + B
Erreur Syntaxique :

Y:= + A * C
Erreur Smantique : REAL R BOOLEAN B R:=B !
2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

5
Gnration de Code

BUT : traduire les instructions en Langage cible Pour augmenter la portabilit du compilateur Gnration de code intermdiaire

Code source

Code Intermdiaire

Code Cible

Traduction indpendante de la machine

Traduction spcifique

2 novembre 2004 Isabelle Develay - Bertrand Marteau

Mini-Cours La Compilation

10

5
Gnration de Code re tape = 2 1me : Nombre arbre danalyse de registres

S
3

Identificateur X

Affectation :=

S1
2

Identificateur Oprateur A 1 *
S identificateur affectation S1 S1 identificateur oprateur S1 | S2

S1

Identificateur Oprateur C +
1

S2 Identificateur Reste

4 registres : R1,R2,R3,R4 S2 identificateur


2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

11

5
Gnration de Code

code intermdiaire utilisation des mnmoniques

LOAD R2 2 ADD R3 3 MULT R1 4 STO R4


1

Pile dxecution A*(C+Reste) C+(Reste) Reste

R1 (valeur de A) R2 (val.de Reste) R3 (valeur de C) R4 (valeur de X) registres

X := A * C + Reste Traduit comme X:= A * (C+Reste)


2 novembre 2004 Isabelle Develay - Bertrand Marteau Mini-Cours La Compilation

12

Conclusion
Nombreuses utilisations pour la traduction dun langage vers un autre : JAVA C++ Word HTML Word PDF Domaine sujet des recherches pour la gnration de code partir de spcifications (ex : UML JAVA)

2 novembre 2004 Isabelle Develay - Bertrand Marteau

Mini-Cours La Compilation

13

Questions ???

2 novembre 2004 Isabelle Develay - Bertrand Marteau

Mini-Cours La Compilation

14

Vous aimerez peut-être aussi