Analyseur lexical syntaxique et semantique de la méta grammaire(grammaire des grammaires)

Soyez le premier à donner votre avis sur cette source.

Vue 19 155 fois - Téléchargée 3 044 fois

Description

Ce programmae permet de tester si une grammaire a été bien écrite ou non, ce proramme sera suivi d'une procédure qui permet de vérifier si la grammaire est de type LL(1) dans le but de générer un analyseur de cette grammaire.

Les erreurs detecter pour le moment:
  • Caractere non autoriser
  • Double declaration
  • Utilisatation d'un Vt ou Vn non déclare
  • Mauvaise syntaxe ( { ou ( manquante par example )
  • Vt a gauche d'une regle de productions( a ==> A ou a est un Vt)


Le programme genere automatiquement un fichier qui contient le code lineaire de la source(nom.lex).

Le programmae genere boucoup de message pour un but pedagogique

Pour l'executer a partir du TC3 il faut changer le repertoire courant( file -> change dir) pour indiquer le chemin des fichiers inclus.

Quand vous lancer le prog demande le chemin du fichier qui contient la grammaire(c:\tc\essai ou essai si c:\tc est le repertoire courant) .

Desolais pour les erreurs syntaxiques et orthographiques dans les commentaires car le francais n'est pas ma premiere langue

Conclusion :


Pour tout vos questions sugestions contacter moi sur:
El_emir_2002@yahoo.fr

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
vendredi 11 décembre 2009
Statut
Membre
Dernière intervention
13 décembre 2009

si je veut faire un analyseur LR,comment doit je faire?
Messages postés
16
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
26 juin 2007

Pour le speech je suis déssolais, mais j'ai pas assez d'argent pour travailler sur internet plus que 3 heures par semaine
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Pour une intro simple sur les systèmes formels utilisant une grammaire formelle, voir :
www710.univ-lyon1.fr/~fouet/DEA/chap2.html
Messages postés
16
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
26 juin 2007

Les Vt et les Vn sont des elements qui aide a la specification
des grammaires formellement.
Une grammaire est specifier par le quatriplet {Vn,Vt,Axiome,Regles}
Vn sont les etats
Vt sont le voccabulaire
Axime c'est l'etat initial
Regles C'est la description du language

Le flux d'entree du programme est un fichier dans lequel
est ecrit une specification de grammaire.
Comme sortie va vos dire si la specification est correct ou non.

Un example de fichier d'entre correct:
({A,B},{a,b},A,//A==>aA\B;B==>bB//)

Un example de fichier d'entre incorrect:

({A,B},{a,b,@},A,//A==>aA\B;B==>bB//):err lex (@ n'est pas accepte)

({A,B},{a,b},A,A==>aA\B;B==>bB//) :err syn (manque //)

({A,B},{a,b},A,//A==>aA\B;B==>bB\C//) :err sem (C n'est pas declare)
Messages postés
16
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
26 juin 2007

Les Vt et les Vn sont des elements qui aide a la specification
des grammaires formellement.
Une grammaire est specifier par le quatriplet {Vn,Vt,Axiome,Regles}
Vn sont les etats
Vt sont le voccabulaire
Axime c'est l'etat initial
Regles C'est la description du language

Le flux d'entree du programme est un fichier dans lequel
est ecrit une specification de grammaire.
Comme sortie va vos dire si la specification est correct ou non.

Un example de fichier d'entre correct:
({A,B},{a,b},A,//A==>aA\B;B==>bB//)

Un example de fichier d'entre incorrect:

({A,B},{a,b,@},A,//A==>aA\B;B==>bB//):err lex (@ n'est pas accepte)

({A,B},{a,b},A,A==>aA\B;B==>bB//) :err syn (manque //)

({A,B},{a,b},A,//A==>aA\B;B==>bB\C//) :err sem (C n'est pas declare)
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.