Résumé :
|
La conception et la réalisation de langages de programmation, depuis Fortran et Cobol jusqu'à Caml et Java, est l'une des clés du développement et de la maîtrise de systèmes informatiques toujours plus complexes. Découverte des outils qui permettent de penser, définir et implémenter ces langages. Il propose une vision unifiée des différents formalismes, sémantique opérationnelle à petits pas, à grands pas et sémantique dénotationnelle, qui permettent de définir un langage de programmation, en insistant sur le fait que les uns et les autres cherchent toujours à définir une relation qui lie trois objets : un programme, une valeur d'entrée et une valeur de sortie. Ces formalismes sont illustrés en présentant la sémantique de quelques fonctionnalités représentatives des langages de programmation : les fonctions, la récursivité, les affectations, les enregistrements, les objets,... en insistant sur le fait que l'étude des langages de programmation ne consiste pas à étudier ces langages l'un après l'autre, mais s'organise autour des fonctionnalités que l'on retrouve dans les différents langages. L'étude de ces différentes fonctionnalités débouche enfin sur l'écriture d'évaluateurs, d'interpréteurs, de compilateurs, et aussi de programmes d'inférence de types, pour de petits langages.
|