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/