Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PHOENIX INTERPRETOR


Information sur la source

Description

voila c'est un petit interpreteur de langage phoenix,
il est tres simple et open-source.

son but est d'interpreté le contenu du fichier en source PHP,puis il l'affiche dans le navigateur.

il n'a pas beaucoup de fonction mais peut deja fair les chose basique.
vous pouvez par la suite facilement ajouté des fonction
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de windows972 le 12/04/2008 21:00:04

tres bon interpreur !!

signaler à un administrateur
Commentaire de malalam le 12/04/2008 21:12:05 administrateur CS

Hello,

2 remarques :
- tu devrais donner des liens pour ce langage : la référence, la doc, l'explication de ce que c'est etc.
- ton code n'a pas franchement d'intérêt en l'état. Tu ne fais que remplacer une dizaine d'instructions basiques par leur équivalent en php. J'ai vu des interpréteurs brainfuck plus évolués que le tien. Désolé d'être aussi dur mais là, je ne vois pas l'intérêt de ton code.

signaler à un administrateur
Commentaire de windows972 le 12/04/2008 21:14:08

je sais mais je vais l'optimiser,ne t'iquiete pas !!!^^

je vais faire ma propre librairie de fonction,etc..ma propre gestion des erreurs

signaler à un administrateur
Commentaire de malalam le 12/04/2008 21:14:31 administrateur CS

Sans compter que ton moteur peut se résumer en 1 ligne de code, tu montres dont le mauvais exemple. str_replace() prend des tableaux en paramètres. Tu fais 10 fois trop d'appels à cette fonction.

signaler à un administrateur
Commentaire de malalam le 12/04/2008 21:15:16 administrateur CS

Et bien tâche, la prochaîne fois, de poster un code complet. Ou en tous cas, un minimum complet, parce que là...

signaler à un administrateur
Commentaire de windows972 le 12/04/2008 21:17:40

je vais l'ameliore avec sa propre bibliotheque de fonction

signaler à un administrateur
Commentaire de windows972 le 12/04/2008 21:18:39

je ne vois pas comment faire otrement "tu remplace une dizaine d'instruction basique par leurs iquivalence php"

signaler à un administrateur
Commentaire de malalam le 12/04/2008 21:20:25 administrateur CS

Je te l'ai dit : str_replace() prend des tableaux en paramètres.

signaler à un administrateur
Commentaire de windows972 le 12/04/2008 21:24:38

merci pour l'info je rectifie tout mais je suis obligé de transformé mes instruction en code php donc pk tu dit "tu remplace une dizaine d'instruction basique par leurs iquivalence php"

signaler à un administrateur
Commentaire de windows972 le 12/04/2008 21:29:31

a ok j'ai compris c'est plus la peine ^^

signaler à un administrateur
Commentaire de coucou747 le 12/04/2008 22:52:46

ce que tu fais s'approche plus d'une compilation que d'une interpretation.
En effet, tu transforme un code source en un programme...
sauf qu'en fait, ni les interepreteurs, ni les compilateurs ne fonctionnent comme ca... ici, si tu as une erreur de syntaxe, le processus que tu as cree toi fonctionnera tres bien...
tu devrais te renseigner sur les ast, les parseurs et lexeurs. flex, yacc, bizon, etc... ca te serait tres utile.
t'as deux articles dans les deux derniers linux magazines france, qui traitent de ce sujet (mais en ocaml, malheureusement pour toi)
un truc qui m'etonne, pourquoi t'as cree ce type de langage ?

signaler à un administrateur
Commentaire de malalam le 12/04/2008 23:00:55 administrateur CS

Il n'a pas créé Phoenix, ce langage existe. C'est pour ça que je lui ai demandé de mettre des liens en parlant, vu qu'on ne peut pas dire que ce soit un langage très connu...

signaler à un administrateur
Commentaire de coucou747 le 12/04/2008 23:38:32

j'ai beau chercher, j'arrive pas a trouver de lien vers une implementation correcte ou une description...
je dois dire que presente comme ca, c'est un langage qui peut difficilement attirer...

signaler à un administrateur
Commentaire de yoman64 le 13/04/2008 03:40:55

Hello world,

Moi après quelques recherches j'ai trouvé ça http://en.wikipedia.org/wiki/Phoenix_Object_Basic

