IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Projet][Open source] parser ebnf vers du xml


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut [Projet][Open source] parser ebnf vers du xml
    Bonjour,

    Je viens de mettre un ligne un bout de code qui permet de parser un fichier source d'après une grammaire de style EBNF et de le transformer en un fichier XML.

    Cela m'a pris un moment pour faire ces quelques lignes. Cependant je n'ai pas trouvé d'équivalent sur Internet.

    Ce bout de code n'est pas un produit final mais plutôt un brouillon.

    Je vous encourage à me faire part dans ce fil ou en MP de vos observations sur mon idée, et/ou si vous souhaitez participer à l'amélioration de ce code.

    https://github.com/sxf-labs/misc/tree/master/sebnf

    Pour le tester le plus simple est de lancer run.sh

    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut Page suspecte pour FireFox
    Salut, je ne répond pas au post, je ne connais pas l'EBNF.

    Juste pour signaler que FireFox bloque cette page sous prétexte qu'elle est suspecte d'installer des logiciels malveillants.

    Ce qui n'est pas le cas, bien sur.


    Edit: Quand j'ai cliqué 'Ce site n'est pas malveillant', j'ai eu droit à une grande page m'indiquant que c'est Google qui l'a blacklistée. ... comprenne qui pourra.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut
    Bonjour,

    Moi aussi j'ai eu cette alerte, mais je pense que c'est pour tout developpez.

    NB: (J'espère ne pas en être la cause ).

    @Admin:
    • J'ai mis ce post dans la section python car le script est en python. Peut-être qu'un autre fil est plus adapté. Je vous laisse juge. Merci
    • Si comme je le pense, le problème de blacklistage du site par mozilla/google est général. Peut-être pourriez vous supprimer les posts qui n'ont pas de rapport avec le sujet de ce fil. Merci



    Merci.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    Citation Envoyé par sxf-labs Voir le message
    Moi aussi j'ai eu cette alerte, mais je pense que c'est pour tout developpez.
    Je confirme car moi j'étais sur une autre page et j'ai eu aussi le "blocage"

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut
    Bonjour,

    Soit mon premier post n'a pas été très vendeur, soit il présente d'intérêt que pour moi.

    J'ai enrichi le repertoire github d'un fichier README.md pour présenter de manière plus explicite en quoi consiste ces scripts.

    Je réitère donc mon premier post :

    Ce bout de code n'est pas un produit final mais plutôt un brouillon.

    Je vous encourage à me faire part dans ce fil ou en MP de vos observations sur mon idée, et/ou si vous souhaitez participer à l'amélioration de ce code.

    Je rappelle le lien vers le dépôt :
    https://github.com/sxf-labs/misc/tree/master/sebnf

    Merci.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Bonjour,

    je n'ai pas encore tout lu, mais je vois déjà une chose qui peut être simplifiée.

    Créer dynamiquement des méthodes dans la classe EBNF, c'est pas vraiment nécessaire. Je réécrirais plutôt la méthode parse comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      def parse(self, key):
        """
          Methodes generiques qui construits un dictionaire avec les tokens
          obtenus et la cle passe en parametres
        """
        def action(str, loc, toks):
            log.debug("%s -> %s"%(key,toks))
            return { key : list(toks) }
        return action
    Et donc, par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    meta_identfier = Word(alphas, alphanums + '_').setParseAction(self.parse_metaidentifier)
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    meta_identfier = Word(alphas, alphanums + '_').setParseAction(self.parse('metaidentifier'))
    Et du coup les méthodes add_builtin_parse_function et add_parse_idents deviennent inutiles.

    [EDIT:] et on dirait que l'attribut repo_keys ne sert à rien; il est mis à jour mais jamais lu

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/12/2008, 00h57
  2. Réponses: 5
    Dernier message: 06/12/2007, 08h20
  3. [Débutant] Lancement d'un projet Open Source
    Par itanea dans le forum Général Java
    Réponses: 12
    Dernier message: 28/05/2006, 21h54
  4. Ou héberger un projet open source ?
    Par corwin dans le forum Linux
    Réponses: 11
    Dernier message: 05/05/2004, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo