Jean-Luc Coulon (f5ibh) a écrit :
...
- messages d'erreur complètement (abs)cons et déroutants de g++
sur des choses aussi simples qu'une parenthèse oubliée avant un
point virgule et autres bêtises d'édition aussi triviales.
La plupart des compilateurs gébèrent des messages aussi (abc)cons
(sic) que g++ sur des erreurs aussi [EMAIL PROTECTED] que ça.
GNAT est très bon pour ça:
Soit le fichier bidon.ads:
package Bidon is
Truc : constant := (3 * (2 + 1);
end Bidon;
$ gnatgcc -c bidon.ads
bidon.ads:2:35: missing ")"
Et si tu utilise l'IDE GPS, tu corrige l'oubli d'un seul clic : dans la
fenêtre des messages de compilation, il y a une petite icône "clé à
molette" à gauche de l'erreur.
Tu clique dessus, et l'IDE corrige.
Idem pour les "with" manquant (les include), les erreurs de style, les
erreurs dans les identificateurs, etc. Par exemple :
package Bidon is
Truc : constant := (3 * (2 + 1));
Autre_Truc : constant := 4 * Turc; --> Notez la dyslexie
end Bidon;
$ gnatgcc -c bidon.ads
bidon.ads:3:33: "Turc" is undefined
bidon.ads:3:33: possible misspelling of "Truc"
Et à nouveaux, sous l'IDE (ou avec l'extension qui va bien du mode Ada
pour [x]emacs), c'est corrigé d'un simple clic.
C'est cool, non? Je pense que la syntaxe d'Ada facilite ce genre de
chose, mais il doit quand même y avoir quelques idées applicables à g++.
--
Lionel Draghi