No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Coumba Soumare 3d25a92cb5 Mettre à jour 'README.md' 4 months ago
grammaires Générateur de parseur 4 months ago
src Générateur de parseur 4 months ago
.gitignore Ajout repo out 4 months ago
Makefile Générateur de parseur 4 months ago
README.md Mettre à jour 'README.md' 4 months ago

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 :

git clone https://git.etud.insa-toulouse.fr/pfaure/AEL.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