Page 1 sur 1

Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mar. 21/févr./2017 16:34
par Shadow
Salut,

Je voudrait savoir si l'on peut-on vérifier et ou compiler un code en mémoire ?
Quand j’interroge le compilateur et que je lui file du code, il le compile et renvoie la réponse.

Quand il fais ça, il créer des fichiers...

De plus suis-je obliger de lui donner un code sous forme de fichier PB
ou est ce que je peut lui donner du code sous forme de texte ?

Ce que j'aimerais, c'est donner du code sous forme de texte au compilateur
et qu'il vérifie si tous est ok et me renvoi la réponse sans écrire
de fichier sur le disque, tous en mémoire en gros.

Est ce que c'est possible ou non ?

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mar. 21/févr./2017 21:16
par Marc56
Utilise un ramdisk
https://fr.m.wikipedia.org/wiki/Disque_virtuel

PS. Les codes sources PB sont déjà des fichiers texte
(Contrairement aux codes sources VB par defaut)

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mar. 21/févr./2017 21:52
par Shadow
Merci Marc mais ça me conviens pas vraiment non.
Le compilateur est t-il capable de checker du code comme dans l'éditeur de PB ?

Ya un menu pour vérifier le code, comment fait-il ça ?

Le compilateur ne peut pas vérifier un code en mémoire ?

Je lui donne un code sous forme de texte, chaîne de caractère et
il regarde si tous va bien.

Bon je pensais que c’était possible mais semblerais que non donc ?
Il faut forcement qu'il créer des fichier donc ?

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mer. 22/févr./2017 9:01
par Fred
Oui, tu es obligé de creer un fichier pour le compilateur.

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mer. 22/févr./2017 13:58
par Shadow
Ok merci Fred :)
Quand dans l'éditeur le demande à vérifier le code, comment fait t-il ?
Il fais bien appel au compilateur ?

Donc si j'ai bien tous compris, je dois forcement crée un fichier code
pour que le compilateur le prenne et le vérifie.

Ont ne peut pas faire ça en mémoire sans créer de fichier sur le disque.
Sinon il créer l'or de la compilation un fichier Exe, ont peut
lui dire de pas en créer un je suppose ?

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mer. 22/févr./2017 15:36
par Ar-S
Shadow a écrit :Ok merci Fred :)
Quand dans l'éditeur le demande à vérifier le code, comment fait t-il ?
Il fais bien appel au compilateur ?
Donc si j'ai bien tous compris, je dois forcement crée un fichier code
pour que le compilateur le prenne et le vérifie.
On ne peut pas faire ça en mémoire sans créer de fichier sur le disque.
Oui, pour le vérifier, si tu travailles sur une page non enregistrée, fais un simple :

Code : Tout sélectionner

Debug #PB_Compiler_File
Tu verras que PB créé tout seul un fichier PB_EditorOutput.pb sinon il se sert de ton fichier code "tonfichier.pb"
Shadow a écrit : Sinon il créer l'or de la compilation un fichier Exe, ont peut
lui dire de pas en créer un je suppose ?
Je laisse à Fred le soin de te répondre.

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mer. 22/févr./2017 18:49
par JohnJohnsonSHERMAN
Si tu veux uniquement vérifier la syntaxe du code sans créer d'exécutable, tu peux utiliser le compilateur en ligne de commande.
En particulier le paramètre -k :
La sainte Documentation de PB a écrit :-k, --check, /CHECK: vérifie la syntaxe uniquement, ne créer pas ni ne lance l'exécutable.
La syntaxe de la commande est :

Code : Tout sélectionner

pbcompiler <source.pb> -k
Edit : il faut mettre le chemin vers le dossier "<chemin de PB>/compilers/" dans la variable d'environnement PATH sous Windows ou dans le fichier .bashrc sous Linux pour avoir accès à pbcompiler sans devoir à chaque fois préciser le chemin complet vers le compilateur. :P

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mer. 22/févr./2017 19:21
par Shadow
Merci à vous :)
JohnJohnsonSHERMAN si ta un exemple...

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : mer. 22/févr./2017 21:53
par JohnJohnsonSHERMAN

Code : Tout sélectionner

RunProgram(#PB_Compiler_Home + "\Compilers\pbcompiler.exe", MonCodeSource$ + " -k","")
Il faut récupérer la sortie du compilateur, par exemple en utilisant l'exemple de la doc :

Code : Tout sélectionner

  Compilateur = RunProgram(#PB_Compiler_Home+"/Compilers/pbcompiler", MonFichier$ + " -k", "", #PB_Program_Open | #PB_Program_Read)
  Sortie$ = ""
  If Compilateur 
    While ProgramRunning(Compilateur)
      If AvailableProgramOutput(Compilateur)
        Sortie$ + ReadProgramString(Compilateur) + Chr(13)
      EndIf
    Wend
    Sortie$ + Chr(13) + Chr(13)
    Sortie$ + "Code de retour : " + Str(ProgramExitCode(Compilateur))
    
    CloseProgram(Compilateur) ; Ferme la connection vers le programme
  EndIf
  
  MessageRequester("Sortie", Sortie$)
C'est simple 8) Faut juste penser à lire la docqui est trés compléte et bien faite... :P

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Publié : jeu. 23/févr./2017 0:02
par Shadow
Ah ok, comme ça.
Effectivement ça marche après teste :)

Merci ^^