Page 1 sur 2
Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 15:13
par graph100
Les Macro sont très mal traitées lorsqu'il commence à en avoir plusieurs sur la même ligne.
Le compilateur se met à générer des erreurs incohérentes
Exemple :
Le code suivant compile
Code : Tout sélectionner
Macro M:Macro:EndMacro:M E:End:End#M
M El:ElapsedMilliseconds():E#M
M St:Structure:E#M
St ma_structure:plop.d:EndStructure
Debug "test"
Et ce n'est qu'un seul soucis parmi plein d'autre
alors que celui-ci ne compile pas
Code : Tout sélectionner
Macro M:Macro:EndMacro:M E:End:End#M:M El:ElapsedMilliseconds():E#M
M St:Structure:E#M
St ma_structure:plop.d:EndStructure
Debug "test"
je n'ai fait que mettre la 3ème macro sur la même ligne
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 15:18
par SPH
Toiiii, tu t'entraines en vue du purepunch

Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 15:42
par graph100
Mais noon

absolument pas
En tout cas j'aimerais que le système de macro fonctionne un peu plus logiquement !
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 18:29
par Fred
C'est tout simplement pas supporté, tu ne peux pas creer une macro de la commande "Macro" ou "EndMacro".
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 18:36
par Backup
Fred a écrit :C'est tout simplement pas supporté, tu ne peux pas creer une macro de la commande "Macro" ou "EndMacro".
si! si !
c'est seulement de la commande "Endmacro" que tu peux pas
mais macro
ME:Macro:Endmacro Marche tres bien (regarde mon Punch )
ceci fonctionne
c'est d'ailleurs dommage qu'on ne puisse faire
Code : Tout sélectionner
macro Ma:macro:EndMacro
Macro ED:endmacro:endmacro <<<<< ceci pas possible Dommage
Ma EN:enumeration:ED <<< du coup cela ne marche pas
Ma EN:enumeration:endmacro ; <<< mais ceci fonctionne
je me demande pourquoi c'est possible avec "Macro" et pas avec "EndMacro"
arf ... c'est peut etre parce que ton analyseur Syntaxique planterai sur "EndMacro" , car dans "EndMacro" , il y a "Macro"
ben la solution est simple , tu commences par analyser les "EndMacro" , puis les "Macro" .....
pour un analyseur de Syntaxe , on commence toujours par analyser les mots les plus longs ... ça evite la redondance
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 18:58
par Fred
Merci pour la leçon de parsing

, mais c'est pas ca. Si tu ecris:
la macro se termine sur le premier EndMacro, c'est logique et c'est pas possible de faire autrement. Je répète que ça n'est pas officiellement supporté. Si ça marche dans certain cas, tant mieux, mais si ça ne marche pas, ce n'est pas un bug.
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:16
par Backup
Fred a écrit :
la macro se termine sur le premier EndMacro, c'est logique et c'est pas possible de faire autrement. Je répète que ça n'est pas officiellement supporté. Si ça marche dans certain cas, tant mieux, mais si ça ne marche pas, ce n'est pas un bug.
je ne dis pas qu'il s'agit d'un bug ..
tu dis que la Macro se termine sur le premier EndMacro ....
hum , ça devrai pas ... puisque une Macro complète demande
une Intro "Macro"
un Label "ED"
le mot que ça remplace donc ici "endmacro"
et la Fin de macro "Endmacro"
si Purebasic considère que la fin de Macro est atteinte alors qu'il n'y a pas de label .... c'est peut etre là le probleme non ?
je ne cherche pas a te donner de leçon , mais ne considere pas que tu détiens la science infuse hein ...

Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:17
par G-Rom
Dobro a écrit :
ben la solution est simple , tu commences par analyser les "EndMacro" , puis les "Macro" .....
pour un analyseur de Syntaxe , on commence toujours par analyser les mots les plus longs ... ça evite la redondance
Fred a écrit :Merci pour la leçon de parsing

C'est un chaud bouillant le père Dobro, il à fait le puregologolo , donne lui les sources du compilo , il va t'arrangé cela

Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:21
par Backup
non, je cherche a comprendre
entre parenthese , mon experience du Parsing de la langue Française me viens de Nono mon synthe vocale
qui est capable de dire une Ohrase que tu lui entre ... c'est deja pas mal si tu arrive a en faire autant

Mr G-Rom

Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:22
par Fred
Une macro ne contient pas forcement de terme à remplacer: une macro 'vide' est parfaitement valide.
ou:
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:24
par Backup
excuse ma lourdeur , mais ça sert a quoi une Macro Vide

Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:25
par Fred
Dobro a écrit :Fred a écrit :je ne cherche pas a te donner de leçon , mais ne considere pas que tu détiens la science infuse hein ...

Ca c'est fort, tu dis que c'est simple de fixer un truc alors que tu ne sais absolument pas comment marche le compilateur PureBasic et c'est moi qui ait la science infuse ? La prochaine fois je m'abstiendrai de tout commentaire, ce sera plus simple et je perdrai moins de temps.
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:28
par G-Rom
Dobro a écrit :excuse ma lourdeur , mais ça sert a quoi une Macro Vide

Je m'en sers pour importé des fonctions , je te posterais un exemple quand je serais sur mon PC.
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:31
par G-Rom
Fred a écrit :Dobro a écrit :Fred a écrit :je ne cherche pas a te donner de leçon , mais ne considere pas que tu détiens la science infuse hein ...

Ca c'est fort, tu dis que c'est simple de fixer un truc alors que tu ne sais absolument pas comment marche le compilateur PureBasic et c'est moi qui ait la science infuse ? La prochaine fois je m'abstiendrai de tout commentaire, ce sera plus simple et je perdrai moins de temps.
Merde, il n'a pas pris ses médoc... détend toi, il ne dit pas que tu as la science infuse , au contraire...
Les gars du 44 ne rigole pas , ne le chauffe pas trop , surtout quand on a des épaules de couleuvre
https://www.youtube.com/watch?v=vFaivuht3qs
Re: Macro -> problèmes avec l'imterpréteur de PB
Publié : dim. 06/juil./2014 19:33
par Fred
Code : Tout sélectionner
CompilerIf #PB_Compiler_Debugger
Macro MonDebug(a)
MessageRequester("Mon debug", "Line "+#PB_Compiler_Line+": "+a)
EndMacro
CompilerElse
Macro MonDebug(a)
EndMacro
CompilerEndIf
MonDebug("Example")
@g-rom: si si, j'ai bien lu et je comprends le francais, merci
