Forum Programmation.autre Parser du GCode avec Attoparsec (en Haskell)

Posté par  . Licence CC By‑SA.
Étiquettes :
1
7
oct.
2015

Je cherche à parser du GCode à l'aide de Attoparsec (en Haskell).
Voilà ce que je voudrais :

> parse "G01 X1 Y2 Z3"
Right [Just 1, Just 2, Just 3]

> parse "G01 X1 Z3"
Right [Just 1, Nothing, Just 3]

> parse "G01"
Left "Message d'erreur..."

Les 2 premiers exemples fonctionnent. C'est le dernier qui me bloque.Je voudrais faire échouer le parser si toutes les valeurs sont "Nothing". Il serait possible de faire sa propre fonction :

condition
(…)

Forum Programmation.autre Haskell : simplifier 2 "case" imbriqués

Posté par  . Licence CC By‑SA.
Étiquettes :
1
12
mai
2016

Bonjour,
je viens de coder un petit truc vite fait en Haskell pour remplir des noms de ville à partir de codes postaux dans un fichier CSV. Ca marche, mais j'aimerais simplifier ma fonction "main" qui contient 2 "case" imbriqués, à cause de la fonction parseCSVFromFile qui a pour type :

parseCSVFromFile :: FilePath -> IO (Either ParseError CSV)

Je fais donc la gestion d'erreur à la main, mais vu que Either est une monade, j'aimerais que ça (…)