[PDF] Introduction à la compilation





Previous PDF Next PDF



Guide déconométrie appliquée pour Stata Pour ECN 3950 et FAS

premières observations) ou regress y x1 x2 x3 in -10/1 (les 10 dernières observations). Si vous voulez afficher à l'écran la valeur de certaines variables 



Guide déconométrie appliquée à lintention des étudiants du cours

de MCO peut être utilisé sur les nouvelles variables. xtreg y x1 x2 fe. Page 11. Guide d'économétrie appliquée.



Diplôme de conservateur de bibliothèque - Les prospectus de

Les prospectus de libraires et d'éditeurs du XIXe siècle : traitement et mise en valeur du fonds du Service de documentation sur le livre la presse et la 



Développement financier et crises bancaires: une analyse de leffet

08?/04?/2019 financières du XIXe et du début du XXe siècle associées à la Révolution Industrielle. La section V s'intéresse à la crise des 1929 et à la ...



Les dynamiques spatiales des mutations démographiques en

19?/01?/2021 dynamiques spatiales des mutations démographiques en Belgique depuis le XIXe siècle: quelles per- manences géographiques entre la première ...



Les dynamiques spatiales des mutations démographiques en

02?/12?/2020 en Belgique depuis le XIXe siècle: quelles permanences géographiques entre la première et la seconde transition démographique?



Les dynamiques spatiales des mutations démographiques en

19?/01?/2021 dynamiques spatiales des mutations démographiques en Belgique depuis le XIXe siècle: quelles per- manences géographiques entre la première ...





Introduction à la compilation

C. Paulin (Université Paris Sud). Compilation. 2011-2012. 11 / 96 Set ( x e ) : : prog ?> dec_expr n e; addsymb x n; dec_instrs (n+1) prog.



LARCHITECTURE SCOLAIRE

Si les premières histoires architecturales des collèges (1) et universités paraissent à la fin du XIXe siècle celles qui concernent les écoles primaires ne se 

Introduction à la compilation

Introduction à la compilation

Christine Paulin-Mohring

Université Paris Sud

Master Informatique 2011-2012

C. Paulin (Université Paris Sud)Compilation2011-2012 1 / 96

Objectifs du cours

Comprendre les principes de construction d"un

compilateur Suite de caractères représentant un programmeCOMPILATEURSuite d"instruc- tions machines pour exécuter le programmeProgramme: description d"unesuite d"opér ationsqui étant donné une entrée va produire un résultat

Les opérations sont décrites dans plusieurs

modèles de calcul (impér atif, fonctionnel, objet, assembleur ...) C. Paulin (Université Paris Sud)Compilation2011-2012 2 / 96

Example (1)

Programme source en ocaml:

openPrintf let_ =letsum =ref0in fori = 1to100dosum := !sum + ( ii )done; printf " Result:%d\n" !sum C. Paulin (Université Paris Sud)Compilation2011-2012 3 / 96

Example (2)

Byte-code engendré parocamlc -c:

0 CONST0

1 PUSHCONST1

2 PUSHCONSTINT 100

4 PUSH

5 PUSHACC2

6 GTINT

7 BRANCHIF 27

9 CHECK_SIGNALS

10 ACC1

11 PUSHACC2

12 MULINT

13 PUSHACC3

14 ADDINT

15 ASSIGN 2

17 ACC118 PUSH

19 OFFSETINT 1

21 ASSIGN 2

23 ACC1

24 NEQ

25 BRANCHIF 9

27 CONST0

28 POP 2

30 ACC0

31 PUSHGETGLOBAL "Result : %d\n"

33 PUSHGETGLOBALFIELD Printf, 1

36 APPLY2

37 POP 1

39 ATOM0

40 SETGLOBAL Sum

C. Paulin (Université Paris Sud)Compilation2011-2012 4 / 96

Example (3)

Code machine (partiel) engendré parocamlopt:

00000000 :

0: 83 ec 04 sub $0x4,%esp

3: b9 01 00 00 00 mov $0x1,%ecx

8: b8 03 00 00 00 mov $0x3,%eax

d: 3d c9 00 00 00 cmp $0xc9,%eax

12: 7e 05 jle 19

14: 89 0c 24 mov %ecx,(%esp)

17: eb 1c jmp 35

19: 89 c2 mov %eax,%edx

1b: d1 fa sar %edx

1d: 89 c3 mov %eax,%ebx

1f: 4b dec %ebx

20: 0f af da imul %edx,%ebx

23: 01 d9 add %ebx,%ecx

25: 89 0c 24 mov %ecx,(%esp)

C. Paulin (Université Paris Sud)Compilation2011-2012 5 / 96

Autres apports

maitriser les techniques de base pour la transformation textuelle: (lex, yacc)comprendre les caractéristiques des langages de programmation (sémantique, efficacité)programmation: structures de données et algorithmes avancés C. Paulin (Université Paris Sud)Compilation2011-2012 6 / 96

Organisation

TDs à partir de recueils d"exercices

début mercredi 14 septembreProjet associé (responsable Kim Nguyen)

Utilisation du langage

ocaml

Partiel + Controle Continu + Examen

C. Paulin (Université Paris Sud)Compilation2011-2012 7 / 96

Calendrier prévisionnel

12/09 Cours 1-2 : Introduction aux compilateurs ,Analyse le xicale

Cours 3 : Analyse syntaxique

TD 1 - Projet 1

19/09

Cours 4 : Analyse sémantique élémentaire

TD 2 - Projet 2

26/09

Cours 5 : Génér ationde code 1

TD 3 - Projet 3

03/10

Cours 6 : Génér ationde code 2

TD 4 - Projet 4

10/10

Cours 7 : Génér ationde code 3

TD 5 - Projet 5

17/10

P asde cours (?)

