Générateurs de parseurs : Lex, Yacc et les autres

Générateurs de parseurs : Lex, Yacc et les autres - Divers - Programmation

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.

Reply

Marsh Posté le 02-12-2002 à 18:00:10   

Reply

Marsh Posté le 02-12-2002 à 18:02:52    

ayé ? tu vas finir par parser ton langage ? [:serial coder]
 
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 ;)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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  :jap:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 02-12-2002 à 18:06:05    

Harkonnen a écrit a écrit :

ayé ? tu vas finir par parser ton langage ? [:serial coder]
 
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

Reply

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  :jap:  




yy_error() :hello:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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

Reply

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  :jap:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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  :jap:  




grilled :d


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-12-2002 à 18:08:44   

Reply

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 ?

Reply

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.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 02-12-2002 à 18:12:31    

Et yacc s'appuie sur lex dans son analyse


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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.

Reply

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.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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..

Reply

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 ).

Reply

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 ?


Message édité par noldor le 20-04-2006 à 16:24:30
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed