Article View: es.comp.os.linux.programacion
Article #12934Re: Flex en C++
From: Seldon
Date: Sat, 28 Apr 2001 12:09
Date: Sat, 28 Apr 2001 12:09
61 lines
3345 bytes
3345 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola: No tengo el mensaje de kuantiko, as� que lo cuelgo aqu� (borrando la referencia a Ignacio) El 24 Apr 2001 23:19:20 +0200, Ignacio Arenaza no ten�a nada mejor que hacer, y dijo en es.comp.os.linux.programacion: >>>>>> "Jes�s" == Jes�s Carrete Monta�a <kuantiko@escomposlinux.org> writes: > > Jes�s> objeto de este tipo, pero nada. En fin, pregunta directa: > Jes�s> �c�mo hago que yylex() use una cadena como buffer de > Jes�s> entrada usando la interfaz de flex para C++? Yo s�lo he usado flex con C, y adem�s no he le�do el mensaje original, s�lo este trocito. Igual lo has solucionado tambi�n ;) Bueno, all� va. Se me ocurren dos cosas: una, redefinir la macro YY_INPUT (en el manual de flex que hay en lucas.hispalinux.es tienes un ejemplo sencillo, y en el lex.yy.c hay otro) para que lea desde tu cadena (definida globalmente) en vez de desde yyin. Supongo que en la interfaz C++ tambi�n estar� esta macro y funcionar� igual (o lo sufientemente parecido). La otra es usar pipe(2), introduciendo tu cadena por filedes[0] y asignando yyin=filedes[1] En el primer caso, puedes tener problemas si utilizas m�ltiples buffers de entrada, porque todos ir�n a leer de la cadena. Te puede servir, no obstante, si s�lo lees de esa cadena (no he le�do el mensaje original y no se qu� quieres hacer exactamente). La segunda opci�n me parece mucho m�s elegante, aunque igual no quieres/no puedes usar pipe(2) en C++. En este caso, puedes simularla con un archivo temporal. Un saludo - -- Seldon / Grupo A.H.E. <seldon@seldon.4mg.com> ================================================= PGP Key: http://pgp5.ai.mit.edu:11371/pks/lookup?op=get&search=0x64794AF8 Fingerprint: DA8F 06A0 B770 4211 A6E7 D1E8 8A03 BC70 6479 4AF8 ================================================= Administrador Lista Hackindex: <hackindex-alta@eListas.net> Administrador Lista Crackindex: <crackindex-alta@eListas.net> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE66rL/igO8cGR5SvgRAu9xAJ9mvtfqB0JsRxEcWskH7NE+Z/8QJgCgyAS5 cXkyvFXzxrllrGvAl72Xlzk= =X2cn -----END PGP SIGNATURE-----
Technical Details
Message-ID:
<aubec9.5v.ln@gaia.seldon.4mg.com>Path:
arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!193.251.151.101!opentransit.net!jussieu.fr!news.rediris.es!newsfeed.mad.ttd.net!news.bcn.ttd.net!frodo.audiolis.com!127.0.0.1!news.audiolis.com!127.0.0.1!newsfeeder.wanadoo.es!seldonReferences:
<873dazs7sd.fsf@relativistic.homeip.net>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,f7965ec5c27cdf3c X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2001-04-28 07:06:55 PST Path: arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!193.251.151.101!opentransit.net!jussieu.fr!news.rediris.es!newsfeed.mad.ttd.net!news.bcn.ttd.net!frodo.audiolis.com!127.0.0.1!news.audiolis.com!127.0.0.1!newsfeeder.wanadoo.es!seldon From: seldon@mira_el_reply-to.com (Seldon) Newsgroups: es.comp.os.linux.programacion Subject: Re: Flex en C++ Date: Sat, 28 Apr 2001 14:09:46 +0200 Organization: Or-ga-ni-za-ción-ción Lines: 61 Message-ID: <aubec9.5v.ln@gaia.seldon.4mg.com> References: <873dazs7sd.fsf@relativistic.homeip.net> Reply-To: seldon@seldon.4mg.com NNTP-Posting-Host: 213.97.227.24 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@wanadoo.es NNTP-Posting-Date: Sat, 28 Apr 2001 13:14:36 +0000 (UTC) User-Agent: slrn/0.9.6.3 (Linux)