Accueil > Programme > Développement

Festival des Arts Numériques Libres

Écrivez un plugin GCC avec MELT !

Intervenant(s) : Pierre Vittet

  • Langue : Français
  • Type d'événement : Conférence
  • Date : Mardi 12 juillet 2011
  • Horaire : 15h20
  • Durée : 40 minutes

Lieu : Bâtiment Droit - Bischoff (amphi 2)

Résumé

La grande majorité de vos logiciels est compilée avec GCC, pour autant il est rarement exploité à la mesure de ses possibilités. Au delà de la multitude d’options utilisables, GCC permet l’écriture de plugins depuis la version 4.5. C’est une fonctionnalité qui permet au développeur de bénéficier des représentations internes de GCC lors de la compilation de son projet, lui permettant de personnaliser le compilateur pour son usage.

C’est particulièrement adapté lorsque le code du projet commence à devenir important car cela permet une analyse statique du code source avec l’ajout de diagnostiques, permettant par exemple de valider des règles de codages maisons.

MELT est un greffon à GCC qui fournit un langage de haut niveau facilitant l’écriture de plugins, il permet en particulier d’utiliser les types de GCC et de naviguer au travers des représentations internes. La présentation se veut complémentaire de la conférence de Basile Starynkevitch de l’année dernière (http://2010.rmll.info/Etendre-le-co...) qui présentait MELT. Nous détaillerons ici l’écriture d’un plugin en pratique : quelles informations sont accessibles, comment intégrer le plugin dans gcc, comment naviguer dans le code analysé.

The majority of our software is compiled using GCC, however GCC is rarely used at his full capacity. Beyond his large options possibilities, GCC give the possibility, since the 4.5 version, to write plugins. It is a very useful functionality which allows the developer to benefit from the GCC internal representations when compiling his project, giving him the opportunity to personalize the compiler for his own use.

This is particularly adapted when the project size starts to become important because this allows static analyse with the add of warnings, improving the respect of the project coding rules.

MELT is a GCC plugin which give you a high level language, helping writing others plugins, it is designed to facilitate the use of the GCC types as well as browsing in the GCC internal representations. This presentation is intended to complement the conference of Basile Starynkevitch last year (http://2010.rmll.info/Extending-the...) which presented MELT. We will detail here the writing of a plugin with MELT in a practical manner : which information can we get, how to integrate it into GCC, how to parse the analyzed code.

Biographie

Pierre Vittet est étudiant en informatique à l’école polytechnique d’ingénieurs de Tours. Il s’intéresse depuis maintenant plusieurs années aux logiciels libres et à déjà écrit quelques contributions.

L’occasion d’un projet de fin d’étude sur les plugins à GCC lui à permis de travailler avec le créateur de MELT, Basile Starynkevitch à la documentation et à la création de plugins simples, ainsi qu’à l’amélioration de MELT.

Pierre Vittet is a french student at the Polytechnic College of the University of Tours. He is interested for several years in free software and has already write a few contribution.

He had the opportunity to work with the MELT creator, Basile Starynkevitch at the documentation and writing of simple GCC plugins, as well as the MELT improvement.

Documents joints

Slides de présentation
Slides de présentation (PDF - 471.1 ko)

Slides de présentation