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

Caml Discussion :

lexing un fichier


Sujet :

Caml

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut lexing un fichier
    bonjour,

    j'ai deja un programmation de lexing le string (par le booleen expression),
    maitenant je veux faire lexing un fichier,comment je dois faire?
    si je peux transformer le contenu du fichier en les string, alors utiliser directement le lexing de string pour lexing le fichier,c'est possible?

    merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    La façon la plus simple est d'utiliser ocamllex : ce n'est pas très compliqué ; tu as la documentation ici.

    http://caml.inria.fr/pub/docs/manual...manual026.html
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    merci.
    mais mon prof me demande corriger sur le lexing de string,donc je sais pas si je peux transformer le contenu du fichier en le type de string,ensuite encore faire le lexing sur le string ?

  4. #4
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    tu peux t'amuser à lire le fichier, et à le charger dans une string... plus à lexer le tout, mais ce sera lourd
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    merci.
    c'est possible mais plus lourd?
    si je ne fais pas comme ca,comment je peux faire pour lexing un fichier?

  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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    tu lis ligne par ligne, et tu concatènes... http://caml.inria.fr/pub/docs/manual...ef/String.html
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    desolee,je n'ai pas compris,si je veux faire le lexing un fichier ,il faut par le string?je sais pas il faut transformer le fichier en quel type pour lexing?
    merci.

  8. #8
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    si tu pouvais essayer de mieux rédiger tes phrases, ce serait plus simple à comprendre


    quelle est la signature de ta fonction de lexing ?
    elle prend certainement un string en entrée...

    donc il te faut construire le string contenant tout le fichier, et lui passer
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    comment faire sera plus simple?
    "construire le string contenant tout le fichier" c'est a dit que encore transformer le contenu du fichier en le string?

  10. #10
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par two_eva
    "construire le string contenant tout le fichier" c'est a dit que encore transformer le contenu du fichier en le string?

    ben oui... puisque tu as déjà le lexer qui prend une string en entrée
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  11. #11
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    une lecture du fichier...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let lecture_fichier filename =
       let chan = open_in filename in
       let rec aux chan accu = (
           try 
               let line = input_line chan in
               aux chan (String.concat accu [line])
           with
               End_of_file -> accu
       ) in
       let res = aux chan (String.make 0 'a') in
       let _ = close_in chan in
    res;;

    nb: à tester, j'ai fait cela de tête
    nb2: les string ne seront pas forcemment assez longues pour contenir le fichier complet (dans un cas réel de compilation), faudra peut-être prendre des Buffer qui d'ailleurs sont plus performants sur la concaténation
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    merci,ca fait mieux.
    et sur le code,je n'ai pas compris suivant:
    String.concat accu [line] et
    String.make 0 'a'
    parce que je suis novice,merci votre aide

  13. #13
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par gorgonite
    tu lis ligne par ligne, et tu concatènes... http://caml.inria.fr/pub/docs/manual...ef/String.html

    si tu avais lu ce lien, tu aurais compris...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    merci,j'ai compris.
    et apres fini lexing le fichier,il faut encore transformer le result en les string?et comment je peux output dans le fichier?

  15. #15
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    soignes ton français... ça devient de plus en plus difficile de te relire


    pour écrire dans un ficher, il faut l'avoir ouvert en écriture avec open_out, puis utiliser print_line
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. lex yacc fichiers en entrée et sortie
    Par Patnel dans le forum Générateurs de compilateur
    Réponses: 2
    Dernier message: 09/11/2010, 14h30
  2. [Lex/Yacc] Lecture fichier
    Par YoNoSe dans le forum Générateurs de compilateur
    Réponses: 2
    Dernier message: 26/03/2010, 23h39
  3. compilation d'un fichier lex
    Par chflb dans le forum SUSE
    Réponses: 0
    Dernier message: 23/05/2008, 04h31
  4. makefile pour des fichiers lex et yacc
    Par samarensi dans le forum Linux
    Réponses: 1
    Dernier message: 25/12/2006, 09h27
  5. Commande pour analyser un fichier avec lex et yacc
    Par gRaNdLeMuRieN dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 13/09/2005, 19h12

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