Ce que malalam essait de te dire, et que tu semble pas saisir (ou t'as juste pas mis à jour le code) c'est de transformer ça:
# $file = str_replace ('<#', '<?php' , $file);
# $file = str_replace ('<#', '<?' , $file);
#
# $file = str_replace ('//write : ', 'echo' , $file);
# $file = str_replace ('//variable.', '$' , $file);
#
# $file = str_replace ('//if :', 'if (' , $file);
# $file = str_replace ('//elseif :', 'elseif (' , $file);
# $file = str_replace ('//else :', 'else {' , $file);
# $file = str_replace ('then', '){' , $file);
# $file = str_replace ('endif', '}' , $file);
#
#
# $file = str_replace ('//while :', 'while (' , $file);
# $file = str_replace ('/:', ') {' , $file);
# $file = str_replace ('exit', '}' , $file);

en

$find = array('<#','<#','//write : ','//variable.','//if :', '//elseif :','//else :', 'then','endif','//while :','/:', 'exit')
$replace = array('<?php' ,'echo' ,'$' ,'if (' , 'elseif (' ,'else {' , '){' ,'}' , 'while (' ,') {' ,'}')
$file = str_replace ($find,$replace,  $file);


C'est nettement plus beau.
Cela dit c'est du n'importe quoi ton code, un simple replace ça peut foutre en l'air un code, il faut prendre en compte les quotes, les boucles, etc...
J'explique:

Si j'ai:
<#
//write: 'the script exit and then crashed writing //write : '
#>

Ben ton truc va me sortir :
<?php
echo 'the script } and ){ crashed writing echo'
?>

alors que moi j'veux affiché "the script exit and then crashed writing //write : "

Ça c'est sans parler que c'est pas flexible du tout de la façon que tu le fais, un espace mal placé et ton code ne le remplace pas comme il faut alors que c'est totalement valide...

J'ai déja fait un interpreteur de script il y a longtemps, en vb6 le mien (j'ai même eu un trophé sur vbfrance dans le temps pfff), alors je te le dis un interpreteur c'est bien plus qu'un simple str_replace... lol

Bon afin de pas porter un jugement finale trop négatif je veux savoir:

1. C'est quoi l'interet sachant que ça fait juste remplacer des fonctions en fonctions php et que c'est même pas flexible du tout et que ça prends pas en compte les erreurs ? Pourquoi pas juste écrire en php directement puisque ton script n'apporte pas rien de plus ?

2. Ton code se résume en 3 lignes de php, en sachant cela c'est plus un snippets qu'une source non?...

signaler à un administrateur
Commentaire de windows972 le 13/04/2008 18:04:44

phoenix existe vraiment ??
je ne savait meme pas sa !!^^

j'ai juste donné ce nom comme sa !!

signaler à un administrateur
Commentaire de windows972 le 13/04/2008 18:06:44

justement je ne sais pas comment faire pour que mon code n'interprete pas dans les cote !!!
help

signaler à un administrateur
Commentaire de coucou747 le 13/04/2008 18:21:41

ouais, j'avais raison, t'as cree ton langage...

bon, en fait, ce qu'on fait en pratique, quand on veut parser un truc, on a deux "choses" importantes, le lexeur et le parseur.

un lexeur, c'est une sorte d'itterateur qui te sort des Tokens.
le parseur, c'est l'element qui traite tes Tokens pour les mettre dans une Stack, appeller des Reducteurs pour faire d'une Stack, un AST...

ouais, dit comme ca, c'est pas tres sex, alors on va faire un exemple concret...

le lexeur, c'est une sorte de moulinette, ca te prend une chaine de caractere, et ca la decoupe en elements appelles Tokens, ce sont les elements de bases.
pour la chaine : "1 + 3 * 5" le lexeur renvera les tokens : Token(NOMBRE, 1); Token(OPERATOR, '+'); Token(NOMBRE, 3), Token(OPERATOR, '*'), Token(NOMBRE, 5) dans l'ordre.

la Stack, c'est une pile, comme son nom l'indique, on peut empiler ou depiller des elements par le dessus, on doit aussi pouvoir regarder le dessus, et les elements proches du dessus.

Le Parseur appelle les retours du lexeurs, un par un. pour chaque Token :
il l'empile
il appelle les reducteurs tant que les reducteurs peuvent reduire.

Que font les reducteurs ?
Les reducteurs creent d'autres objets, genre des Operation_s. une Operation se fait a partie de TokensNombre -> TokensOperator -> TokenNombre


OUI c'est complique, mais ca marche comme ca...

j'ai fait quelques exemples ici :
http://www.cppfrance.com/codes/INTERPRETEUR-LANGAGE-PROCHE-RPN_44529.aspx
le lexer
http://files.codes-sources.com/fichier.aspx?id=44529&f=interpretor%2ffiles.c
le parseur
http://files.codes-sources.com/fichier.aspx?id=44529&f=interpretor%2fmain.c

et celui la en php :
http://www.phpcs.com/codes/PILE-PARSEUR-LEXER-TOKENS_44089.aspx

En C, c'est chiant a coder, et c'est VRAIMENT pas un langage adapte pour ca... en php, c'est trop lent.

signaler à un administrateur
Commentaire de windows972 le 13/04/2008 18:47:08

merci bocoup !!!

signaler à un administrateur
Commentaire de malalam le 13/04/2008 19:41:06 administrateur CS

Ah ok il a juste eu du bol de tomber sur un truc existant (je me disais aussi : je ne parvenais pas non plus à trouver d'exemple d'implémentation).

signaler à un administrateur
Commentaire de yoman64 le 13/04/2008 19:50:14

Ah bah si coucou se fait de la pub, moi aussi :)

Voila ma source:  http://www.vbfrance.com/codes/ALEX-SCRIPT-INTERPRETEUR-COMMANDE-VERSION_6957.aspx


@Windows972: tu n'as toujours pas dit quel est l'intérêt de ton code puisqu'il fait juste remplacer des fonctions par d'autre mots clés ?
Je vais répondre à ton MP ici en même temps: Il y a plusieurs façon de faire un remplacement correcte, partant du scannage caractère par caratère en passant par les regex et compagnies, cela dit c'est un peu complexe et puisque je vois pas trop l'utilité de ton code...

signaler à un administrateur
Commentaire de coucou747 le 13/04/2008 19:58:55

hum... j'ai pas d'autres urls, ce que j'ai fait, je l'ai fait en lisant quelques tutos (que j'ai pas sous la main) et en lisant ce que zerocool disait... avant de faire une "simple pub", j'ai donne pas mal d'explications... faut pas prendre ca pour de la pub... et si j'envoyais d'autres liens, je serais incapable d'expliquer comment ils fonctionnent... c'est une illustration pour mon explication, pas une pub...

signaler à un administrateur
Commentaire de yoman64 le 13/04/2008 20:12:17

coucou747: Prends pas ça aux mots, j'utilise "pub" dans le sens de laisser une url vers un script qui pourrait l'aider...

signaler à un administrateur
Commentaire de windows972 le 13/04/2008 20:23:17

vous avez l'air drolement fort en PHP !!

signaler à un administrateur
Commentaire de codefalse le 14/04/2008 10:16:31 administrateur CS

Franchement énorme !!! @Windows972 tu à inventé un langage qui existe déjà, mais le plus excellent, c'est que le style d'écriture est le même, sans le savoir !!! :p

Renseigne toi chez Wikipedia par exemple pour tout ce qui est compilation et analyse, c'est vrai que ca ne se résume pas à simplement remplacer une structure en une autre :p Sinon on aurait déjà beaucoup de c++ vers html ^^ ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Mail et recup [ par H@lloWin___HiA ] SalutJe sais envoyé un mail avec un script PHP sur un serveurMais peut on envoyer un mail depuis un script qui serait ds localhost (easy php)Le proble Recherche script php [ par Xavier ] Bonsoir à tous, Je recherche un script comme présenté ici :http://www.toutestfacile.com/phpinit.php?tef_site=php&common=scripts/indexpour mettre sur m Cherche script zone membre ! [ par jbrek ] Je cherche un script zone membre en PHP et en base de donnée mySQL (si possible) :Il faudrait :- une confirmation de mot de passe dans le formulaire d Exécution des scripts [ par antares7364 ] Bonjour,J'aimerais savoir comment se déroule l'exécution d'un script PHP.J'explique : un visiteur clicke sur un lien vers un script php, le serveur re executer un script php dans une pages html [ par titiseb ] Bonjour je voudrait executer un sctipt php dans une pages html c possible ??merci @+titi seb Pb avec java script + frame [ par mika20 ] Salut.j'ai un pb. je n'arrive pas a faire afficher une page php dans une frame lorsque je clic sur un clien en java scripte. Je m'explique plus claire passer un htaccess avec un script php [ par o00zeus00o ] Salut@tousJ'aimerais savoir si c'est possible qu'un script php entre le login et le mot de passe d'un htaccess à la place de l'utilisateur ????Merci d Variables Php Java [ par defkrie ] Voila, je ne me souviens plus comment on fait pour transféré une variable d'1 script java à une variable en php.jai une variable toto en java et jaime Passage de variables [ par nicolas66 ] Salut @ tous !Comme g l'intention de développer un script de dessin et php, je voulais juste savoir s'il était possible de récupérer des coordonnées d Script Javascript + PHP [ par nicolas66 ] Bonjour @ tous !Je pensé avoir trouvé une solution possible avec ce script en plaçant les coordonnées de la souris ds des boites de textes, puis récup


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,718 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.