Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration.
Mon projet est développé en C++. Savez-vous comment utiliser ces outils
pour les intégrer à mon projet, sans avoir à faire des bidouilles pour
adapter le C au C++ ?
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
le programme C généré ne compile pas en C++ ?
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration.
Mon projet est développé en C++. Savez-vous comment utiliser ces outils
pour les intégrer à mon projet, sans avoir à faire des bidouilles pour
adapter le C au C++ ?
le programme C généré ne compile pas en C++ ?
--
DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
le programme C généré ne compile pas en C++ ?
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Laurent Deniau
Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
a+, ld.
Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration.
Mon projet est développé en C++. Savez-vous comment utiliser ces outils
pour les intégrer à mon projet, sans avoir à faire des bidouilles pour
adapter le C au C++ ?
Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
a+, ld.
Benoit Rousseau
Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Ca dépend de ce que tu veux... est ce que tu veux juste un code compatible C++ ? Dans ce cas, utilise Flex et Bison avec des nom de fichier .ll et .yy. Par contre, Flex peut générer une class yyFlexLexer ("flex -+ ..."). Cette classe est bien pratique puisque qu'elle parse des StringBuf (je ne me souviens plus le nom exact...). Par contre, je n'arrive pas a faire interagir cette classe de façon correcte avec Bison... Si tu trouve une solution, post la reponse ici parceque je suis aussi interessé...
-------------------------------------------- Benoît Rousseau : roussebe at spray dot se Jouez en programmant : http://realtimebattle.sourceforge.net/
Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration.
Mon projet est développé en C++. Savez-vous comment utiliser ces outils
pour les intégrer à mon projet, sans avoir à faire des bidouilles pour
adapter le C au C++ ?
Ca dépend de ce que tu veux... est ce que tu veux juste un code
compatible C++ ? Dans ce cas, utilise Flex et Bison avec des nom de
fichier .ll et .yy.
Par contre, Flex peut générer une class yyFlexLexer ("flex -+ ...").
Cette classe est bien pratique puisque qu'elle parse des StringBuf (je
ne me souviens plus le nom exact...).
Par contre, je n'arrive pas a faire interagir cette classe de façon
correcte avec Bison... Si tu trouve une solution, post la reponse ici
parceque je suis aussi interessé...
--------------------------------------------
Benoît Rousseau : roussebe at spray dot se
Jouez en programmant : http://realtimebattle.sourceforge.net/
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Ca dépend de ce que tu veux... est ce que tu veux juste un code compatible C++ ? Dans ce cas, utilise Flex et Bison avec des nom de fichier .ll et .yy. Par contre, Flex peut générer une class yyFlexLexer ("flex -+ ..."). Cette classe est bien pratique puisque qu'elle parse des StringBuf (je ne me souviens plus le nom exact...). Par contre, je n'arrive pas a faire interagir cette classe de façon correcte avec Bison... Si tu trouve une solution, post la reponse ici parceque je suis aussi interessé...
-------------------------------------------- Benoît Rousseau : roussebe at spray dot se Jouez en programmant : http://realtimebattle.sourceforge.net/
kanze
Erwann wrote in message news:...
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Je ne sais pas ce que tu considères des bidouilles ; dans la passée, je me suis toujours servi d'un script de shell pour faire des transformations nécessaires. Même aujourd'hui, avec flex, j'ai un script pour rendre le généré portable. (Au moins avec la version de flex que j'ai, 2.5.4, le généré ne compile pas avec g++ 3.x.)
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Erwann <ethorava@nospam.enssat.fr> wrote in message
news:<slrnbtj2is.9fa7.ethorava.no.spam@yseult.enssat.etu.univ-rennes1.fr>...
Je souhaite utiliser Lex et Yacc pour parser un fichier de
configuration. Mon projet est développé en C++. Savez-vous comment
utiliser ces outils pour les intégrer à mon projet, sans avoir à faire
des bidouilles pour adapter le C au C++ ?
Je ne sais pas ce que tu considères des bidouilles ; dans la passée,
je me suis toujours servi d'un script de shell pour faire des
transformations nécessaires. Même aujourd'hui, avec flex, j'ai un script
pour rendre le généré portable. (Au moins avec la version de flex que
j'ai, 2.5.4, le généré ne compile pas avec g++ 3.x.)
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Je ne sais pas ce que tu considères des bidouilles ; dans la passée, je me suis toujours servi d'un script de shell pour faire des transformations nécessaires. Même aujourd'hui, avec flex, j'ai un script pour rendre le généré portable. (Au moins avec la version de flex que j'ai, 2.5.4, le généré ne compile pas avec g++ 3.x.)
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Thierry AIME
Bonjour,
Je mettais de l'ordre dans mes bookmarks et je suis tombé sur cette librairie permettant de parser ligne de commandes et fichier de configurations: http://getpot.sourceforge.net/index.html
Thierry AIME
On Fri, 12 Dec 2003 09:24:59 +0000, Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
Bonjour,
Je mettais de l'ordre dans mes bookmarks et je suis tombé sur cette
librairie permettant de parser ligne de commandes et fichier de
configurations:
http://getpot.sourceforge.net/index.html
Thierry AIME
On Fri, 12 Dec 2003 09:24:59 +0000, Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration.
Mon projet est développé en C++. Savez-vous comment utiliser ces outils
pour les intégrer à mon projet, sans avoir à faire des bidouilles pour
adapter le C au C++ ?
Je mettais de l'ordre dans mes bookmarks et je suis tombé sur cette librairie permettant de parser ligne de commandes et fichier de configurations: http://getpot.sourceforge.net/index.html
Thierry AIME
On Fri, 12 Dec 2003 09:24:59 +0000, Erwann wrote:
Bonjour,
Je souhaite utiliser Lex et Yacc pour parser un fichier de configuration. Mon projet est développé en C++. Savez-vous comment utiliser ces outils pour les intégrer à mon projet, sans avoir à faire des bidouilles pour adapter le C au C++ ?
James Kanze
Laurent Deniau writes:
|> Erwann wrote:
|> > Je souhaite utiliser Lex et Yacc pour parser un fichier de |> > configuration. Mon projet est développé en C++. Savez-vous |> > comment utiliser ces outils pour les intégrer à mon projet, |> > sans avoir à faire des bidouilles pour adapter le C au C++ ?
|> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
Oui, mais au moins avec la version que j'ai, le généré contient une ligne : class istream ; quelque part près du début. Ce qui pose des problèmes si on veut utiliser une bibliothèque un peu récent.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Laurent Deniau <Laurent.Deniau@cern.ch> writes:
|> Erwann wrote:
|> > Je souhaite utiliser Lex et Yacc pour parser un fichier de
|> > configuration. Mon projet est développé en C++. Savez-vous
|> > comment utiliser ces outils pour les intégrer à mon projet,
|> > sans avoir à faire des bidouilles pour adapter le C au C++ ?
|> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
Oui, mais au moins avec la version que j'ai, le généré contient
une ligne :
class istream ;
quelque part près du début. Ce qui pose des problèmes si on
veut utiliser une bibliothèque un peu récent.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> > Je souhaite utiliser Lex et Yacc pour parser un fichier de |> > configuration. Mon projet est développé en C++. Savez-vous |> > comment utiliser ces outils pour les intégrer à mon projet, |> > sans avoir à faire des bidouilles pour adapter le C au C++ ?
|> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
Oui, mais au moins avec la version que j'ai, le généré contient une ligne : class istream ; quelque part près du début. Ce qui pose des problèmes si on veut utiliser une bibliothèque un peu récent.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Gabriel Dos Reis
James Kanze writes:
| Laurent Deniau writes: | | |> Erwann wrote: | | |> > Je souhaite utiliser Lex et Yacc pour parser un fichier de | |> > configuration. Mon projet est développé en C++. Savez-vous | |> > comment utiliser ces outils pour les intégrer à mon projet, | |> > sans avoir à faire des bidouilles pour adapter le C au C++ ? | | |> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas. | | Oui, mais au moins avec la version que j'ai, le généré contient | une ligne : | class istream ; | quelque part près du début. Ce qui pose des problèmes si on | veut utiliser une bibliothèque un peu récent.
Quelle version as-tu ?
La version (bison 1.33) que j'ai sur le système que j'utilise a une connaissance de la bibliothèque.
-- Gaby
James Kanze <kanze@alex.gabi-soft.fr> writes:
| Laurent Deniau <Laurent.Deniau@cern.ch> writes:
|
| |> Erwann wrote:
|
| |> > Je souhaite utiliser Lex et Yacc pour parser un fichier de
| |> > configuration. Mon projet est développé en C++. Savez-vous
| |> > comment utiliser ces outils pour les intégrer à mon projet,
| |> > sans avoir à faire des bidouilles pour adapter le C au C++ ?
|
| |> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
|
| Oui, mais au moins avec la version que j'ai, le généré contient
| une ligne :
| class istream ;
| quelque part près du début. Ce qui pose des problèmes si on
| veut utiliser une bibliothèque un peu récent.
Quelle version as-tu ?
La version (bison 1.33) que j'ai sur le système que j'utilise a une
connaissance de la bibliothèque.
| Laurent Deniau writes: | | |> Erwann wrote: | | |> > Je souhaite utiliser Lex et Yacc pour parser un fichier de | |> > configuration. Mon projet est développé en C++. Savez-vous | |> > comment utiliser ces outils pour les intégrer à mon projet, | |> > sans avoir à faire des bidouilles pour adapter le C au C++ ? | | |> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas. | | Oui, mais au moins avec la version que j'ai, le généré contient | une ligne : | class istream ; | quelque part près du début. Ce qui pose des problèmes si on | veut utiliser une bibliothèque un peu récent.
Quelle version as-tu ?
La version (bison 1.33) que j'ai sur le système que j'utilise a une connaissance de la bibliothèque.
-- Gaby
James Kanze
Gabriel Dos Reis writes:
|> James Kanze writes:
|> | Laurent Deniau writes:
|> | |> Erwann wrote:
|> | |> > Je souhaite utiliser Lex et Yacc pour parser un fichier de |> | |> > configuration. Mon projet est développé en C++. |> | |> > Savez-vous comment utiliser ces outils pour les intégrer |> | |> > à mon projet, sans avoir à faire des bidouilles pour |> | |> > adapter le C au C++ ?
|> | |> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
|> | Oui, mais au moins avec la version que j'ai, le généré contient |> | une ligne : |> | class istream ; |> | quelque part près du début. Ce qui pose des problèmes si on |> | veut utiliser une bibliothèque un peu récent.
|> Quelle version as-tu ?
Je ne sais exactement. J'avais eu le problème au travail, et ici, je suis à la maison. Mais c'est assez récent (moins d'un an), parce que j'ai dû l'installer moi-même.
|> La version (bison 1.33) que j'ai sur le système que j'utilise a |> une connaissance de la bibliothèque.
Le problème était en fait dans flex, avec deux des executables sur ma site. Je n'ai pas eu l'occasion de me servir de yacc/Bison récemment.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|> | |> > Je souhaite utiliser Lex et Yacc pour parser un fichier de
|> | |> > configuration. Mon projet est développé en C++.
|> | |> > Savez-vous comment utiliser ces outils pour les intégrer
|> | |> > à mon projet, sans avoir à faire des bidouilles pour
|> | |> > adapter le C au C++ ?
|> | |> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
|> | Oui, mais au moins avec la version que j'ai, le généré contient
|> | une ligne :
|> | class istream ;
|> | quelque part près du début. Ce qui pose des problèmes si on
|> | veut utiliser une bibliothèque un peu récent.
|> Quelle version as-tu ?
Je ne sais exactement. J'avais eu le problème au travail, et ici, je
suis à la maison. Mais c'est assez récent (moins d'un an), parce
que j'ai dû l'installer moi-même.
|> La version (bison 1.33) que j'ai sur le système que j'utilise a
|> une connaissance de la bibliothèque.
Le problème était en fait dans flex, avec deux des executables sur
ma site. Je n'ai pas eu l'occasion de me servir de yacc/Bison
récemment.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> | |> > Je souhaite utiliser Lex et Yacc pour parser un fichier de |> | |> > configuration. Mon projet est développé en C++. |> | |> > Savez-vous comment utiliser ces outils pour les intégrer |> | |> > à mon projet, sans avoir à faire des bidouilles pour |> | |> > adapter le C au C++ ?
|> | |> Flex et Bison on un mode C++. Lex et Yacc je ne sais pas.
|> | Oui, mais au moins avec la version que j'ai, le généré contient |> | une ligne : |> | class istream ; |> | quelque part près du début. Ce qui pose des problèmes si on |> | veut utiliser une bibliothèque un peu récent.
|> Quelle version as-tu ?
Je ne sais exactement. J'avais eu le problème au travail, et ici, je suis à la maison. Mais c'est assez récent (moins d'un an), parce que j'ai dû l'installer moi-même.
|> La version (bison 1.33) que j'ai sur le système que j'utilise a |> une connaissance de la bibliothèque.
Le problème était en fait dans flex, avec deux des executables sur ma site. Je n'ai pas eu l'occasion de me servir de yacc/Bison récemment.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Gabriel Dos Reis
James Kanze writes:
| |> La version (bison 1.33) que j'ai sur le système que j'utilise a | |> une connaissance de la bibliothèque. | | Le problème était en fait dans flex, avec deux des executables sur | ma site. Je n'ai pas eu l'occasion de me servir de yacc/Bison | récemment.
si c'est flex au lieu de bison, c'est possible. Je n'ai pas regardé récemment -- quoique flex clame qu'il génére du C++.
-- Gaby
James Kanze <kanze@alex.gabi-soft.fr> writes:
| |> La version (bison 1.33) que j'ai sur le système que j'utilise a
| |> une connaissance de la bibliothèque.
|
| Le problème était en fait dans flex, avec deux des executables sur
| ma site. Je n'ai pas eu l'occasion de me servir de yacc/Bison
| récemment.
si c'est flex au lieu de bison, c'est possible. Je n'ai pas regardé
récemment -- quoique flex clame qu'il génére du C++.
| |> La version (bison 1.33) que j'ai sur le système que j'utilise a | |> une connaissance de la bibliothèque. | | Le problème était en fait dans flex, avec deux des executables sur | ma site. Je n'ai pas eu l'occasion de me servir de yacc/Bison | récemment.
si c'est flex au lieu de bison, c'est possible. Je n'ai pas regardé récemment -- quoique flex clame qu'il génére du C++.
-- Gaby
James Kanze
Gabriel Dos Reis writes:
|> James Kanze writes:
|> | |> La version (bison 1.33) que j'ai sur le système que |> | |> j'utilise a une connaissance de la bibliothèque.
|> | Le problème était en fait dans flex, avec deux des |> | executables sur ma site. Je n'ai pas eu l'occasion de me servir de |> | yacc/Bison récemment.
|> si c'est flex au lieu de bison, c'est possible. Je n'ai pas |> regardé récemment -- quoique flex clame qu'il génére du |> C++.
C'est du C++. Mais pas du C++ standard. Il compile sans problème avec g++ 2.95.2, Sun CC mode compat=4 et VC++ 6.0. Dans le dernier cas, en revanche, il faut faire gaffe, parce qu'il include <iostream.h>, ce qui n'a aucun rapport avec <iostream> ; si tu te sers d'<iostream> dans ton code, tu auras deux flux indépendant sur les entrées standard, chacun avec ses propres buffers, etc.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
|> James Kanze <kanze@alex.gabi-soft.fr> writes:
|> | |> La version (bison 1.33) que j'ai sur le système que
|> | |> j'utilise a une connaissance de la bibliothèque.
|> | Le problème était en fait dans flex, avec deux des
|> | executables sur ma site. Je n'ai pas eu l'occasion de me servir de
|> | yacc/Bison récemment.
|> si c'est flex au lieu de bison, c'est possible. Je n'ai pas
|> regardé récemment -- quoique flex clame qu'il génére du
|> C++.
C'est du C++. Mais pas du C++ standard. Il compile sans problème avec
g++ 2.95.2, Sun CC mode compat=4 et VC++ 6.0. Dans le dernier cas, en
revanche, il faut faire gaffe, parce qu'il include <iostream.h>, ce qui
n'a aucun rapport avec <iostream> ; si tu te sers d'<iostream> dans ton
code, tu auras deux flux indépendant sur les entrées standard,
chacun avec ses propres buffers, etc.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> | |> La version (bison 1.33) que j'ai sur le système que |> | |> j'utilise a une connaissance de la bibliothèque.
|> | Le problème était en fait dans flex, avec deux des |> | executables sur ma site. Je n'ai pas eu l'occasion de me servir de |> | yacc/Bison récemment.
|> si c'est flex au lieu de bison, c'est possible. Je n'ai pas |> regardé récemment -- quoique flex clame qu'il génére du |> C++.
C'est du C++. Mais pas du C++ standard. Il compile sans problème avec g++ 2.95.2, Sun CC mode compat=4 et VC++ 6.0. Dans le dernier cas, en revanche, il faut faire gaffe, parce qu'il include <iostream.h>, ce qui n'a aucun rapport avec <iostream> ; si tu te sers d'<iostream> dans ton code, tu auras deux flux indépendant sur les entrées standard, chacun avec ses propres buffers, etc.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93