El Domingo, 8 de noviembre de 2015 18:52:25 Juan Luis Cano escribió:
> Hola a todos:
> 
> Estoy investigando cómo podría parsear código Fortran en Python y como
> no sé nada de parsers, gramáticas y estas cosas he pensado en escribir a
> esta lista por si podríais iluminarme un poco el camino.
> 
> Lo más parecido a lo que busco sería f2py, pero no me sirve porque no
> soporta muchas características de Fortran 90 en adelante, concretamente
> tipos derivados. Y nunca los va a soportar: actualmente *nadie* entiende
> el código fuente (ni siquiera su autor original), los bugs se acumulan
> con el paso de los años y a la gente de SciPy le basta con que lea
> FORTRAN 77.
> 
> Otras opciones que tengo son usar unas reglas formuladas con SDF[1],
> pero como no sé qué hacer con ellas no sé en qué estado están. He
> intentado usar Open Fortran Parser, supuestamente basado en ANTLR, pero
> ni siquiera me compila. También he buscado por ahí gramáticas de Fortran
> ya escritas (por ejemplo para lex/yacc) pero no he encontrado nada
> satisfactorio.
> 
> Básicamente necesitaría ayuda para decidirme entre PLY y pyparsing
> porque los enfoques son muy distintos. He visto que PLY lo usa por
> ejemplo pycparser con éxito, pero me gustaría conocer opiniones al
> respecto antes de lanzarme.
> 
> En la wiki de Python vienen como una veintena de opciones pero me da
> pereza revisar todas a ver cuales están mantenidas, tienen una
> documentación medio decente...
> 
> Aprovechando, si alguien me recomienda alguna lecturita al respecto o da
> algún consejo genérico se lo agradecería también. No es mi objetivo
> hacerme un experto en parsers, con que resuelva mi problema me basta.
> 
> Gracias por adelantado y un saludo:
> 
> Juanlu
> 
> [1]: https://github.com/OpenFortranProject/ofp-sdf
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/


Buscando otras cosas llegué a esta página, a lo mejor te puede interesar

http://fortwrap.sourceforge.net/

Copio y pego

FortWrap is a python script that parses Fortran 90/95/200X source files and 
generates wrapper code for interfacing with the original Fortran code from C++. 
FortWrap is compatible with both g95[1] and gfortran[2] and is intended to be 
used 
with Fortran code that takes an object oriented approach and makes use of 
Fortran derived types. The resulting wrapper code provides a C++ interface that 
wraps the Fortran derived types with C++ proxy classes.

Supongo que para "enchufarlo" a python habría que usar algo así como swig o 
sip. 

--
Un saludo

           Jaime D. Perea Duarte. <jaime at iaa dot es>
             Linux registered user #10472

           Dep. Astrofisica Extragalactica.
           Instituto de Astrofisica de Andalucia (CSIC)


--------
[1] http://www.g95.org
[2] http://gcc.gnu.org/fortran/
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a