begin process at 2012 02 09 07:02:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications Linux

 > DΙTECTION DE L'USAGE DES VARIABLES D'UN CODE EN C / C++ - AVEC LEX/YACC, FLEX/BISON

DΙTECTION DE L'USAGE DES VARIABLES D'UN CODE EN C / C++ - AVEC LEX/YACC, FLEX/BISON


 Information sur la source

Note :
Aucune note
Catégorie :Applications Linux Niveau :Débutant Date de création :03/03/2004 Date de mise à jour :23/07/2004 16:11:35 Vu / téléchargé :8 033 / 1 449

Auteur : magic_Nono

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

23 juillet 2004 16:11:39 :
le zip a été corrompu... Il est maintenant rétabli...

 Sources du même auteur

Source avec Zip [MFC] BCOMBOBOX & BLISTBOX
Source avec Zip Source avec une capture [ C++ WIN32 ] REMPLISSAGE DE FICHE - FENETRE DYNAMIQUE
Source avec Zip Source avec une capture WIN32 - MFC - VC6 - PLACE D'UNE APPLI : BARRE DES TACHES OU ...
Source avec Zip [WIN32] [VC6] BOITE À CHOIX MULTIPLE PAR BOUTONS
Source avec Zip TEMPLATE DE DIALOG/FENETRE (VC++)

 Sources de la même categorie

Source avec une capture COLORIMÈTRE NUMÉRIQUE LINUX par valchek
Source avec Zip TRAITEMENTS D'IMAGES AU FORMAT PGM AVEC LES ALGORITHMES DE C... par lemout
Source avec Zip ALGORITHME ACO INTERFACE GTK par RyBeN
Source avec Zip COMPRESSER SES SAUVEGARDES SMSBACKUPRESTORE (ANDROID) EN C A... par ThalLab
SIMPLE SCANNER DE PORTS par Vb6Malade

Commentaires et avis

Commentaire de Funto66 le 22/07/2004 11:04:25

Ton zip est corrompu :(

Commentaire de himane le 23/02/2008 20:49:16

Merci beaucoup cé trés utile comme sujet
Bon courage

Commentaire de heavenkhn le 26/11/2010 20:00:47

merci le zip marche a merveille

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,966 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales