Skip to content

Analyse gauche d’un mot selon une grammaire donn´ee ;

Notifications You must be signed in to change notification settings

AndoniAT/Compilation_Algo_LL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 :

  1. 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.


  2. entree2.txt

    debut a := ; b := ; fin

    Ici nous avons un erreur, puisque au moment d'initialiser les variables on ne donne pas aucun valeur.

  3. 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.

menu

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

entree debut

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é.

debut marquee

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.

evolution pile

fin pile

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

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.

erreur

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.

debut erreur

===========================================================

Developpé par Andoni ALONSO Tort

About

Analyse gauche d’un mot selon une grammaire donn´ee ;

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published