PARSER DE FICHIER JAVASCRIPT V2

SibosisITS Messages postés 72 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 20 juin 2003 - 20 mars 2002 à 19:18
cs_Mercury Messages postés 329 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 octobre 2005 - 4 août 2002 à 18:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2868-parser-de-fichier-javascript-v2

cs_Mercury Messages postés 329 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 octobre 2005
4 août 2002 à 18:02
Quand on voit ce que tu postes comme "source", moi à ta place je ne me permettrait pas de critiquer les autres !
leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007
21 mars 2002 à 20:02
Dans ma nouvelle version, une fois que fonction a été trouvé, il ne considère plus ce mot comme important, c'est à dire qu'il ne le prend en compte une seule fois.
Il attent le commentaire <!--fin--> pour stopper la boucle

Merci de ta remarque
leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007
21 mars 2002 à 20:00
C'est vrai que j'avais pas trop penser à ça,en fait cette partie de code fait partie d'un programme entier, et un ami m'a demandé de l'afficher, en fait mon programme est un éditeur de fichier JS donc le formatage de ce fichier se fait selon son ordre.
Seul problème : si l'utilisateur le modifier sans passer par mon éditeur...
SibosisITS Messages postés 72 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 20 juin 2003
20 mars 2002 à 19:18
Tu ne penses pas qu'il y a quelque petits problèmes ?...
Exemple :

ligne="function nom_de_fonction (x,y,z) {var a=x,b=(y+z); a*b;}"

...ma ligne contient une fonction entière, et la syntaxe est tout à fait correct.
Cependant, ton programe, ici, ne récupère pas

"nom_de_fonction (x,y,z)"

comme je pourrais l'espérer, mais

" nom_de_fonction (x,y,z) ) {var a=x,b=(y+z); a*b"

Le problème réside dans le fait que tu as considéré que les fonctions étaient toutes formatées comme suit :

function nom_de_fonction (x,y,z) {

...
}

...ce qui n'est pas obligatoire... De plus suppose qu'à la lecture de la ligne, on ait

ligne= " function nom_de_fonction ..."

ta fonction récupère alors la chaîne

"ction nom_de_fonction ..."

à cause des cinqs espaces qui se trouvent en tête de chaîne... mais cela peut être réglé facilement en supprimant à l'aide d'une boucle, les espaces en début de chaîne...

Autre problème :

ligne = "function nom_f1 (...) {...};function nom_f2 (...) {...}"

à supposer que les problèmes précédents aient été résolues, avec ton programme, seule la première des deux fonctions sera récupérée...

Sinon, l'idée du programme est très intéressante, et peut se révéler très pratique...

... à suivre ...

q°: Sibo :°p
Rejoignez-nous