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

Algorithmes et structures de données Discussion :

Parseur pour fichier de config


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 31
    Points
    31
    Par défaut Parseur pour fichier de config
    Bonjour à tous. Jusqu'à présent, j'ai toujours codé des parseurs lourds pour lire les fichiers de config de mes programmes.
    J'ai décidé de me mettre à étudier sérieusement les algorithme de parsage d'expression.
    Connaîtriez-vous des références de textes traitant de ça? J'ai un mal fou à avoir un résultat sous google (à part des parsage d'XML, mais ce sujet ne m'interresse pas).
    Merci

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Tu parles d'un fichier de config "ligne à ligne", du style fichier "INI" ?

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    tu peux regarder du côté des grammaires LL... souvent suffisants pour un fichier de config, et qui te permette de tout coder en un "automate sans pile"

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Tu parles d'un fichier de config "ligne à ligne", du style fichier "INI" ?
    Basiquement, oui. Une suite de mots clés suivis d'une ou plusieurs valeurs. Le tout séparé en différentes parties. En quelques lignes de commentaire pour finir.
    Les différents paramètres ne sont pas définis dans un ordre précis et ne sont pas tous définis (il existe des valeurs par défaut).
    Du trés classique. Mais pour l'instant, j'ai toujours utilisé des algorithmes naïfs bidouillés à la va-vite. Du fonctionnel, mais pas trés robuste ni extensible.

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par NLS le pingouin Voir le message
    Basiquement, oui. Une suite de mots clés suivis d'une ou plusieurs valeurs. Le tout séparé en différentes parties. En quelques lignes de commentaire pour finir.
    Les différents paramètres ne sont pas définis dans un ordre précis et ne sont pas tous définis (il existe des valeurs par défaut).
    Du trés classique. Mais pour l'instant, j'ai toujours utilisé des algorithmes naïfs bidouillés à la va-vite. Du fonctionnel, mais pas trés robuste ni extensible.
    Tu peux étudier les concepts des parsers XML : le SAX ou le DOM.

    SAX etant à mon avis le plus simple et le plus extensible.

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    et quel langage ?
    utiliser un parseur intégré ou un générateur de parseur peut également être sympa

    (flex/bison, elza, boost::spirit, coco/r, etc)

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    tu peux étudier ce qui se fait aveec X11 et les fichiers de ressources...

    Très intéressant, et code simple : de une à trois centaines de lignes..

Discussions similaires

  1. [2.x] dependency injection pour fichier de config
    Par strauss69400 dans le forum Symfony
    Réponses: 3
    Dernier message: 11/09/2014, 14h07
  2. probleme pour creer un fichier de config
    Par vorhax dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/05/2007, 17h45
  3. Réponses: 7
    Dernier message: 12/02/2007, 10h11
  4. [Properties] conseil pour l'ecriture d'un fichier de config
    Par yann_p dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 11/10/2006, 12h16
  5. Réponses: 19
    Dernier message: 12/08/2006, 16h32

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