Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2623 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
Profil sup​primé
Posté le 17-12-2006 à 13:41:36  answer
 

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
Profil sup​primé
Posté le 17-12-2006 à 13:51:42  answer
 

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
Profil sup​primé
Posté le 19-12-2006 à 18:57:58  answer
 

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

n°1496196
Profil sup​primé
Posté le 27-12-2006 à 08:31:07  answer
 

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 Profil supprimé le 27-12-2006 à 08:35:58
n°1496223
nraynaud
lol
Posté le 27-12-2006 à 10:31:52  profilanswer
 


T_Borne_2 est défini comment ?

n°1496226
Profil sup​primé
Posté le 27-12-2006 à 10:42:58  answer
 

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
lol
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
 


 
c'est quoi la police de ton terminal ?

n°1496242
Profil sup​primé
Posté le 27-12-2006 à 11:07:07  answer
 

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.

mood
Publicité
Posté le 27-12-2006 à 11:07:07  profilanswer
 

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
Profil sup​primé
Posté le 27-12-2006 à 11:16:12  answer
 

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
Profil sup​primé
Posté le 27-12-2006 à 12:08:40  answer
 

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]

n°2205224
Profil sup​primé
Posté le 03-10-2013 à 15:11:58  answer
 

Bonjour, je travail actuellement avec des Containers.Vectors, j'ai un doute sur la sémantique observée pour les opérateur d'affectation, mais surtout de concaténation avec la fonction "&".
 
En effet, à l'utilisation des cette fonction la quantité de mes élements contenu dans le vecteur résultant est erroné ou alors, c'est l'affectation, je cherche plus, j'ai utilisé insert, mais voilà, j'ai bien galéré avec les vecteur ces jours ci.

n°2205234
Profil sup​primé
Posté le 03-10-2013 à 15:59:12  answer
 

bon mais non, ça marche toujours pas, je traine un bug dans mon code.


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"Sauvegarde en ADA
Bug 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 return
Probleme de compilation avec GNAT 
Plus de sujets relatifs à : Bug des compilos Gnat ou d'Ada en général


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR