🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #12934

Re: Flex en C++

#12934
From: Seldon
Date: Sat, 28 Apr 2001 12:09
61 lines
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!seldon
References: <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)