Langage et compilation

Informations administratives

Volume horaire par certificat

  • Heures encadrées :
    • 10 h cours
    • 10 h travaux dirigés
  • Heures non-encadrées :
    • 10 h travaux pratiques non encadrés en salle de TP (voir l’organisation type de la journée)
    • 20 h travail personnel

Objectif du cours

L’objectif de ce ce cours est d’introduire aux concepts fondamentaux de l’informatique que sont langages et automates.

Contenu pédagogique

Page du cours

Ce cours doit permettre d’acquérir

  • les connaissances en terme de savoirs (fondamentaux et appliqués)
    • Langage : lexicographie, syntaxe, sémantique
    • Description et reconnaissance de langages
    • Compilation : vérifications syntaxiques et sémantiques, génération de code, optimisation
  • les savoir-faire
    • Description de langages simples a l’aide de grammaires régulières ou hors-contexte
    • Utilisation de la sémantique opérationnelle pour décrire les aspects de sémantique statique et dynamique d’un langage
    • Programmation d’un reconnaisseur syntaxique
  • les connaissances/outils pédagogiques maîtrisés
    • Grammaires, programmation d’un reconnaisseur en utilisant un generateur d’analyse LL, realisation d’un interpreteur

Bibliographie

  • Chapitres 3 de Introduction à la science informatique : Pour les enseignants de la discipline en lycée informatique, Gilles Dowek (coordination de l’ouvrage collectif) Collection Repères pour agir, CRDP Académie de Paris. 2011
  • Autres références (non exhaustif)
    • Gilles Dowek and Jean-Jacques Lévy. Introduction à la théorie des langages de programmation. Ecole Polytechnique, 2006.
    • Pierre Wolper. Introduction à la calculabilité : Cours et exercices corrigés. Dunod, 3e edition, 2006.
    • Alfred Aho, Ravi Sethi, and Jeffrey Ullman. Compilateurs : principes techniques et outils, cours et exercices. Dunod, 2000.