🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Flex en C++

#13063
From: Jesús Carrete Montaña
Date: Mon, 23 Apr 2001 20:03
43 lines
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-mail

Show 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