Lex: Parser des chaines avec des espaces

Lex: Parser des chaines avec des espaces - C - Programmation

Marsh Posté le 03-05-2006 à 11:21:05    

Bonjour,
 
je suis en train d'ecrire un parseur qui lit des commandes du genre :
 


put ma\ chaine\ de\ caracteres
put autre\ chaine


 
J'ai donc une commande par ligne. Certaines commandes (comme 'put') prennent une chaine de caracteres qui s'arrete a la fin de la ligne.
 
Quelle regle LEX dois-je ecrire pour pouvoir recuperer ces chaines ?
 
J'ai essaye ca comme regles, mais ce ne fonctionne pas :
 

Code :
  1. [\t ]+                       {}
  2. ...pleins de regles ici dont put...
  3. .+                 {yylval=(int)string_copy(yytext); return(STRING);}


 
Apparement, Lex coupe mes chaines et trouve plusieurs tokens.
 
Merci

Reply

Marsh Posté le 03-05-2006 à 11:21:05   

Reply

Marsh Posté le 03-05-2006 à 13:19:01    

TwinSun a écrit :

Quelle regle LEX dois-je ecrire pour pouvoir recuperer ces chaines ?


 :ouch:  :ouch:  :ouch: Rapport avec le langage C?


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 03-05-2006 à 16:13:31    

Emmanuel Delahaye a écrit :

:ouch:  :ouch:  :ouch: Rapport avec le langage C?


Y'avait pas de categorie Lex/Yacc et je code en C

Reply

Marsh Posté le 03-05-2006 à 16:54:52    

TwinSun a écrit :

Y'avait pas de categorie Lex/Yacc et je code en C


http://www.developpez.net/forums/forumdisplay.php?f=65


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

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