https://github.com/andoniat/compilation_algo_ll
Analyse gauche d’un mot selon une grammaire donn´ee ;
https://github.com/andoniat/compilation_algo_ll
Last synced: over 1 year ago
JSON representation
Analyse gauche d’un mot selon une grammaire donn´ee ;
- Host: GitHub
- URL: https://github.com/andoniat/compilation_algo_ll
- Owner: AndoniAT
- Created: 2023-06-05T14:17:28.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-03-17T17:35:02.000Z (over 2 years ago)
- Last Synced: 2025-02-12T12:46:16.141Z (over 1 year ago)
- Language: Processing
- Size: 518 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
COMPILATION
Andoni ALONSO TORT
UNIVERSITÉ DU HAVRE NORMANDIE
M1 IWOCS INFORMATIQUE
Application pour suivre le processus du transducteur lors
de l'analyse d'un programme source dans un langage dont la
gramaire est décrite à la suite.
Langage utilisé : Processing.
Pour ce projet de compilation, on donne un fichier de gramaire `./data/gramaire.txt` et un autre contenant son tableau `./data/tableauGramaire.txt`. Ces fichiers seront les règles de gramaire à suivre pour pouvoir compiler un code.
Pour tester notre code, on a 3 fichiers differents avec un code a compiler dans chaque un :
-
entree.txt
debut a := 3 ; b := a ; fin
Ce fichier respecte tous les regles de notre gramaire, on a un début, une fin et on a déclaré correctement les variables.
-
entree2.txt
debut a := ; b := ; fin
Ici nous avons un erreur, puisque au moment d'initialiser les variables on ne donne pas aucun valeur.
-
entree3.txt
a := 4; b := 5; fin
Ici, n'ayant pas de début, le programme aura une erreur et il ne pourra pas continuer
Voyons comment ça fonctionne quand on exécute.
1. Menu pour choisir le fichier que l'on veut exécuter.

1.1 Code 1: Sans erreur : `./data/entree.txt`.

Ici on peut voir que nous avons le code `debut a := 3 ; b := a ; fin`, et on va commencer avec le mot debut , si on appuie une fois sur la touche `=>` on verra que dans notre liste de gramaire, la première étape est marquée en violet et que notre primier mot est bien accepté.

Juste en bas de notre écran on verra l'évolution de notre pile au même temps qu'on voit la lecture de notre code en au dessus de notre gramire.
Si on continue à appuyer la touche droite `=>` on verra l'évolution jusqu'à la fin.


1.2 Code 2: Erreur (Variable sans valeur): `./data/entree2`.

Ici, nous avons le code `debut a := ; b := ;fin`. Si l'on appuie sur la touche droite `=>` pour voir l'évolution de notre pile, on verra que à l'endroit ou il est censé d'avoir une valeur pour la variable, on trouve la terminaison de la ligne avec le `;`, dans ce cas, le programme lancera une erreur et on ne pourra pas continuer.

1.3 Code 3: Erreur (Il n'y a pas de début): `./data/entree3`.
Avec ce fichier avec le code ` a := 4;b := 5;fin`, on verra tout simplement que quand on essaie de faire évoluer la pile, le programme s'arrêtera puisqu'il trouvera pas le mot de départ `debut`.

===========================================================
Developpé par Andoni ALONSO Tort