Fwd: contact au sujet de votre analyseur C++

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: contact au sujet de votre analyseur C++

stephane ducasse
sorry in french

Begin forwarded message:

> Date: June 16, 2010 9:58:19 AM GMT+02:00
> To: "stephane ducasse" <[hidden email]>
> Cc: <[hidden email]>
> 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 [hidden email] 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
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

feuille-gcc-melt-fr.pdf (184K) Download Attachment
MELT-Basile-Starynkevitch-CC2010.pdf (398K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: contact au sujet de votre analyseur C++

anquetil.nicolas
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 <[hidden email]>:

> sorry in french
>
> Begin forwarded message:
>
>> Date: June 16, 2010 9:58:19 AM GMT+02:00
>> To: "stephane ducasse" <[hidden email]>
>> Cc: <[hidden email]>
>> 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 [hidden email] 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>



--
Nicolas Anquetil        Univ. Lille1 / INRIA-equipe RMod

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: contact au sujet de votre analyseur C++

Tudor Girba
Indeed, I know from the intooitus guys that CDT is a reliable platform.

Doru


On 18 Jun 2010, at 10:11, Nicolas Anquetil wrote:

> 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 <[hidden email]>:
>> sorry in french
>>
>> Begin forwarded message:
>>
>>> Date: June 16, 2010 9:58:19 AM GMT+02:00
>>> To: "stephane ducasse" <[hidden email]>
>>> Cc: <[hidden email]>
>>> 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 [hidden email] 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
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>
>
>
> --
> Nicolas Anquetil        Univ. Lille1 / INRIA-equipe RMod
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Don't give to get. Just give."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: contact au sujet de votre analyseur C++

Stéphane Ducasse
yes now I would concentrate on
        verveine for Java
        verveine for PHP because we have scrML

Stef

On Jun 18, 2010, at 10:29 AM, Tudor Girba wrote:

> Indeed, I know from the intooitus guys that CDT is a reliable platform.
>
> Doru
>
>
> On 18 Jun 2010, at 10:11, Nicolas Anquetil wrote:
>
>> 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 <[hidden email]>:
>>> sorry in french
>>>
>>> Begin forwarded message:
>>>
>>>> Date: June 16, 2010 9:58:19 AM GMT+02:00
>>>> To: "stephane ducasse" <[hidden email]>
>>>> Cc: <[hidden email]>
>>>> 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 [hidden email] 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
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>
>>
>>
>> --
>> Nicolas Anquetil        Univ. Lille1 / INRIA-equipe RMod
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Don't give to get. Just give."
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: contact au sujet de votre analyseur C++

Alexandre Bergel-4
> verveine for PHP because we have scrML

I do not know what is Verveine. But what is the relationship between srcML and PHP. I am maybe missing something here.

Alexandre

>
> On Jun 18, 2010, at 10:29 AM, Tudor Girba wrote:
>
>> Indeed, I know from the intooitus guys that CDT is a reliable platform.
>>
>> Doru
>>
>>
>> On 18 Jun 2010, at 10:11, Nicolas Anquetil wrote:
>>
>>> 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 <[hidden email]>:
>>>> sorry in french
>>>>
>>>> Begin forwarded message:
>>>>
>>>>> Date: June 16, 2010 9:58:19 AM GMT+02:00
>>>>> To: "stephane ducasse" <[hidden email]>
>>>>> Cc: <[hidden email]>
>>>>> 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 [hidden email] 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
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Nicolas Anquetil        Univ. Lille1 / INRIA-equipe RMod
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> www.tudorgirba.com
>>
>> "Don't give to get. Just give."
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev