Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
2098 connectés 

  FORUM HardWare.fr
  Programmation
  ADA

  Bug des compilos Gnat ou d'Ada en général

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bug des compilos Gnat ou d'Ada en général

n°1492355
jovalise
Par l'anneau de l'i.a.
Posté le 17-12-2006 à 13:41:36  profilanswer
 

Bonjour  :hello: ,
 
Ca fait plusieur "anomalies" que je relève quant à l'utilisation de compilateur Gnat ou d'Ada en général et je propose dans ce topic de les recencer.
 
 
Voila ce qu'il m'arrive aujourd'hui, ce n'est peut-etre pas un bug mais comme je ne comprend pas ce qu'il m'arrive ....
j'utilise un terminal 25 lignes 80 colonnes et je fait une text_io.set_col(80); et voila qu'il m'affiche les données au environs de la 70ieme colonne, j'ai donc entrée text_io.set_col(90);  et il m'affiche maintenant les données à la 80ieme colonne.  :ouch:  :cry:  :heink:  :kaola:  :(  :??:  :pfff:  
 
Si vous avez des explications sur le comportement de Gnat ou d'Ada en général, n'esité pas à nous les poster ... merci !  :jap:  
 

mood
Publicité
Posté le 17-12-2006 à 13:41:36  profilanswer
 

n°1492358
jovalise
Par l'anneau de l'i.a.
Posté le 17-12-2006 à 13:51:42  profilanswer
 

Et j'avais cette ligne aussi, pas male, ça complile, je doute que ça tourne par contre !

Code :
  1. Count_Mal_Places : T_Borne_2 := T_Borne_2'Last+1;

n°1493706
apprentitu​x
Posté le 19-12-2006 à 18:44:39  profilanswer
 

T'as surement un warning là non?

n°1493719
jovalise
Par l'anneau de l'i.a.
Posté le 19-12-2006 à 18:57:58  profilanswer
 

Ben, même pas .....  :hello: apprentitux !

n°1496196
jovalise
Par l'anneau de l'i.a.
Posté le 27-12-2006 à 08:31:07  profilanswer
 

J'ai cette erreur aussi ... pas rigolotte du tout  :heink:  


gnatgcc -c main.adb
main.adb:1975:59: invalid prefix in selected component "R1133b"


 
Si en fait elle l'est  [:dawa_neowen]


Message édité par jovalise le 27-12-2006 à 08:35:58
n°1496223
nraynaud
trainoo.com
Posté le 27-12-2006 à 10:31:52  profilanswer
 

jovalise a écrit :

Et j'avais cette ligne aussi, pas male, ça complile, je doute que ça tourne par contre !

Code :
  1. Count_Mal_Places : T_Borne_2 := T_Borne_2'Last+1;



T_Borne_2 est défini comment ?

n°1496226
jovalise
Par l'anneau de l'i.a.
Posté le 27-12-2006 à 10:42:58  profilanswer
 

Bonjour nraynaud,  

Code :
  1. package P_Les_Types_Taquin is
  2.   subtype T_Borne_1 is Positive range 1 .. positive'Last/2;
  3. end P_Les_Types_Taquin;


Code :
  1. with P_Les_Types_Taquin;
  2. use P_Les_Types_Taquin;
  3. with Ada.Finalization;
  4. generic
  5.   N,M : T_Borne_1; -- taille du jeu
  6.   K,L : T_Borne_1; -- position initiale du vide;
  7.   type T_Item is private;
  8.  
  9. package P_Taquin is
  10.   type T_Jeu_Du_Taquin is limited private;
  11.   subtype T_Borne_2 is natural range 0..((N*M)-1);
  12. ...
  13. ...

n°1496234
nraynaud
trainoo.com
Posté le 27-12-2006 à 10:57:09  profilanswer
 

bingo, T_Borne_2 a bien un opérateur '+' défini dessus, et vérifier que les valeurs sont bien dans le range défini ne peut dans le cas général n'être fait qu'à l'exécution.
 
Ils n'ont simplement pas fait de vérif statique dans le compilateur car ça ne détecte que très peu de cas.

n°1496237
kadreg
profil: Utilisateur
Posté le 27-12-2006 à 11:02:37  profilanswer
 

jovalise a écrit :


Voila ce qu'il m'arrive aujourd'hui, ce n'est peut-etre pas un bug mais comme je ne comprend pas ce qu'il m'arrive ....
j'utilise un terminal 25 lignes 80 colonnes et je fait une text_io.set_col(80); et voila qu'il m'affiche les données au environs de la 70ieme colonne, j'ai donc entrée text_io.set_col(90);  et il m'affiche maintenant les données à la 80ieme colonne.  :ouch:  :cry:  :heink:  :kaola:  :(  :??:  :pfff:  


 
c'est quoi la police de ton terminal ?

n°1496242
jovalise
Par l'anneau de l'i.a.
Posté le 27-12-2006 à 11:07:07  profilanswer
 

kadreg a écrit :

c'est quoi la police de ton terminal ?


 
Alors la ? , je peut te dire que je suis sur Gnu/Linux Debian Sarge en TERM=Linux mais je ne sais pas ou trouver l'info sur la police.

n°1496245
kadreg
profil: Utilisateur
Posté le 27-12-2006 à 11:10:51  profilanswer
 

Parce que si tu n'utilises pas une police à taille fixe, la taille des caractère est variable. Donc 70 espaces seront plus petits que 70 'm'.
 
Ca donne typiquement ce genre de symptomes.

n°1496246
jovalise
Par l'anneau de l'i.a.
Posté le 27-12-2006 à 11:16:12  profilanswer
 

Ben moi, je pense pas que ce soit un problème de ma police puisque, malgrès le fait que je n'ai rien fait de spécial, tout est rentré dans l'ordre.

n°1496269
jovalise
Par l'anneau de l'i.a.
Posté le 27-12-2006 à 12:08:40  profilanswer
 

nraynaud a écrit :

bingo, T_Borne_2 a bien un opérateur '+' défini dessus, et vérifier que les valeurs sont bien dans le range défini ne peut dans le cas général n'être fait qu'à l'exécution.
 
Ils n'ont simplement pas fait de vérif statique dans le compilateur car ça ne détecte que très peu de cas.


 
 
je vois pas pourquoi on ne peut pas detecter S'Last+1 ... à moins que ce soit parce que la borne est générique, et que le parametre effectif soit un argument en ligne de commande ... je l'avais pas vu  [:dawa_neowen]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ADA

  Bug des compilos Gnat ou d'Ada en général

 

Sujets relatifs
Probleme General "Rechercher Suivant"[mysql et sgbd en général] partitionnement + recherche mysql 5.1.11
Sauvegarde en ADABug graphique, avec les images selon la résolution, firefox et ie
[CSS] Bug d'affichage IE (encore)Bug sur AddItem dans une ComboBox.
Bug ?Bug Eclipse ?
Bug fonction find, the returnProbleme de compilation avec GNAT
Plus de sujets relatifs à : Bug des compilos Gnat ou d'Ada en général


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware