Générateurs de parseurs : Lex, Yacc et les autres - Divers - Programmation
Marsh Posté le 02-12-2002 à 18:02:52
ayé ? tu vas finir par parser ton langage ?
j'ai déja testé Visual Parse qui est sympa, mais vu que c'est quasiment un IDE pour parser, je sais pas si c'est ton trip, monsieur-je-fais-tout-à-la-main
Marsh Posté le 02-12-2002 à 18:04:00
sinon, lexx/yacc ne sont pas si complexes que ça (lexx du moins, parce que yacc est un peu plus chaud)
Marsh Posté le 02-12-2002 à 18:04:02
_o/
J'ai écrit un parseur complet pour un langage à la nécole. Flex et bison r0x0r (remplacement de lex et yacc). C'est GNU, c'est simple (enfin pour lex, yacc peut être un peu plus sportif au début).
yy_parse à toi
Marsh Posté le 02-12-2002 à 18:06:05
Harkonnen a écrit a écrit : ayé ? tu vas finir par parser ton langage ? ![]() j'ai déja testé Visual Parse qui est sympa, mais vu que c'est quasiment un IDE pour parser, je sais pas si c'est ton trip, monsieur-je-fais-tout-à-la-main ![]() |
Je viens de regarder, faut que je précises 2/3 trucs du coup.
- c'est pour générer du C
- il faut que ce soit libre
- et au minimum que ca tourne sur linux
Marsh Posté le 02-12-2002 à 18:06:09
kadreg a écrit a écrit : _o/ J'ai écrit un parseur complet pour un langage à la nécole. Flex et bison r0x0r (remplacement de lex et yacc). C'est GNU, c'est simple (enfin pour lex, yacc peut être un peu plus sportif au début). yy_parse à toi ![]() |
yy_error()
Marsh Posté le 02-12-2002 à 18:06:39
Harkonnen a écrit a écrit : sinon, lexx/yacc ne sont pas si complexes que ça (lexx du moins, parce que yacc est un peu plus chaud) |
ben comme dit, je me suis pas encore documenté vraiment dessus, parce que si y'a plus adapté, autant commencer tout de suite du bon pied
Marsh Posté le 02-12-2002 à 18:06:44
lorill a écrit a écrit : - il faut que ce soit libre |
flex et bison, c'est RMS qui les a écrit
Marsh Posté le 02-12-2002 à 18:07:29
kadreg a écrit a écrit : _o/ J'ai écrit un parseur complet pour un langage à la nécole. Flex et bison r0x0r (remplacement de lex et yacc). C'est GNU, c'est simple (enfin pour lex, yacc peut être un peu plus sportif au début). yy_parse à toi ![]() |
grilled
Marsh Posté le 02-12-2002 à 18:08:44
lorill a écrit a écrit : ben comme dit, je me suis pas encore documenté vraiment dessus, parce que si y'a plus adapté, autant commencer tout de suite du bon pied |
oui, mais vu que ce sont les outils les plus utilisés et les plus renommés (quand on me dit "parseur", je pense instantanément lex/yacc), autant apprendre à les utiliser, même si tu dois en chier au début.
Marsh Posté le 02-12-2002 à 18:09:24
bon, déja je pensais que lex et yacc étaient des outils qui travaillaient ensemble. visiblement j'ai tord. C'est quoi les différences entre eux ?
Marsh Posté le 02-12-2002 à 18:12:04
lorill a écrit a écrit : bon, déja je pensais que lex et yacc étaient des outils qui travaillaient ensemble. visiblement j'ai tord. C'est quoi les différences entre eux ? |
Lex fait la partie lexicale. Ceci est un mot clef, ceci est un opérateur, ceci est un identifiant, ceci est une chaine.
Yacc fait l'analyse syntaxique. On a le mot clef "class", ensuite on a un identifiant, puis (en option) extends, suivis d'un autre identifiant.
Marsh Posté le 02-12-2002 à 18:12:31
Et yacc s'appuie sur lex dans son analyse
Marsh Posté le 02-12-2002 à 18:14:07
Ouais, c'était bien ce que j'avais cru comprendre, donc. Il me faut bien les deux.
Marsh Posté le 02-12-2002 à 18:18:02
Tu peux utiliser que lex et te palucher l'analyse syntaxique à la main si tu veux.
Marsh Posté le 02-12-2002 à 19:34:29
effectivement, lex c'est tout con.
par contre j'espere que y'a moyen de lui préciser quoi lexer sans passer par un fichier..
Marsh Posté le 02-12-2002 à 22:04:44
kadreg a écrit a écrit : Tu peux utiliser que lex et te palucher l'analyse syntaxique à la main si tu veux. |
Perso je préfère me taper une fonction d'analyse LL à la main qu'une SLR et de loin ! Tu peux par ex. faire de la reconaissance avec fautes ( http://cristal.inria.fr/~xleroy/software.html#agrep ).
Marsh Posté le 20-04-2006 à 16:23:55
des livres à conseiller pour la pratique de lex et yacc en particulier et sur les grammaires en général ?
Marsh Posté le 02-12-2002 à 18:00:10
Bon, je poursuis mon périple et ma quète de documentations...
Aujourd'hui, la création d'un parseur.
Il y a bien évidemment la solution de le faire a la main. Pourquoi pas, mais en bon flemmard que je suis ca m'embête beaucoup de faire quelque chose manuellement alors que les outils existent.
Bon, déja je sais qu'il va falloir que je cherche et lise de la doc. Par contre je sais pas trop vers quoi m'orienter.
Je connais de nom lex & yacc, mais je sais qu'il y a d'autres outils plus "propres" ou plus "simples" pour faire ca.
Donc si quelqu'un a un retour d'experience sur un de ces outils, un conseil ou autre, ben je suis preneur.