[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: HS: C++



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



Reply to: