probleme de compilation

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

probleme de compilation

Message par Backup »

je suis en train de commencer un code

je veux compiler pour voir si un bug est présent , et ....

quelqu'un sait pourquoi ce morceau de code n'arrive meme pas au CallDebugger ?

Code : Tout sélectionner


calldebugger


reponse$=InputRequester("Question","************"+Chr(10)+"séparés par une virgule","")
nb=CountString(reponse$,",")
Dim Res(24)

Restore Gamme:
Index=0


While RV$<>"-1"
	Read.s RV$
	If RV$="."
		Index=Index+1
	Endif
	For i=1 to nb
		accord$=StringField(reponse$,i,",")
		if LCase(accord$)=Lcase(RV$)
			Res(Index)=Res(Index)+1
		Endif
	Next i
Wend

For i=0 to 23
	mem_a=a
	a=Res(i)
	if mem_a<a
		gamme=i
	Endif
Next i

debug "c'est dans la Gamme "+str(gamme) 







DataSection
	Gamme:
	Data.s "C","Dm","Em","F","G","Am","Bm7/5-","."
	;La_mineur:
	Data.s "Am","Bm75-","C","Dm","Em","F","G","."
	
	;Do_diese:
	Data.s "C#","D#m","Fm","F#","Ab","A#m","Cm7/5-","."
	;La_diese_mineur:
	Data.s "A#m","Cm7/5-","C#","D#m","Fm","F#","Ab","."
	
	;Re_majeur:
	Data.s "D","Em","F#m","G","A","Bm","C#m7/5-","."
	;Si_mineur:
	Data.s "Bm","C#m7/5-","D","Em","F#m","G","A","."
	
	;Re_diese:
	Data.s "D#","Fm","Gm","Ab","A#","Cm","Dm7/5-","."
	;Do_mineur:
	Data.s "Cm","Dm7/5-","D#","Fm","Gm","Ab","A#","."
	
	;Mi_majeur:
	Data.d "E","F#m","Abm","A","B","C#m","D#m7/5-","."
	;Do_diese_mineur:
	Data.s "C#m","D#m7/5-","E","F#m","Abm","A","B","."
	
	;Fa_majeur:
	Data.s "F","Gm","Am","A#","C","Dm","Em7/5-","."
	;Re_mineur:
	Data.s "Dm","Em7/5","F","Gm","Am","A#","C","."
	
	;Fa_diese_Majeur:
	Data.s "F#","G#m","A#m","B","C#","D#m","Fm7/5-","."
	;Re_diese_Mineur:
	Data.s "D#m","Fm7/5-", "F#","G#m","A#m","B","C#","."
	
	;Sol_Majeur:
	Data.s "G","Am","Bm","C","D","Em","F#m7/5-","."
	;Mi_mineur:
	Data.s "Em","F#m7/5-","G","Am","Bm","C","D","."
	
	;Sol_Diese_Majeur:
	Data.s "G#","A#m","Cm","C#","D#","Fm7","Gm7/5-","."
	;Fa_Mineur:
	Data.s "Fm7","Gm7/5-","G#","A#m","Cm","C#","D#","."
	
	;La_majeur:
	Data.s "A","Bm","C#m","D","E","F#m","G#m7/5-","."
	;Fa_diese_mineur:
	Data.s "F#m","G#m7/5-", "A","Bm","C#m","D","E","."
	
	;La_Diese_Majeur:
	Data.s "A#","Cm","Dm","D#","F","Gm","Am7/5-","."
	;Sol_mineur:
	Data.s "Gm","Am7/5-", "A#","Cm","Dm","D#","F","."
	
	;Si_Majeur:
	Data.s "B","C#m","D#m","E","F#","G#m","A#m7/5-","."
	;Sol_Diese_mineur:
	Data.s "G#m","A#m7/5-","B","C#m","D#m","E","F#","-1"
	
EndDataSection

Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: probleme de compilation

Message par SPH »

Sans le Calldebugger, ca semble marcher :|

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: probleme de compilation

Message par majikeyric »

L'exécution s'arrete bien au calldebugger... ce qui est normal non ?
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: probleme de compilation

Message par G-Rom »

Vérifie tes datas , tu en as une en double (.d) alors qu'un string est attendu ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: probleme de compilation

Message par Backup »

oui !! G-rom a trouvé ... Pfff

moi je commence a ne plus rien voir :roll:

et les messages d'erreurs vachement Explicite de Purebasic , n'aide pas vraiment a trouver ce genre de bétise !! :?

bon je vais poursuivre , Merci :)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: probleme de compilation

Message par G-Rom »

il te sort quand même la valeur du data , il te dis qu'il y a un dépassement , donc type trop petit ou pas adapté. ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: probleme de compilation

Message par Backup »

ha oui , il affiche bien une boite d'alerte :)

mais lorsque tu n'as jamais vu ce genre de message :
Image

je suis désolé, mais c'est loin d'etre clair ...

j'ai pensé a un bug du Debugger, car il n'est pas fait allusion au Data...
on vois bien effectivement des Données se trouvant parmis les data , mais
le fait de parler d'assembleur , il y a des "0" au beau milieu de la ligne de Data
du coup, j'ai meme pas pensé au contenu, voir au format des Data ...

il y aurai peut etre moyen d'afficher un message peut etre plus clair style

"un probleme se trouve dans la ligne de Data ... (voir si le type est le bon) "

du moment que Purebasic indique la ligne ou se trouve l'erreur , on peut se débrouiller a voir ou ça deconne ...


a ce propos, un pote ingé , m'avais fait remarqué il y a fort longtemps, qu'il ne comprenait pas
pourquoi un langage etait capable de signaler une erreur, avec le numero de ligne, le type d'erreur
et ... qu'il ne la corrigeait pas lui meme :)
bien sur pas les erreurs d'origine incertaine, mais les erreurs connu et bien indiquée
comme les syntax error par exemple

ici cela aurai été facile, les données se trouvant entre guillemet , le compilo, aurai pu corriger le type ;)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: probleme de compilation

Message par G-Rom »

Si les compilo commencent à prendre des décisions de correction , les bugs vont fleurir.
Les programmeurs "qui pissent" du code à longueur de journée s'en remettrons au correcteur pour les "petites" erreurs , mais par moment , les termes peuvent être ambiguë & source d'erreur :

Code : Tout sélectionner

Procedure DOF(float.f)
 ;...
EndProcedure

Procedure DOT(float.f)
 ;... 
EndProcedure

;
;
DOP(#PI) ? erreur
là le compilo fait quoi ? il appel qui ?
Concernant les types, c'est possible de le faire, le compilateur peu déterminé tout seul le type , on appelle cela , l'inférence de type, disponible avec le c++11 et le mot clé auto par exemple.

Code : Tout sélectionner

auto a = 3.1415;
a est de type float

Code : Tout sélectionner

auto a = 15;
a est de type int
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: probleme de compilation

Message par djes »

G-Rom a écrit :Concernant les types, c'est possible de le faire, le compilateur peu déterminé tout seul le type , on appelle cela , l'inférence de type, disponible avec le c++11 et le mot clé auto par exemple.

Code : Tout sélectionner

auto a = 3.1415;
a est de type float

Code : Tout sélectionner

auto a = 15;
a est de type int
:lol: Faudrait quand même qu'ils arrêtent de piquer des trucs au BASIC !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: probleme de compilation

Message par Backup »

G-Rom a écrit :Si les compilo commencent à prendre des décisions de correction , les bugs vont fleurir.
Les programmeurs "qui pissent" du code à longueur de journée s'en remettrons au correcteur pour les "petites" erreurs , mais par moment , les termes peuvent être ambiguë & source d'erreur :

Code : Tout sélectionner

Procedure DOF(float.f)
 ;...
EndProcedure

Procedure DOT(float.f)
 ;... 
EndProcedure

;
;
DOP(#PI) ? erreur
là le compilo fait quoi ? il appel qui ?
Facile !
il s’arrête en signalant l'erreur comme avant, mais te propose un Popup proposant les 2 solutions ...
comme ton editeur le fait avec la completion :)

quoiqu'il en soit l'exemple est mal choisi, car tu peux tres bien te tromper de nom de procedure
prendre une procedure pour une autre ...
je parlais surtout d'un point de vue syntaxe
ton probleme aurait été pris en charge si le nom de ta procedure etait absent du code
la c'est simple le compilo peut alors te proposer une liste de procedure ayant une syntaxe proche :)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: probleme de compilation

Message par G-Rom »

Mouai... Ayant déjà codé un vrai compilateur, la tâche est quand même hard.
L'idéal sera d'ajouté une couche IA au compilo pour qu'il puisse faire des déductions via un système de probabilité... une sorte de compilateur intelligent en somme.
Cela verra surement le jour un jour :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: probleme de compilation

Message par Backup »

G-Rom a écrit :L'idéal sera d'ajouté une couche IA au compilo pour qu'il puisse faire des déductions via un système de probabilité... une sorte de compilateur intelligent en somme.
le jour ou les Puce IA feront parties de nos Pc comme nos cartes Graphique :)

on ne dira plus , il est puissant ton Ordi ?
mais

il est intelligent ton Ordi ? :lol:
Répondre