Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 24/10/08 22:29 Sujet du message: PJP Discussion |
|
|
Au vu des nombreuses demandes que j'ai eu de différents hacks de WE, il m'aurait fallu créer un langage bien plus puissant que le vJass.
J'ai eu une idée: il existe déjà des langages très puissants capables de générer d'autres langages; pourquoi ne pas générer du Jass en PHP ?
PHP est un langage très puissant crée par un français qui a surtout été conçut pour la génération HTML. Néanmoins la facilité avec laquelle on manipule le texte fait que l'on, sa puissance, ses nombreuses librairies font qu'on l'utilise de plus en plus pour d'autres usages.
J'ai donc codé un préprocesseur qui parse le code PHP de la carte (ou du script).
Certes cela fait un peu bizarre de voir du code PHP dans du Jass, mais le résultat est là.
Pour le teste que j'ai effectué:
Code d'entré
Code: | <?
$b = true;
?>
globals
constant boolean TRUE = true
endglobals
function main takes nothing returns nothing
<? if ($b): ?>
local unit u
<? else: ?>
local integer i
<? endif; ?>
<? echo 'local '.(($b) ? 'string' : 'real').' myVar'; ?>
endfunction |
Code de sortie
Code: |
globals
constant boolean TRUE = true
endglobals
function main takes nothing returns nothing
local unit u
local string myVar
endfunction
|
Il faudrait voir pour la syntaxe PHP à utiliser avec.
Avant de vous fournir la première version de l'application il faut que je teste avec Grimoire. Si l'enthousiasme est au rendez-vous je maintiendrai une distribution et fournirais des frameworks et extentions PHP.
PS: Au début je l'ais nommé jPhp, mais vu que PHP veut dire "PHP: Hypertext Preprocessor", je l'ais donc renommer en PJP ("PHP: Jass Preprocessor") _________________
Dernière édition par Ayane le 27/10/08 22:44; édité 3 fois |
|
Revenir en haut |
|
|
Rommstein60 MODÉRATEUR À LA RETRAITE
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 08:12 Sujet du message: |
|
|
Il faudrait surtout des idées d'utilisations, j'en ais quelques unes (mais je l'ais coder sans en avoir vraiment).
@Rommstein60: Désolé j'étais crevée, je devais me dépêcher, et on me demandait de partout.
NB: J'avais eu l'idée vers midi et je l'ais codé le soir. _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 08:19 Sujet du message: |
|
|
Concrètement c'est censé apporter quoi de plus ?
Ne codant pas en php j'ai du mal à voir l'intérêt.
Je comprends l'exemple que tu as donné mais si $b est une constant alors faut vraiment en avoir besoin (avis personnel). _________________
Le violet, c'est moche.
Dernière édition par Troll-Brain le 25/10/08 08:28; édité 2 fois |
|
Revenir en haut |
|
|
SnowWolf Anomalie floodiforme
Inscrit le: 06 Nov 2007 Messages: 1617 Sujets: 62 Spécialité en worldedit: Pourquoi pas ? Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 08:36 Sujet du message: |
|
|
C'est censé apporter plus de modularité (facilité d'édition) dans le code ?
Possibilité d'inliner des fonctions ?
Des Define ?
De la vraie POO ?
PS : Ca n'a plus rien à voir avec GUI HELPER, tu testes l'enthousiasme et éventuellement tu créés un nouveau forum dédié ? _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
Cobrand Floodeur prématuré
Inscrit le: 06 Juin 2008 Messages: 634 Sujets: 38 Spécialité en worldedit: Manger des pommes à la sauce Jass.
|
|
Revenir en haut |
|
|
Rommstein60 MODÉRATEUR À LA RETRAITE
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
|
Revenir en haut |
|
|
Keitaro_Ura Floodozaurus
Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
Posté le: 25/10/08 11:51 Sujet du message: |
|
|
Moi jvois pas trop l'utilité sachant que coder normalement suffit, nan ? _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 11:53 Sujet du message: |
|
|
Keitaro_Ura a écrit: | Moi jvois pas trop l'utilité sachant que coder normalement suffit, nan ? |
Faut voir ce que prévoit de faire Ayane, le vJass par ex, même si au final ca reste du jass facilite énormément le codage.
Mais si tu ne vois pas l'intérêt du vJass je ne pense pas que tu verras un intérêt à ce projet.
@Ayane :
Je ne sais pas si c'est possible mais si tu pouvais créer un wait ne continuant pas son décompte quand le jeu est en pause aussi précis qu'un compteur tu serais mon idole.
Evidemment sans devoir attacher "manuellement" des données. _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 12:26 Sujet du message: |
|
|
Pour l'exemple $b n'est pas une constante mais une variable.
Pour l'intérêt théorique: JassHelper est un préprocesseur Jass, PJP en est aussi un préprocesseur Jass, mais c'est également un préprocesseur vJass.
Quelles différences par rapport à JassHelper (mis à part que l'on puisse générer du vJass) ?
Premièrement PJP a comme inconvénient actuel de moins bien s'intégrer au script que vJass et de difficilement modifier ce qu'il y a en dehors des balises PHP.
Cela en fait aussi un avantage car grâce à cela on peut écrire comme on le souhaite le script.
PHP est bien plus puissant avec ses structures de contrôles et ses fonctions, puisque l'on peut même faire de la réflection (variables dynamiques, ...).
Bien que ses fonctions natives sont très fournient, c'est un langage qui dispose de beaucoup de librairies qui va de l'accès à toutes les bases de données connues, de la gestion de sockets, des archives (zip, ...), de cryptage, de fichiers xml, génération d'images, ...
Pour les utilisations c'est à vous de les trouver, je pense que dans un premier temps ce sera surtout pour de gros projets avec des données externes (ou même interne) comme récupérer le prix de vente d'une unité, ...
Cela peut aussi être pratique si l'on maintient un site web avec des données de la carte (avec la librairie FTP on peut même envoyer automatiquement la carte...)
Pour l'utiliser avec grimoire il faut que vous ajoutiez l'exécution dans la fonction compilemap_path, quelque chose de ce genre:
Code: | toolresult = wehack.runprocess2("pjp\\pjp.exe \"" .. mappath .. "\"") |
Et de préférence avant JassHelper. _________________
Dernière édition par Ayane le 27/10/08 21:49; édité 1 fois |
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 14:06 Sujet du message: |
|
|
Je viens de tester avec Grimoire et cela fonctionne très bien.
Ce qui affiche: fefed82b1b1b61cf61134028cfe43aaf
Cela pourrait être intéressant d'ajouter des commandes GUI.
Gui: | Trigger: Partie - Display to (All players) the text: <? echo md5('All Ha... |
Affiche le code PHP à cause de l'éditeur qui met le texte dans le fichier wts. _________________
|
|
Revenir en haut |
|
|
louisdespi Floodeur prématuré
Inscrit le: 21 Oct 2007 Messages: 437 Sujets: 70
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 25/10/08 16:24 Sujet du message: |
|
|
@ Ayane : Je vois, statistiquement y'a donc très peu de chance que je l'utiliserais. _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
|