Compilation
Winter Semester 2002-2003
School of Computer and Communication Sciences
Programming Methods Laboratory (LAMP)
 
 
Home
Staff
Research
Publications
Events
Teaching
  Compilation
    Nouveautés
    Survol
    Horaire
    Gestion
    Transparents
    Exercices
    Projet
    Contacts
    Liens
Jobs
   
 
  
     

Nouveautés

07/02/03
04/02/03
04/02/03
  • Instructions pour rendre le projet - le projet doit être rendu au plus tard le jeudi 6 février à 16 heures
04/02/03
  • Le programme d'exemple fairies a besoin de beaucoup de mémoire. C'est pourquoi, il faut lancer risc-emu et risc-gui avec l'option -mem=1000000
29/01/03
  • Version française des transparents de la partie 10 du cours

Survol

Ce cours est un cours de construction de compilateurs. Il aborde les aspects fondamentaux de l'analyse des langages de programmation et de leur traduction en une forme exécutable. À la fin du cours, l'étudiant devrait :
  • pouvoir définir la syntaxe formelle d'un langage de programmation,
  • pouvoir définir la sémantique d'un langage avec un interpréteur,
  • connaître les structures internes et l'architecture des compilateurs,
  • être capable d'écrire un compilateur qui traduit un langage simple en un code exécutable,
  • connaître les structures et les motifs de constructions (design patterns) utilisés dans la construction d'un compilateur,
  • connaître la représentation en mémoire à l'exécution des principales constructions d'un langage de programmation.

Quelques buts moins tangibles mais tout aussi importants sont :

  • Améliorer la compréhension des langages de programmation,
  • comprendre les compromis entre pouvoir d'expression, simplicité, et performance d'un langage de programmation,
  • participer à la conception et à la réalisation d'un logiciel où la théorie est essentielle pour la réussite.
Le cours et les exercices sont donnés en français. Une version anglaise du cours donné il y a deux ans se trouve ici

Bibliographie:

Professeur: Prof. Martin Odersky

Horaire

Cours: mercredi 11:15-13:00, salle INM202
Exercices: vendredi 13:15-15:00, salle INF3

Gestion du cours

Le cours de compilation sera géré au moyen du système Sygeco. Ce système vous permet de vous inscrire à un ou plusieurs cours, former des groupes, et consulter les notes obtenues durant l'année.

Pour utiliser Sygeco, vous devez connaître votre numéro CAMIPRO, qui figure sur la carte du même nom. Au moyen de ce numéro, vous pouvez vous inscrire dans le système, puis vous inscrire au cours de compilation. Sygeco devrait être simple à utiliser pour la plupart d'entre-vous, mais en cas de besoin un manuel de l'utilisateur est disponible.

Attention : pour accéder à Sygeco depuis l'extérieur de l'EPFL, vous devez pour l'instant créer un tunnel SSH via tremplin, car le serveur Web utilisé est sur le port 8000, et ce port est malheureusement bloqué par diode, le pare-feu de l'EPFL. Vous trouverez les instructions nécessaires sur la page de tremplin. Une autre option est d'accéder au réseau de l'EPFL via un clien VPN, ce qui est documenté sur la page VPN à l'EPFL.

Si vous constatez un problème avec Sygeco, merci de le signaler par mail à l'adresse sygeco-bug@lamp.epfl.ch.

Si vous désirez ajouter un signet dans votre navigateur pour accéder rapidement à Sygeco, utilisez l'URL suivante :

http://lamppc35.epfl.ch:8000/bigwig-sygeco/sygeco/sygeco?_ses=sygeco

Sygeco a été programmé en <bigwig> par Frédéric Nicod.

Transparents

Nous essayons de publier les transparents du cours aussi vite que possible. Parfois, il nous arrive de modifier des transparents que nous avons déjà publiés. Pour cette raison, nous ajoutons un numéro de version à chaque série de transparents et indiquons s'il s'agit de la version finale.

Exercices

Projet

Général

Séances

Rendu du Projet

Le projet doit être rendu au plus tard le jeudi 6 février à 16 heures en suivant les instructions ci-dessous.

  • Compilez votre projet (pour ceux qui utilisent notre Makefile, exécutez la commande gmake force).
  • Vérifiez que tout fonctionne correctement.
  • Si le répertoire racine de votre projet (celui qui contient le Makefile et le répertoire src) s'appelle <compilation>, placez-vous dans le répertoire qui contient <compilation> et exécutez la commande suivante :
    gtar cvzf misc.tar.gz <compilation>
    Cette commande créera un fichier nommé misc.tar.gz contenant tous les fichiers du répertoire <compilation>.
  • Envoyez le fichier misc.tar.gz par email à l'assistant assigné à votre groupe selon le tableau ci-dessous (les heures dans la première colonne correspondent à l'heure de passage pour l'oral du vendredi 7 février).

    Martin Vincent Matthias Nikolay Michel Philippe Stéphane
    12:30-13:00 24 36 15 28 9 18 16
    13:00-13:30 8 38 30 32 10 13
    13:30-14:00 23 31 17 20 40 25 19
    14:00-14:30 4 12 34 2 35 7 26
    14:30-15:00 6 1 39 41 14 37 5
    15:00-15:30 33 22 27 3 29 11

Scala

Contacts

Liens utiles


     
   [an error occurred while processing this directive]  
Last modified: Friday, 10-Nov-2006 17:31:54 CET