TD 6 - Projet 6

24-28/10

P artiel

+ r attrapageTD 31 octobre (?) C. Paulin (Université Paris Sud)Compilation2011-2012 8 / 96

Calendrier-suite

31/10

Cours 8 : Génér ationde code 4

TD 7 - Projet 7

07/11

Cours 9 : Organisation de la mémoire

TD 8 - Projet 8

14/11

Cours 10 : Analyse sémantique a vancée1

TD 9 - Projet 9

21/11

Cours 11 : Analyse sémantique a vancée2

TD 10 - Projet 10

28/11

TD 11 - Projet 11

Projet 12 - soutenances

C. Paulin (Université Paris Sud)Compilation2011-2012 9 / 96

Pratique

Page WEB du cours :

http://www.lri.fr/~paulin/COMPIL

Page WEB du projet :

http://www.lri.fr/~kn/compil

Coordonnées :

Adresse électroniqueChristine.Paulin@lri.fr

Téléphone 01 72 92 59 05

Bureau PCRI - bat 650 - bureau 74 (RdC Est)

Merci d"utiliser prioritairement le

courrier électr onique C. Paulin (Université Paris Sud)Compilation2011-2012 10 / 96

Prérequis

Théorie des

langages f ormels: alphabet, mot, e xpressionsrégulières , automates, grammaires, ambiguitéLangages de programmation: typage, organisation de la mémoire Algorithmique : tables de hachage, arbres, graphes... C. Paulin (Université Paris Sud)Compilation2011-2012 11 / 96

Choix de ocaml

Un langage pour un développement efficace:

Concision du code

Bibliothèques

Typage fort (documentation, détection des erreurs)

Efficacité du code généré

Un langage particulièrement adapté aux manipulations symboliques:

Structures d"arbre

Concepts avancés de théorie des langages de programmation: ordre supérieur, inférence de type, modules ... C. Paulin (Université Paris Sud)Compilation2011-2012 12 / 96

Bibliographie

CompilationA. W. Appel.Modern Compiler Implementation in ML. Cambridge University Press, 1998J. R. Levine, T. Mason, and D. Brown.Lex & Yacc. Unix Programming

Tools. O" Reilly, 1995

ocamlE. Chailloux, P. Manoury, and B. Pagano.Développement d"applications avec Objective Caml. O"Reilly, 2000Claude Marché and Ralf Treinen. Formation au langage CAML.

Université Paris Sud. Notes du Cours LGLJean-Christophe Filliâtre. Intiation à la programmation fonctionnelle.

Université Paris Sud. Notes de Cours - Master Informatique M1 AssembleurJim Larus.Computer Organization and Design: The Hardware/Software Interface, chapter Assemblers, Linkers, and the SPIM Simulator. Morgan

Kaufmann, 2004.

C. Paulin (Université Paris Sud)Compilation2011-2012 13 / 96

Principes de fonctionnement du cours

Présence

attentiv e ob ligatoireen cours/TD

Pas de téléphone, ordinateur allumé ...

Questions bienvenues

Des tests de connaissance courts : bonus sur note partiel

Documents, notes de cours

interdits en par tiele xamen, une page A4 man uscripte autor isée. C. Paulin (Université Paris Sud)Compilation2011-2012 14 / 96

Plan-1

Introduction à la compilationStructure d"un compilateur, exemple

Quelques notions de sémantique

Evaluateur versus compilateur, techniques de construction de compilateurs Analyse lexicale et syntaxiqueMise en oeuvre d"un analyseur lexical

Analyse descendante, analyse ascendante

Ambiguités et précédences

Actions sémantiques: arbres de syntaxe abstraite Analyse sémantique élémentaireAnalyse de portée C. Paulin (Université Paris Sud)Compilation2011-2012 15 / 96

Plan-2

Génération de codeMachines abstraites

Assembleur

Appels de fonctions, récursion terminale

Allocation de registres

Gestion de la mémoire

Analyse sémantique avancéeTypage : surcharge, inférence de types

Analyses statiques

C. Paulin (Université Paris Sud)Compilation2011-2012 16 / 96

Rappels de vocabulaire

Alphabet

: ensemb lefini d"objets appelé car actères Mot (sur un alphabet) : suite finie de car actères.quotesdbs_dbs32.pdfusesText_38
[PDF] Demande d'autorisation pour l'installation d'un dispositif d'assainissement non collectif

[PDF] FORMATION AU TABLEAU DE BORD PARTAGE DES ESMS

[PDF] CO-CONSTRUIRE DES RELATIONS VILLES-CAMPAGNES La coopération territoriale en action

[PDF] 24 ème Congrès du Coter Club Atelier Mobiquité 4 juin 2013

[PDF] Le tabagisme, l exposition au tabac et l accès au tabac dans le Timiskaming

[PDF] Une solution open source complète et flexible pour gérer tous les domaines d'activités de votre entreprise.

[PDF] CÉRÉMONIE DE PRÉSENTATION DES VŒUX AU PERSONNEL DE LA COMMISSION

[PDF] management et efficacité ProfessioNNeLLLe

[PDF] Présentation du programme d études Intégration socioprofessionnelle (ISP)

[PDF] ROUTING et SWITCHING

[PDF] 8 e Conférence des Etats Parties à la Convention des Nations Unies contre la criminalité organisée Vienne, octobre 2016

[PDF] En partenariat avec le Comité National Coordination Action Handicap (CCAH)

[PDF] LE COMPTE PERSONNEL DE FORMATION RENDRE LE SALARIÉ ACTEUR DE SON PARCOURS PROFESSIONNEL

[PDF] Prix OCIRP 2015 Mobiliser les acteurs et assurer le risque pour faire avancer la cause du handicap

[PDF] Quel est le prix d une bonne idée?