Journal Renaissance Ada

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
25
2
fév.
2022

Désolé pour le titre qui pourrait faire penser à une secte mais je n'y peux rien.

Renaissance Ada est le nom d'un ensemble bibliothèques et outils.

Le but de ces outils est de permettre la visualisation graphique de la structure d'un code, son analyse et sa modification en fonction de règles.

Pour ceux qui veulent aller vite (et les autres aussi, c'est intéressant), il y a une vidéo d'une vingtaine de minutes expliquant ce que l'on peut faire sur la partie analyse et modifications.

Pour les autres, l'ensemble est basé sur Libadalang.
Mais qu'est-ce ?

ASIS

Au début était ASIS.
Comme son nom l'indique, ASIS est une interface permettant d'analyser le code source Ada au travers d'un programme Ada.
Cela permet donc d'écrire des outils en Ada comme AdaControl dont le but est de rechercher dans un projet les constructions potentiellement dangereuses, gnatstub qui génère le corps d'un package à partir de sa spécification…

On le retrouvait aussi dans le code permettant l'affichage du graphe d'appels dans GNAT Studio.
Le problème est que, dans le monde open source, l'implémentation d'ASIS est à la charge d'Adacore et que cette implémentation n'est plus fournie que dans la version PRO du compilateur depuis GNAT CE 2019 (voir ici).

Libadalang

Les raisons d'être de Libadalang peuvent être trouvées sur la page Github.

Grosso modo :

  • ASIS étant un standard, son évolution est lente voire trop lente.
  • ASIS ne fonctionne que sur du code syntaxiquement correct
  • l'implémentation d'ASIS dans GNAT travaille directement sur la représentation du code par le compilateur et est donc dépendante de la version de celui-ci
  • ASIS est une interface pour Ada seulement

En ligne de mire, l'idée d'Adacore était d'avoir un outil plus souple pour gérer l'autocomplétion dans GNAT Studio (je schématise) et de pouvoir fournir une API externe permettant de manipuler le code via, notamment Python.

Maintenant, pour ceux qui veulent vraiment aller plus loin, Jean-Pierre Rosen, concepteur d'AdaControl et président d'Ada-France, a écrit un texte de comparaison entre ASIS et Libadalang.

Voilà, bonne lecture

  • # Merci..

    Posté par  (site web personnel) . Évalué à 9. Dernière modification le 02 février 2022 à 14:28.

    … pour la série de journaux centrés sur Ada; (même si c'est suite à un de mes commentaires, c'est toi qui fait le boulot.

    • [^] # Re: Merci..

      Posté par  (site web personnel, Mastodon) . Évalué à 10.

      De rien, je fais ça pour les points de karma :)

      • [^] # Re: Merci..

        Posté par  (site web personnel, Mastodon) . Évalué à 10.

        Et pour l'amour des tag ada aussi ?

        « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

      • [^] # Re: Merci..

        Posté par  (Mastodon) . Évalué à 5.

        De rien, je fais ça pour les points de karma :)

        Les dépêches rapportent plus de points de karma et parfois même des livres ;-)

        Surtout, ne pas tout prendre au sérieux !

        • [^] # Re: Merci..

          Posté par  (site web personnel, Mastodon) . Évalué à 3.

          Les dépêches rapportent plus de points de karma et parfois même des livres ;-)

          Certes, j'en ai déjà gagné un sur la dépêche pour Ada 2012 mais de là à penser qu'une dépêche sur la sortie d'un soft en Ada puisse valoir à son auteur un livre, je préfère parier sur le karma.

          Il suffit de voir la popularité du langage sur l'index Tiobe et des journaux ici-même pour s'en persuader :D

          disclaimer: ceci n'est pas un commentaire sur C…D-.9 :)

  • # debout

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    J'ai eu un court-circuit mental momentané en lisant qu'

    Au début était ASIS.

    …puis que

    Comme son nom l'indique, ASIS est une interface permettant d'analyser le code source Ada au travers d'un programme Ada.

    J'ai du interrompre ma lecture pour suivre le lien de cette assise.
    Bon, merci pour la découverte en tout cas.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

    • [^] # Re: debout

      Posté par  (site web personnel, Mastodon) . Évalué à 3. Dernière modification le 03 février 2022 à 15:10.

      Le "au début" se réfère à l'analyse syntaxique d'un code Ada par un programme Ada.
      Cela ne veut en aucun cas dire qu'ASIS fut arrivé avant Ada :)
      J'aurais dû développer l'acronyme, désolé.

      Enfin, ça, c'est si j'ai bien compris ce que tu as cru comprendre… :D

      • [^] # Re: debout

        Posté par  (site web personnel, Mastodon) . Évalué à 3.

        C'est exactement ça… :D Pas toujours facile entre ce qu'on croit dire et ce que les gens croient comprendre…
        J'ai vraiment cru que tu parlais d'assise et/ou de siège (d'où le titre de mon commentaire en retour…) puis me suis dit que c'est l'anglais « as is » avant d'aller sur la page Wikipédia. Oui, là, marquer que c'est un acronyme et le développer aurait aidé.
        Effectivement, j'ai aussi compris que ça venait avant le langage …ou qu'il y aurait une histoire de poule et d'œuf éventuellement.
        Heureusement, la présence d'un lien a permis que tout se finisse bien dans ma tête :D

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

        • [^] # Re: debout

          Posté par  (site web personnel, Mastodon) . Évalué à 3.

          Merci pour ces retours, je ferai plus attention la prochaine fois.

          C'est pas parce que c'est clair dans ma tête qu'il faut zapper des étapes :)

          • [^] # Re: debout

            Posté par  (site web personnel, Mastodon) . Évalué à 3.

            Ça arrive à tout le monde. :) Et puis j'ai ma part de fatigue qui n'aide pas : le tout en majuscules aurait du me faire penser à un sigle/acronyme ou en tout cas tilter et éliminer certaines interprétations.

            “It is seldom that liberty of any kind is lost all at once.” ― David Hume

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.