Ensimag Rubrique Formation 2022

Théorie des langages et compilation - 3MM1TLC

  • Volumes horaires

    • CM 36.0
    • TD 36.0

    Crédits ECTS

    Crédits ECTS 6.0

Objectif(s)

Ce cours vise à donner aux élèves les bases de la théorie des langages et de la compilation.

Contact Joëlle THOLLOT

Contenu(s)

Théorie des langages

  • Comment modéliser un langage : automates, grammaires, expressions
  • Equivalence des trois modèles
  • Algorithmes liés à ces modèles

Analyse syntaxique des langages hors-contexte

  • Langages algébriques / définitions de langage par BNF
  • Définition de sémantiques formelles des langages algébriques par BNF avec attributs
  • Syntaxes abstraites
  • Arbres d'analyses, arbres de syntaxe abstraite
  • Analyse syntaxique LL(1)

Compilation

  • Structure d'un compilateur
  • Etudes des étapes successives : analyse lexicale, syntaxique, génération de code
  • Mise en lien avec le projet de compilation qui clot l'année.
    • Ce cours est donné en Période(s) Académique(s) 1, 2 et 3 **


Prérequis

Néant.

Contrôle des connaissances

3 examens de 2h.



  • La note de session 1 est la moyenne pondérée des 3 examens :
    N1 = (E1a*6+E1b*4+E1c*6)/16
  • La note de session 2 est la note de l'examen de session 2 :
    N2 = E2.

Informations complémentaires

Cursus ingénieur->Alternance->Alternance 1ere annee

Bibliographie

  • Introduction to automata theory, languages, and computation de Hopcroft, Motwani & Ullman (2007)
  • Compilers: Principles, Techniques and Tools de Aho, Lam, Sethi & Ullman (1988/2007)
  • The Definitive ANTLR 4 Reference - Terence Parr (2013)