BASE DE LA PROGRAMMATION FONCT ET TRADUCTION DES LANGAGES

  • Voir la page en français

    In brief

  • ECTS credits : 5
  • Code : N7EN08

Objectives

The objective of the UE is twofold. The student must master the principles of algorithmic and without side effect programming using functional programming. In particular, he must master the concepts of recursion, complexity and termination of the algorithms. It must be able to handle lists and iterators, as well as modules and functors. The associated programming language is the OCaml language.
He must also master the different stages of language translation: lexical analysis, syntaxic analysis and semantic analysis. In the particular case of compilation, he must know four phases of the semantic analysis: the resolution of the identifiers thanks to a table of symbols, the typing, the memory placement of the variables and the code generation. The student will create a compiler that will take a sub-part of C into input language, which will produce code for an abstract stack machine. The compiler will itself be written in OCaml.


Bibliography

• 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

Organization

Contact(s)

HURAULT AURELIE

Contact

The National Institute of Electrical engineering, Electronics, Computer science,Fluid mechanics & Telecommunications and Networks

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