Access Control is now enabled for Gitlab Pages so you can now restrict Pages to authorized users only. If needed, make your website publicly available : Navigate to your project's Settings > General > Visibility and select Everyone in pages section.

Commit 6c635c91 authored by Martin Spoto's avatar Martin Spoto

Comment unit tests, update README

parent d7e9872a
......@@ -2,4 +2,18 @@
GraalVM (connu en tant que "JVM ultra-rapide") et Truffle sont des technologies récentes permettant d'implémenter des langages de programmation à partir de la définition d'un interpréteur, avec une approche très intéressante aussi bien du côté pratique (optimisations automatiques) que théorique (Futamura projections). Plusieurs langages (R, Python, Ruby, JavaScript) ont déjà été portés avec succès, et la démarche générale pour créer un nouveau langage est documentée (avec l'exemple-tutoriel SimpleLangage).
Dans ce projet, il s'agit de découvrir le fonctionnement de Truffle en essayant d'y porter partiellement une version simplifiée du langage Prolog (cela semble n'avoir pas encore été envisagé). Le fait que le cours "Programmation logique" ait lieu en parallèle n'est pas du tout gênant : c'est la technologie Truffle qui sera étudiée, et nous nous concentrerons sur quelques mécanismes élémentaires de Prolog.
\ No newline at end of file
Dans ce projet, il s'agit de découvrir le fonctionnement de Truffle en essayant d'y porter partiellement une version simplifiée du langage Prolog (cela semble n'avoir pas encore été envisagé). Le fait que le cours "Programmation logique" ait lieu en parallèle n'est pas du tout gênant : c'est la technologie Truffle qui sera étudiée, et nous nous concentrerons sur quelques mécanismes élémentaires de Prolog.
## Structure du projet
Le projet est découpé en deux sections :
- /docs : contient la documentation du projet, avec les éléments suivants :
- /report/report.pdf : rapport finale du projet
- /manual/manual.pdf : manuel d'installation et d'utilisation
- /specs/specs.pdf et /specs/planning.pdf : spécifications et planning du projet
- /pv/... : PV des différentes réunions
- /code : contient le code du projet
## Compilation et utilisation du projet
Se référer au manuel d'installation (/docs/manual/manual.pdf).
\ No newline at end of file
......@@ -4,4 +4,6 @@ Requiert Maven `/usr/lib/maven/`
Lancer le script `envsetup.sh` puis `mvn package`.
Puis l'interpréteur est utilisable via `./prolograal file.pl`.
\ No newline at end of file
Puis l'interpréteur est utilisable via `./prolograal file.pl`.
De plus amples informations sont disponibles dans le manuel d'installation et d'utilisation.
\ No newline at end of file
% This test checks the following things :
% - fact parsing
% - fact resolving
fact.
hello(world).
......
% This test checks the following things :
% - variables parsing
% - fact resolving, with variables
% - display of the resulting variables
fact(X).
f(A, B).
......
% This test checks the following things :
% - list parsing
% - list unifications, with tails
test([a, b, c, d]).
unify(A, A).
\ No newline at end of file
% This test checks the following things :
% - clause parsing
% - clause resolving
% - recursive clauses resolving
% - list concatenation
e(A, A).
test(A, R) :-
......
% This test checks the following things :
% - builtins usage
isVar(X) :-
var(X).
......
% This test checks the following things :
% - redo command
% - redo command with side-effects builtins
multifacts(a).
multifacts(b).
multifacts(c).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment