Interpréteur Lisp
Projet de GL2 semestre 2 master 1 2018-2019 de l'université d'Artois à Lens

Arthur Brandao 27010d5714 Remise submodule test cachés il y a 6 ans
.settings 1b02fa5c02 TP2 il y a 6 ans
TDD2019HIDDENTESTS @ 7ba0698acd f112304372 ajout support pitest il y a 6 ans
TDD2019OWNTESTS @ 4f023f65bf 6052ac12bb Ajout nouveaux test perso il y a 6 ans
TDD2019TESTS @ 2fcd9dbd6e 776c1d4ddd MaJ test prof il y a 6 ans
lib f112304372 ajout support pitest il y a 6 ans
src bcb02a594e Unification message erreur il y a 6 ans
.classpath 9be76197f8 Changement version JUnit il y a 6 ans
.directory 179df6c236 Changement vers tests perso il y a 6 ans
.gitignore 7b356da5cb Rien il y a 6 ans
.gitlab-ci.yml 168e8a634a Remise valeur par default CI config il y a 6 ans
.gitmodules 27010d5714 Remise submodule test cachés il y a 6 ans
.project b4a6f34647 Changement nom projet il y a 6 ans
README.md b5e1810b87 Modification README.md il y a 6 ans
build.xml 7ea68e62f2 Merge branch 'master' of https://forge.univ-artois.fr/m1-2018-2019/TDD2019IMPL il y a 6 ans
checklinks.sh 5376653a54 Remise chemin vers test il y a 6 ans
org.eclipse.jdt.annotation_2.2.200.v20180921-1416.jar 1b02fa5c02 TP2 il y a 6 ans

README.md

Projet interpréteur lisp

Qualité Tests réussis Couverture de code

Voir sur SonarQube

La page Lisp sur wikipedia et la page Scheme sur wikipedia fournissent l'historique et les fonctionnalités du langage.

Le comportement de l'interpréteur (le tests) sont validés à l'aide de l'interpréteur JScheme.

Le nombre de tests augmentera au cours du semestre jusqu'à obtenir un interpréteur pleinement fonctionnelle.

Ce projet est basé sur le travail de Peter Norvig en Python.

Peter Norvig a aussi proposé une version Java de son interpréteur. Cette version a été conçue à la naissance du langage, et ne peut pas être considérée comme une conception oriénté objet d'un interpréteur Lisp.

Plus récemment, une version Java a été proposée par Remy Forax. Si cette solution utilise des concepts avancés et récents de Java (lambdas et streams), le code reste proche de la version python, donc pas vraiment orientée objet.

Pour déclarer ce projet comme source upstream

Il suffit de déclarer une fois ce projet comme dépôt distant de votre fork :

$ git remote add upstream https://forge.univ-artois.fr/m1-2018-2019/TDD2019IMPL.git

Ensuite, à chaque mise à jour de ce projet, vous pouvez mettre à jour votre fork à l'aide des commandes suivantes :

$ git pull upstream master
$ git push

Si vous ne voyez plus vos tests dans votre projet

Il suffit de rajouter le projet de tests comme un sous module du projet :

$ git submodule add https://forge.univ-artois.fr/m1-2018-2019/TDD2019TESTS.git
# remplacer le chemin absolu https://forge.univ-artois.fr/m1-2018-2019/TDD2019TESTS.git 
# par ../../m1-2018-2019/TDD2019TESTS.git dans le fichier `.gitmodules`.
$ git commit -m "Les tests sont de retour"
$ git push