grammaires | ||
src | ||
.gitignore | ||
Makefile | ||
README.md |
PROJET AEL : générateur de parser
Membres du groupe : Paul Faure, Auriane Lartigue, Coumba Soumaré, Morgane Foussats, Elise Barnabé, Perrine Afonso
Comment le lancer et le tester?
Pour récupérer le dépot git :
Avant de pouvoir tester le parser il faut installer prolog si ce n’est pas déjà fait avec la commande :
sudo apt-get install swi-prolog
Pour générer le fichier generator.sh:
make
Pour créer le dossier qui accueillera le parser
mkdir out
Lancer generator.sh avec deux arguments : le fichier contenant la grammaire et le nom du parser. Des fichiers d’exemples sont contenues dans le dossier grammaires.
Exemple:
./generator.sh dictionnaire dico
Aller dans le dossier du parser puis lancer le .sh avec pour argument le mot à tester
Exemple:
./dico.sh “ { id = int } “
=> Retourne OK
./dico.sh “ { id = float } “
=>Retourne KO
Complément du Makefile
Pour supprimer les dossiers/fichiers créés dans le dossier out:
make clean_parseurs
Pour supprimer generator.sh:
make clean_generator
Pour tout supprimer:
make clean_all
Lire et éditer les fichiers java sur Pluma
make edit
Lire et éditer toutes les grammaires déjà présentes dans le dossier grammaires:
make edit_grammaires
Explication globale
Réalisation d’un générateur de parser codé en Java pour le langage Prolog. Nous avons choisi Prolog car il permet de backtracker automatiquement. Le choix de Java nous a simplifié le fait de manipuler des chaînes de caractères (via des fonctions existantes telles que split() ou strip() par exemple).
Organisation fichiers
- Dossier src : contient l’ensemble du code java
- IO.java => gestion des fichiers en entrée et de la création des fichiers en sortie
- Main.java => Organise toutes les actions à réaliser (lecture de la grammaire, création de l’objet grammaire, génération du code Prolog du parseur et création du fichier launcher)
- Grammaire.java, Regle.java, Symbole.java => permettent de rédiger le code en Prolog en interprétant le fichier contenant la grammaire passée en paramètre.
- Dossier grammaires : contient différents exemples de grammaire
- Makefile