Un interprète LISP

Encadrants : 

Occurrences : 

2018

Nombre d'étudiants minimum: 

4

Nombre d'étudiants maximum: 

6

Nombre d'instances : 

1

Le langage Lisp fut inventé par John McCarthy en 1958 alors qu'il était au Massachusetts Institute of Technology (MIT). Il publia un article intitulé « Recursive Functions of Symbolic Expressions and Their Computation by Machine ». Le premier interpréteur fonctionnait sur un ordinateur IBM 704.

Lisp possède de nombreuses versions dont Common Lisp qui fut un Lisp normalisé. Cependant, dans ce projet, nous allons adopter une version proche de VLisp de l’Université de Vincennes à Saint-Denis (Paris 8). L’idée étant de mettre en œuvre un interprète de ce langage afin que l’on puisse l’utiliser comme n’importe quel langage de script. Cet interprète devra être minimal en ce sens que Lisp pouvant être écrit en Lisp, la plupart des fonctions de Lisp seront écrites en Lisp lui-même. Bien entendu, il ne sera pas nécessaire d’implémenter tout Lisp. Il faudra mettre en œuvre les fonctions sur les listes et sur les nombres ainsi que des fonctions d’enttrée-sortie.

Exemple de code Lisp

Ce projet devra être réaliser en langage C portable. Il est nécessaire que les membres du projet soient de très bons programmeurs C. Il ne faudra pas trop utiliser de bibliothèques C. Il faudra d’abord définir le langage implémenté que l’on appellera TPLisp ainsi que son utilisation. Le projet fera appel à des techniques d’analyse lexical et syntaxique des langages, à des techniques d’interprétation et à des techniques de Garbage Collector.

Un très bon et très ancien livre sur VLisp est en http://www.ai.univ-paris8.fr/~hw/lisp/letout.pdf.