Another possibility seems to be CDT (Eclipse
plugin for C/C++).
Just like JDT, it seems the parser can run standalone
So we could try a Verveine-C (after Verveine for Java)
nicolas
2010/6/17 stephane ducasse <stephane.ducasse(a)free.fr>fr>:
sorry in french
Begin forwarded message:
> Date: June 16, 2010 9:58:19 AM GMT+02:00
> To: "stephane ducasse" <stephane.ducasse(a)free.fr>
> Cc: <basile(a)starynkevitch.net>
> Subject: RE: contact au sujet de votre analyseur C++
>
> Bonjour
>
>> Nous aimerions savoir si on peut utiliser votre bibliotheque pour extraire un
meta modele
> de code. Est ce que la resolution des variables est faite?
>
> GCC MELT
http://gcc.gnu.org/wiki/MELT n'est pas un analyseur C++, c'est un
greffon [=plugin] de GCC [au niveau middle-end], et aussi un langage lispien (Domain
Specific Language) -avec un pattern matching puissant - pour coder des extensions de GCC.
>
> Le middle-end de GCC est la majeure partie de GCC (GCC totalise 4.5MLOC, et le middle
end doit en représenter les deux-tiers). Il contient notamment beaucoup de passes de
compilations (GCC contient 250 passes, dont la plupart travaille au niveau middle-end).
>
> Le middle-end de GCC travaille surtout sur les representations internes Gimple (&
Tree/Generic) de GCC
http://gcc.gnu.org/onlinedocs/gccint/GIMPLE.html et
http://gcc.gnu.org/onlinedocs/gccint/GENERIC.html
>
> GIMPLE est une représentation normalisée (à "3 adresses") -commune à C,
C++, Fortran, et tout language source accepté par GCC, et peu dépendante de la machine
cible [x86/Sparc/ARM....]- du *code* compilé par GCC. En particulier, les descriptions des
classes C++ n'y sont plus (mais elles sont dans Tree/Generic qui est accessible du
Gimple).
>
>
>
>> Avant de vous inviter pour faire une presentation de votre outil. Avez-vous qq
>> pointeurs sur votre outil?
>
> Oui, le code de GCC MELT est une branche de GCC accessible par SubVersion et il est
compilable comme un greffon de gcc 4.5
>
> Il y a plusieurs pages sur le wiki, voir
http://gcc.gnu.org/wiki/MELT pour commencer.
On y trouve quelques papiers sur MELT.
>
> Il y a une documentation interne incomplète (faire un make pdf).
>
> Il y a une liste francophone gcc-melt-french(a)googlegroups.com sur GCC
>
> Pour une introduction aux greffons de GCC et à MELT, je vous conseille d'abord
les transparents de mon exposé (avec Zbigniew Chamski) à Solutions Linux:
http://starynkevitch.net/Basile/solinux2010-greffons-GCC.pdf
>
>
> MELT permet de coder (en dialecte MELT de LISP, donc moins péniblement qu'en C)
toute extension de GCC de son middle-end, qui travaille sur les représentations internes
existantes (principalement Gimple & Tree/Generic) de GCC. On code en MELT plus
facilement qu'en C une extension de GCC. Ainsi, coder en MELT une extension de GCC est
moins fastidieux que coder en C un greffon de GCC. MELT comme les greffons étendent GCC en
y ajouter des passes supplémentaires.
> J'ai un stagiaire (Jérémie Salvucci) qui a pu coder en 15 jours une extension en
MELT (qui va transcrire le Gimple en du code C, et plus tard OpenCL).
>
> La difficulté commune au développement en C de greffons de GCC ou au développement en
MELT d'extensions de GCC est de comprendre en gros les représentations internes
principales de GCC (notamment Gimple, Tree/Generic, Edge/ControlFlowGraph, ...) et
l'organisation des (250+) passes de GCC.
>
>
> Je n'ai pas compris dans le *détail* ce que vous appelez "méta-modèle du
code", et "résolution de variables". GCC fait ce genre de choses
(puisqu'il est capable de compiler C++). Mais il faut être bien conscient que Gimple
est surtout une représentation intermédiaire du *code* et pas des déclarations C++: au
niveau de Gimple par exemple, il n'y a plus de champs protected: du C++.
>
> Je joins aussi:
>
> un feuillet en français décrivant GCC MELT. feuille-gcc-melt-fr.pdf (2 pages
rectoverso A4). N'hesitez pas à rediffuser ce feuillet.
>
> un papier MELT-Basile-Starynkevitch-CC2010.pdf en anglais soumis et rejeté à CC2010
sur MELT. Merci de ne pas le rediffuser, car je voudrais en réutiliser une partie à
d'autres soumissions.
>
> Cordialement
> --
> Basile STARYNKEVITCH : basile dot starynkevitch at cea dot fr
> CEA LIST/DILS/LSL Saclay bat.528; 91191 GIF/YVETTE CEDEX; FRANCE
> tel: +33 1 6908 6595; mobile: +33 6 8501 2359;
www.starynkevitch.net/Basile
>
http://www-list.cea.fr/labos/gb/LSL/index.html fax: +33 1 6908 8395
>
>
>
>
>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Nicolas Anquetil Univ. Lille1 / INRIA-equipe RMod
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch