Rappels et compléments de compilation   Analyses lexicale et  syntaxique  - Cours de Compilation Avancée
41 pages
Français

Rappels et compléments de compilation Analyses lexicale et syntaxique - Cours de Compilation Avancée

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
41 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Rapp els et compléments de compilationAnalyses lexicale et syntaxiqueCours de Compilation A vancée (MI190)Benjamin CanouUniversité Pierre et Maire CurieAnnée 2010/2011 – Semaine 1. . . . . .Rapp els. . . . . .Qu’est-ce que la compilation ?Princip e de base de la :T raduction du co de source vers du co de machine ( co de natif )..Compilateur .Machine. .src. .exe. . . . . .Qu’est-ce que la compilation ?Compilation p our une machine virtuelle ( VM ):Pro duction de co de-o ctet (b yteco de) interp rété ou compilé à lavolée vers du co de machine..Compilateur. .Machinemachine. .src. exe.abstraite. . . . . .Qu’est-ce que la compilation ?Compilation sépa rée :Liaison de fichiers objet , un fichier objet pa r unité decompilation du langage ( classe, mo dule, package, etc. ).src. obj...Compilateur .Éd. de liens .Machinemachine. ..src obj. .exeabstraite.src obj.. . . . . .Qu’est-ce que la compilation ?Utilisation d’une bibliothèque d’exécution ( runtime ) :p our le supp o rt des langages de haut niveau ( gestion mémoire,entrées/so rties, cha rgement dynamique, app els de métho ds,continuations, etc. ).I VM : intégré dans la machine virtuelleI Co de natif : lié dans l’exécutablesrc. .obj.Compilateur. Éd.. de liens .Machinemachine. .src. exe.obj.abstraite.src .objbib.. d’exécution. . . . . .Qu’est-ce que la compilation ?T ransfo rmations source-à-source :I Prép ro cesseur : même langage de so rtie, p our netto y er,appliquer des macros, ...

Informations

Publié par
Nombre de lectures 92
Langue Français

Extrait

Rappels et complments de compilation Analyses lexicale et syntaxique
Cours de Compilation Avance (MI190)
Benjamin Canou Universit Pierre et Maire Curie
Anne 2010/2011 – Semaine 1
Rappels
Qu’ st-ce que la compilation ? e
Principe de base de la compilation : Traduction ducode sourcevers ducode
src
Compilateur
exe
Machine
machine
(code
natif).
Qu’est-ce que la compilation ?
Compilation pour une machine virtuelle (VM): Production decode-octet(bytecode)interprt ou compil vole vers du code machine.
src
Compilateur
exe
machine abstraite
Machine
à
la
Qu’est-ce que la compilation ?
Compilation spare : Liaison defichiers objet, un fichier objet parunit de compilationdu langage (classe, module, package, etc.).
src src
src
Compilateur
obj obj
obj
obj
d. de liens
exe
machine abstraite
Machine
Qu’est-ce que la compilation ?
Utilisation d’unebibliothque d’excution(runtime) : pour le support des langages de haut niveau (gestion mmoire, entres/sorties, chargement dynamique, appels de mthods, continuations, etc.). VM :intgr dans la machine virtuelle Code natif :li dans l’excutable
II
src src
src
obj Compilateurobjd.deliensexeambasctrhine aite
obj
obj
bib. d’excution
Machine
Qu’est-ce que la compilation ?
Transformations source-à-source :
II
src src src
Prprocesseur :mme langage de sortie, pour nettoyer, appliquer des macros, etc. Traduction (compilation) :utilisation d’un langage existant comme cible. Comme pour une VM, il faut ventuellement une bibliothque d’xcution.
src obj teur d. de liens machine Compila obj abstraite src exe src obj
bib. d’excution
Machine
Chane de compilation classique
code source Analyse lexicale# suite de mots Analyse syntaxique# abre de syntaxe abstraite (AST) Analyses smantiques# AST typ Simplification, optimisations# langage intermdiaire mission de code# code objet
Informations sur le cours
Premire partie : Cours parBenjamin Canou, TD/TME parPhilippe Trebuchet
IIII
Cours 1 :Rappels, analyseurs Cours 2 et 3 :Machines virtuelles et bibliothques d’excution Cours 4 :Modles mmoire Cours 5 :Contrle de haut niveau, paralllisme
Deuxime partie : Cours et TD/TME parKarine Heydemann architecture machine et optimisation de code, mmoire cache, paralllisme d’instructions Notation : Un examen 60% Un projet par partie (20% + 20%)
II
Analyses
lexicale
et
syntaxique
Syntaxe d’un langage
Les langages de programmation sont plus simples que les langues humaines, mais sont dcrits de la mme façon.
III
Langage :ensemble des phrases possibles.
Phrase :suite de mots correcte par rapport à une grammaire.
Mot :lment d’un dictionnaire fini.
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents