Parsing de code Javascript | |
mickey | 18-Feb-2008/15:25:36+1:00 |
salut, je découvre le Rebol, et cherche à comprendre le parsing car je souhaite l'utiliser sur un cas précis : un fichier javascript de plusieurs milliers de lignes dans lequel je souhaite extraire des infos la structure js est la suivante : des blocs de déclaration incluant un ou plusieurs libellés de fonctions <du code JS> myappjs.declare("test.widget.UserPreferences", ..; fonction1: function( <du code JS> fonction2: function( <du code JS> et on recommence n fois le même genre de bloc. J'ai pu récupérer les declare, mais comment récuperer les noms de fonctions (boucle ?) (un peu comme prendre les nom des chapitres et ceux des sous-chapitres). Merci de votre aide | |
Didec | 19-Feb-2008/9:46:29+1:00 |
Un petit exemple concret et complet (mais court) de ce que tu as a parser donnera plus d'inspiration pour d'éventuelles réponses. Le parsing étant quelque chose de précis, il faut un exemple précis !! | |
mickey | 20-Feb-2008/9:30:53+1:00 |
ben voilà du code (dojo). ce que je veux, c'est récupérer la liste des déclarations de type provide (rule: [thru {.provide("} copy class to {");} ] mais aussi les fonctions déclarées dans cette classe (isCollapsed, GetBookmark, etc ) C'est la boucle sur les fonctions que je n'arrive pas à faire, pb sur les any et some que je mélange. C'est basique peut-être ? dojo._hasResource["dijit._base.focus"] = true; dojo.provide("dijit._base.focus"); isCollapsed: function(){ .. du code Javascript getBookmark: function(){ .. du code Javascript moveToBookmark: function(/*Object*/bookmark){ .. du code Javascript getFocus: function(/*Widget*/menu, /*Window*/ openedForWindow){ .. du code Javascript dojo._hasResource["dijit._base.manager"] = true; dojo.provide("dijit._base.manager"); dojo.declare("dijit.WidgetSet", null, { constructor: function(){ .. du code Javascript }, add: function(/*Widget*/ widget){ .. du code Javascript remove: function(/*String*/ id){ .. du code Javascript forEach: function(/*Function*/ func){ .. du code Javascript filter: function(/*Function*/ filter){ .. du code Javascript | |
Login required to Post. |