DΙtection de l'usage des variables d'un code en c / c++ - avec lex/yacc, flex/bison

Soyez le premier à donner votre avis sur cette source.

Vue 10 270 fois - Téléchargée 1 750 fois

Description

bien peu d'aide était disponible en Lex/Yacc ou leurs équivalents libres: Flex/Bison
ce sont respectivement des analyseurs lexicaux et grammaticaux

voici une pierre à l'édifice:

L'objectif de ce projet est de développer une application permettant d'analyser un fichier de code source en C, il sera par la suite possible de le faire évoluer pour le langage C++
Le but est de détecter et définir l'utilisation de variables au sein des fonctions faisant partie de ce fichier. Nous repérerons donc ces variables pour en retenir le nom et le type d'utilisation qu'il en est effectivement fait. Nous déduirons si ces variables sont des variables d'entrée (IN) ou de sortie (OUT) et si elle sont utilisées puis modifiées (INOUT).
Pour cela nous ferons un analyseur lexical et syntaxique, respectivement avec LEX et YACC, pour reconnaître la grammaire de code source en C / C++ .

(Rq: le code compile et fonctionne sous Unix et sous Dos!)
Le zip contient une base qui analyse du code source C et, pour des raison de simplifications, est relativement contraignante quant aux codes reconnus.

(spécification lex):
o Variable : [a-z][a-zA-Z_0-9]*
o Constante : [A-Z] [A-Z_0-9]*
o Macro : _[A-Z_0-9]*
o Fonctions : [a-zA-Z_][a-zA-Z_0-9]*
o Types : [A-Z] [a-zA-Z_0-9]* [a-z0-9]+[a-zA-Z_0-9]*

explication:
[...]: une lettre parmi...
a-z : toute lettre entre a et z (bornes comprises)
  • : un nombre quelconque de fois ce qui précède...

+ : au moins une fois ce qui précède

pour les Types cela signifie MajusculeAuDebutEtAuMoinsUneMinusculeOuUnChiffre.

Conclusion :


L'analyse est basée sur les analyseurs de Sandro Sigala selon la norme ISO C 9899:1990 international standard.
Les analyseurs syntaxique et lexical contenatent les règles de grammaire des langages C et C++ et les détections syntaxique propre aux langages.
Les traitements ont été ajouté et l'ensemble des codes reconnu a été augmenté: commentaires monlignes, adressage par crochet...

Et l'analyse reste loin d'être parfaite...

Magicalement
Magic-Nono

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

heavenkhn
Messages postés
7
Date d'inscription
dimanche 11 avril 2010
Statut
Membre
Dernière intervention
2 janvier 2011
-
merci le zip marche a merveille
cs_himane
Messages postés
56
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
23 février 2008
-
Merci beaucoup cé trés utile comme sujet
Bon courage
Funto66
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3 -
Ton zip est corrompu :(

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.