Chers membres du club,

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


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 .