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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Programmation fonctionnelle / Développement web - Introduction aux combinateurs de parseurs monadiques ou comment écrire des compilateurs en Haskell,
Un tutoriel de Julien Dehos

Le , par Malick

43PARTAGES

14  0 
Chers membres du club,

J'ai le plaisir de vous présenter ce tutoriel de Julien Dehos :

Programmation fonctionnelle / Développement web
Introduction aux combinateurs de parseurs monadiques ou comment écrire des compilateurs en Haskell
Le parsing (ou analyse syntaxique) est une opération, très courante en informatique, qui consiste à « comprendre » un texte selon des règles prédéterminées (c.-à-d. sa grammaire). Du parsing est réalisé dans les compilateurs mais également dans n'importe quel programme qui lit des documents structurés (XML, YAML…), qui reçoit des requêtes (HTTP…) ou encore qui propose une interface textuelle.

Sans entrer dans le domaine de la compilation, il existe de nombreux algorithmes de parsing, notamment l'analyse LALR (utilisée dans Lex/Yacc) ou l'analyse LL (utilisée dans Antlr). Les combinateurs de parseurs monadiques sont une façon particulière d'implémenter des parseurs. Ils ont été proposés dans les années 1990 avec le langage Haskell. Ce dernier permet de les implémenter de façon simple, élégante et facile à utiliser.

Dans ce tutoriel, on va partir d'un exemple de base (une mini-calculatrice), avec un parseur « classique ». On va ensuite modifier ce parseur successivement jusqu'à aboutir à une implémentation basée sur les combinateurs de parseurs monadiques. On ne donnera ici que les sections de code les plus importantes mais le code complet est disponible en ligne. Enfin, on suppose ici que le lecteur connaît les notions et syntaxes de base de Haskell, notamment les types algébriques et les classes de types..

Bonne lecture

Retrouvez Les meilleurs cours et tutoriels pour apprendre la programmation .

Une erreur dans cette actualité ? Signalez-nous-la !