Article View: es.comp.os.linux.programacion
Article #13063Flex en C++
From: Jesús Carrete Montaña
Date: Mon, 23 Apr 2001 20:03
Date: Mon, 23 Apr 2001 20:03
43 lines
2631 bytes
2631 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Buenas.
Llevo tiempo usando flex en C sin mayor problema, para
procesar tanto cadenas como archivos. Ahora lo estoy intentando desde
C++ para uno de mis robotitos de RealTimeBattle :-), pero me encuentro
con un problema. Hago que la clase Robot herede de yyFlexLexer,
incluyo FlexLexer.h, hasta ah� bien. Pero quiero que yylex lea desde
una cadena. Para ello estoy haciendo:
while(Data()){//Mientras haya algo para leer
char *Line=new char[1024];
strstream StringFlow;
cin.getline(Line,1024);//Cogemos una l�nea
StringFlow << Line << ends; //La metemos en el flujo
delete(Line);
switch_streams(StringFlow,cout);
//Y procesamos con yylex()
while(yylex());
}
El problema es switch_streams(). Yo pens� que strstream
heredaba de ostream y que se le pod�a pasar un objeto de este tipo,
pero nada.
En fin, pregunta directa: �c�mo hago que yylex() use una
cadena como buffer de entrada usando la interfaz de flex para C++?
Un saludo y gracias por adelantado.
- --
"!Dios aleje de nosotros la serenidad de los ignorantes!
�Dios aparte de nosotros la paz de los cobardes!" (De Gasparin)
Jes�s Carrete Monta�a (Kuantiko) <kuantiko@escomposlinux.org>
LRU #158442 -> I use free software. | PGP Key -> pgp.rediris.es
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Processed by Mailcrypt and GnuPG
iD8DBQE65IqQfUtQQKOnZ1IRAvwIAJ9GdfsRLinNjlTEcYvQMiFkgmFpeQCgyiQ8
7fJ6XoX4VBksOtjfMR0Xoq4=
=TxIE
-----END PGP SIGNATURE-----
Technical Details
Message-ID:
<873dazs7sd.fsf@relativistic.homeip.net>Path:
arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!130.133.1.3!fu-berlin.de!uni-berlin.de!216-coru-x8.libre.retevision.ES!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,f7965ec5c27cdf3c,start X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2001-04-23 13:08:57 PST Path: arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!130.133.1.3!fu-berlin.de!uni-berlin.de!216-coru-x8.libre.retevision.ES!not-for-mail From: kuantiko@escomposlinux.org (Jesús Carrete Montaña) Newsgroups: es.comp.os.linux.programacion Subject: Flex en C++ Date: 23 Apr 2001 22:03:30 +0200 Lines: 43 Sender: kuantiko@relativistic.homeip.net Message-ID: <873dazs7sd.fsf@relativistic.homeip.net> NNTP-Posting-Host: 216-coru-x8.libre.retevision.es (62.83.53.216) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 988056535 12298799 62.83.53.216 (16 [54696]) X-Orig-Path: relativistic.homeip.net!nobody User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7