begin process at 2010 09 09 14:49:27
  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é :6 821 / 1 256

Auteur : magic_Nono

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
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 APPLICATION : LISTBOX & FICHIERS TEXTES
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

 Sources de la même categorie

Source avec Zip Source avec une capture ANIMATIION GRAPHIQUE DES STRUCTURES DE DONNÉES par algoro
PILOTAGE DES 8 SORTIES DU PORT // par cedpic
Source avec Zip PARALLEL OBJECT PROGRAMMING IN C++ (POP-C++) : DEMO par lwinkler
Source avec Zip VOTE ELECTRONIQUE par luvianne
REMOTE POST PHP WITH SOCKET LINUX par 0x0syscall

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

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

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 : 0,608 sec (4)

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