Scolring - Forum

Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology

Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered

You are not logged in.

#1 9-Apr-2011 20:26:40

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,023
Website

Liste des fonctions Scol, prototypes

Salut,

J'ai codé un script en Python listant, à partir des codes sources, les noms des fonctions Scol et leurs prototypes (les types des arguments et le type de retour).

Le but n'est pas de générer une documentation exhaustive mais il permet génériquement de :

  • générer une doc succinte, rapide et personnalisée pour développeurs plus ou moins expérimentés, selon une syntaxe / format à leur souhait;

  • générer des fichiers pour éditeurs et EDI en vue de l'auto-completion et la surimpression des prototypes

  • d'autres choses auxquelles je n'ai pas songé

La surimpression des protos affichent, en parallèle à la saisie d'une fonction, son prototype.

Ainsi, pour Notepad++, j'ai mis à jour la liste des fonctions (auto-complétion) et j'ai ajouté le support de la surimpression : http://www.scolring.org/forum/viewtopic.php?id=159
Même chose pour Gedit : http://www.scolring.org/forum/viewtopic.php?id=156
Pour Bluefish, je n'ai mis à jour que l'auto complétion, la surimpression n'étant pas encore supportée par cet éditeur : http://www.scolring.org/forum/viewtopic.php?id=157

Si un autre éditeur / IDE supporte l'auto completion et/ou la surimpression via un fichier texte (txt, xml, lang, etc ce qui est le cas le plus fréquent), ce script est capable de le générer : indiquez lui simplement la syntaxe (voir les exemples inclus au besoin).

Ce script se base :

  • sur la doc officielle en html pour les APIs Cryo-Networks et Kyriens;

  • sur les indications Doxygen dans les codes sources (*c et *cpp) pour tout le reste
    Suffit de continuer à utiliser rigoureusement la même syntaxe qu'actuellement smile

À ce jour, la liste des fonctions comprend :

  • l'intégralité des fonctions héritées de Cryo-Networks et Kyrien : le kernel et les plugins OS2d, 2d, sql, zoogl, mmedia, serialIO;

  • le plugin Audio;

  • le plugin Epoc;

  • le plugin Glove5DT;

  • le plugin Joypad;

  • le plugin lib2dGTK;

  • le plugin neurosky;

  • le plugin nonin;

  • le plugin OpenNiScol;

  • le plugin security;

  • le plugin SO3Engine Basics, Pack;

  • le plugin Spacefusion;

  • le plugin speech;

  • le plugin Sqlite3;

  • le plugin test;

  • le plugin usbuirt;

  • le plugin util_g;

  • le plugin wsystem.

Elle ne comprend pas :

  • les dernières fonctions ajoutées au noyau (kernel);

  • le plugin OptiTrack;

  • le plugin Science;

  • le plugin SO3Engine Animation, Material, PhysicGraph, Renderer, SceneGraph, Utils;

  • le plugin wiimote.

En effet, ces derniers modules ne sont (encore) pas "Doxygen compatible" et le script ne peut donc en extraire les informations nécessaires.

De même, si certaines fonctions Scol ne sont pas ou sont mal documentées, elle peuvent manquer (ou n'être présente que pour l'autocomplétion et pas pour la surimpression).

Ce script n'est a priori pas destiné au débutant.
À noter aussi que les fonctions incluses peuvent ne pas être stables puisque certaines APIs sont encore en développement.

Chaque plugin inclus "par défaut" peut être exclus très simplement de la liste. On peut par exemple ne générer que la liste des fonctions du plugin Audio et exclure toutes les autres.
La génération du support complet actuel (ci-dessus) ne prend que quelques secondes.

Ce script est librement (licence GNU GPL v3) téléchargeable : http://www.irizone.net/dl/python/listScolFunctions.py ou depuis le svn : http://redmine.scolring.org/
C'est un script, pas un outil graphique ! wink

Offline

Board footer

Powered by FluxBB