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 [@~##~{] 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