Estoy tratando de usar flex
y bison
en mi proyecto para generar un código de analizador para una estructura de archivos. El lenguaje de programación principal es C++ y el proyecto está en un diseño OO que se ejecuta principalmente en paralelo.Flex ++ Analizador de BisonC++
Escuché que los analizadores generados flex
y son códigos C y no son reentrantes. Google, encontré flex++
y bisonc++
. Lamentablemente, no hay un tutorial simple para comenzar. La mayoría de los ejemplos se basan en bison/flex
. Algunas personas integraron de alguna manera los analizadores bison/flex
en su código C++. Se supone que es "complicado" ...
La documentación de flex++
y bisonc++
no me ayuda y. Tutoriales y ejemplos, todos reciben entrada de stdin e imprimen algunos mensajes en stdout.
Necesito estas características en mi programa de análisis:
- analizador debe ser una clase de C++, que se define de manera normal (una cabecera y un archivo CPP)
- Analizador recibe datos a partir de un
std::string
ostd::stringstream
o unchar*
nulo-terminado
Me siento tan confundido. ¿Debo usar flex++/bisonc++
o flex/bison
? ¿Y cómo hacerlo, satisfaciendo las condiciones anteriores?
¡Incluso no puedo compilar flexC++! Recién descargado el código fuente. ¡Sin makefile, no puedo hacer nada! –
@ sorush-r hay un paquete de Linux: http://packages.debian.org/sid/flexc++ ¿Por qué necesitarías un archivo MAKE? Solo incluya los encabezados y la compilación desde su propio entorno. – TemplateRex
No escuché sobre 'icmake' antes. parece ser el sistema de compilación utilizado para compilar 'flexC++'. Gracias –