Macro -> problèmes avec l'imterpréteur de PB

Sujets variés concernant le développement en PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par Backup »

Fred a écrit : 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.
tout viens du fait que tu consideres que je te donne une leçon ....
Merci pour la leçon de parsing
ce qui n'etait pas le cas !

ma solution concernait le cas ou
peut etre parce que ton analyseur Syntaxique planterai sur "EndMacro" , car dans "EndMacro" , il y a "Macro"
c'etait une Solution ... comme une autre ... que tu le prenne comme une leçon, c'est là le probleme , car ce n'etait pas mon but

je cherche a comprendre pourquoi on peut faire une Macro de "Macro" , et pourquoi on ne peut pas en faire de Endmacro .. rien de plus

...

tu parles de Macro Vide ... a part G-rom , je me demande combien nous sommes ici a savoir a quoi ça sert ?

[reedit]
haa .. au cas ou l'on utilise les directives de compilation ... ??? !!!
ben dis donc ...c'est balot
d'autant q'une procedure pourrai le faire.. mais bon .. faisons avec

@G-rom , le mec il peine a soulever la planche , perso , ça ne m'aurai posé aucun soucis :mrgreen:
c'ets la bagnole que j'aurai retourné
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par graph100 »

Vous êtes rigolos vous :lol:

Je n'ai pas encore tout lu, mais j'ai vu l'essentiel... Bref, toujours est-il que le 1er code que j'ai posté fonctionne, et que je m'en sers dans mon code actuel.
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par G-Rom »

@Dobro :

Code : Tout sélectionner

Macro DoubleQuote
"
EndMacro

Macro _
,
EndMacro

Macro void
EndMacro

Macro IMPORT_FUNCTION(returnType, name, param)
  PrototypeC#returnType name#(param)
  Global name.name = GetFunction(lib, DoubleQuote#name#DoubleQuote)
EndMacro

Et quand je l'utilise :

Code : Tout sélectionner

IMPORT_FUNCTION(.i,myFunc,void) ; J'importe myFunc
IMPORT_FUNCTION(.i,myFunc2, a.f _ b.f) ; J'importe myFunc2 avec 2 paramètres

Le code de Fred concernant le debugger est très pertinent , on peu le faire effectivement avec des procedures, mais cela impact l'exe final , que le code de Fred , pas du tout. ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par Backup »

oui, mais quand je pense qu'il eu suffit qu'il impose un Dumy dans la declaration de Macro
pour pouvoir faire une Macro de "EndMacro"

s'il avait voulu , il aurait pu imposer cette syntaxe pour une Macro Vide :

Code : Tout sélectionner

Macro ED: "" :Endmacro
(ou le dumy ("" ... ou #Pb_Dummy) servirai a creer le fameux vide

[reedit]
ou

Code : Tout sélectionner

Macro ED: #Pb_Dummy :Endmacro
(pour Graph100 :) )



et grace a cette Syntaxe nous aurions pus faire

Macro: ED:Endmacro:Endmacro

car cela aurai "Formaté" le systeme de Macro en ayant un
Entete , un Label , le mot de remplacement (Ou : #Pb_Dummy ) , et une Fin de Macro




Mais je n'insisterai pas plus sur ce sujet, ça ne sert a rien !
Dernière modification par Backup le dim. 06/juil./2014 23:51, modifié 3 fois.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par graph100 »

Le point que je soulevais c'est que le comportement du compilateur avec les Macro est très très aléatoire...

Dans mon code actuel, ça fonctionne avec une 3ème macro sur la même ligne, alors qu'avant impossible,
D'autres fois j'ai une erreur après une modif, puis je reviens en arrière, je relance PB, et je refais la modif et l'erreur disparait.

Étrange. Quand j'aurai fini de tasser mon code je le posterais, mais il fera plus que 50 lignes de toute façon :mrgreen:
Dommage, je n'ai plus d'idée pour le PurePunch du coup.

@Dobro : tu peux très bien avoir besoin de faire une macro contenant "".
Et pour faire ta macro de EndMacro tu fais comme suit :

Code : Tout sélectionner

Macro M:Macro:EndMacro
Macro E:End:EndMacro

; Maintenant tu peux écrire :
M Ma_macro : debug "test" : E#M
Et c'est quand même plus court que EndMacro
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par Backup »

graph100 a écrit : @Dobro : tu peux très bien avoir besoin de faire une macro contenant ""
c'est un exemple ... cela aurai pu etre #Pb_Dumy , ou que sais-je ...


bon allez ... bonne nuit :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par Backup »

graph100 a écrit : Et pour faire ta macro de EndMacro tu fais comme suit :

Code : Tout sélectionner

Macro M:Macro:EndMacro
Macro E:End:EndMacro

; Maintenant tu peux écrire :
M Ma_macro : debug "test" : E#M
Et c'est quand même plus court que EndMacro
haaaaaa! mais dis donc .. 8O je suis passé complétement a coté de "#" qui sert de concaténation des label de Macro !! 8O 8O :roll:

tres pratique , du coup ... :mrgreen: (Merci Fred) ... je suis parti... meme pas je suis venu
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par graph100 »

Mais c'est pas évident de le savoir en fait ce truc !
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par GallyHC »

Bonjour,

A vous lire je comprend pourquoi j'ai tant de mal avec les "Macro". C'est tellement simple si compliqué a la fois.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par djes »

Ces petites astuces ont déjà été utilisées dans les punchs précédents... Mais c'est vrai que ça fait un bail
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Macro -> problèmes avec l'imterpréteur de PB

Message par graph100 »

enéfait !

Et puis il faut savoir que les macros ne fonctionnent pas dans les champs de structure.
C'est pratique pour pouvoir utiliser des champs d'une seule lettre et ne peux avoir de soucis de macro.
M'en suis aperçu par hasard en relisant mon code et ne voyant pas d'erreur de compilation.

Après ça peut faire des problèmes bizarres et aléatoire, d’où mon post. Fred va encore dire que c'est pas fait pour ça :mrgreen:
Mais dans un punch on doit utiliser le matériel dans ses limites, et présentement, le matos, c'est le package PB :twisted:
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Répondre