6
votes

En utilisant le parsec de Haskell pour analyser un bytrestring

J'ai réussi à utiliser Parsec pour analyser une chaîne, mais je ne peux pas réussir à faire de même avec un bytretring.

Comment puis-je faire fonctionner Parsec avec des bytersser sans la convertir manuellement en cordes?

Je reçois le sentiment que ce n'est pas difficile d'accomplir. Ai-je tort? (Je suis nouveau à Haskell. ^^)

Merci!


1 commentaires

Basé sur [l'autre question] [1], vous avez demandé, vous devez apprendre à lire la documentation de la bibliothèque que vous utilisez. Il est disponible sur Hackage. [1]: Stackoverflow.com/questions/2086842/...


3 Réponses :


8
votes

Il suffit d'importer le type type de text.parsec.bytestring ou TEXT.PARSEC.BYESTRING.LYZZY , au lieu de text.parsec.string .


2 commentaires

Quels sont les nombres dans text.parsec.bytestring.lazy ( hackage.hakell.org/packages/arc Hive / parsec / 3.0.0 / do C / HTML / ... )?


Voir ( Stackoverflow.com/Questtions/15455084/... pour où aller d'ici



2
votes

La réponse dépend effectivement de la version de Parsec que vous utilisez. Si vous utilisez la version 3.0 ou ultérieure, alors oui. Pour la version 2.x.x, je ne pense pas que vous puissiez.

http: / /hakage.hakell.org/packages/archive/parsec/3.0.1/doc/html/text-parsec-bytestring.html

acclamations

EDIT: le parsec que STH suggère (text.parsec.bytestring) est en fait la version 3.0 La version précédente 2.x.x est située dans text.parsercombinators.Parsec.


1 commentaires

Oh, alors je semble actuellement manquer de la version la plus récente et utilise l'ancien. Je vais mettre à jour. Merci à vous deux!



0
votes
p ::  Stream s m Char => ParsecT s u m a

1 commentaires

essayiez-vous d'expliquer comment obtenir Word8 au lieu de caractère, par hasard. Je ne peux pas comprendre ça.