BASE DE LA PROGRAMMATION FONCT ET TRADUCTION DES LANGAGES

  • See this page in english

    En bref

  • Crédits ECTS : 5
  • Langue d'enseignement : Français
  • Méthode d'enseignement : En présence
  • Code : N7EN08

Objectifs

L'objectif de l'UE est double. L'étudiant doit maîtriser les principes de l'algorithmique et de la programmation sans effet de bord en utilisant la programmation fonctionnelle. Il doit notamment maîtriser les concepts de récursivité, complexité et terminaison des algorithmes. Il doit pouvoir manipuler les listes et les itérateurs, ainsi que les modules et foncteurs. Le langage de programmation associé est le langage OCaml.

Il doit également maîtriser les différentes étapes de la traduction des langages : analyse lexicale, analyse syntaxique et analyse sémantique. Dans la cas particulier de la compilation, il doit connaître quatre phases de l'analyse sémantique : la résolution des identifiants grâce à une table des symboles, le typage, le placement mémoire des variables et la génération de code. L'étudiant réalisera un compilateur qui prendra en langage d'entrée une sous partie du C, qui produira du code pour une machine abstraite à pile. Le compilateur sera lui-même écrit en OCaml.

Bibliographie

• OCaml from the very beginning, John Whitington, 2013
• Développement d’applications avec Objective Caml, Emmanuel Chailloux, Pascal Manoury, Bruno Pagano
• Purely Functional Data Structures, Chris Okasaki, 1999
• Compilers: Principles, Techniques, and Tools (dragon book), Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman,, 2007

Organisation

Contact(s)

HURAULT AURELIE

Lieu(x)

  • Toulouse

Contactez l’ENSEEIHT

L’École Nationale Supérieure d'Électrotechnique, d'Électronique, d'Informatique, d'Hydraulique et des Télécommunications

2, rue Charles Camichel - BP 7122
31071 Toulouse Cedex 7, France

+33 (0)5 34 32 20 00

Certifications

  • Logo MENESR
  • Logo UTFTMP
  • Logo INP
  • Logo INPT
  • Logo Mines télécoms
  • Logo CTI
  • Logo CDEFI
  • Logo midisup