[Python-es] Parsear Fortran en Python

Kiko kikocorreoso en gmail.com
Mie Nov 11 03:39:04 EST 2015


El 11 de noviembre de 2015, 0:02, Mario R. Osorio <mario en osorio.solutions>
escribió:

> Juan Luis,
>
> Es posible que yo haya simplificado mucho tus necesidades. A mi me toco
> estudiar a profundidad pyparser y me dio la impresion que era casi
> imposible no poder parsear cualquier cosa, por complicado que fuera.
>
> Sin embargo, y en otro order de ideas, no se conoces *como funcionan los
> parsers y compiladores* <http://parsingintro.sourceforge.net/>, pero en
> dos palabras, el parser genera tokens, los cuales son convertidos en
> lenguaje de maquina por el compilador. Existen docenas de parsers para
> fortran. Quizas perrefieras utilizar alguno de estos parsers y en vez de
> compilar los token, convertirlos a python con tu priopio codigo.
>
> Pareciera el mismo trabajo porque de todas maneras tendrias que (o al
> menos te seria mas facil) utilizar pyparser para convertir los tokens a
> codigo python. SIN EMBARGO, debo SUPONER que es mas facil generar las
> reglas para los tokens que para el codigo.
>
> Mi preferencia personal seria utilizar pyparser, pero debes tener la
> documentacion correcta y completa del lenguaje a compilar, o mejor aun, las
> definiciones EBNF de FORTRAN 77, asi podrias utilizar *este modulo*
> <http://pyparsing.wikispaces.com/file/view/ebnf.py>, y ahorrarte muuuchos
> dolores de cabeza...
>
>
> Dtb/Gby
> =======
> Mario R. Osorio
> A.S. of Computer Programming and Analysis
>
> “If I had asked people what they wanted, they would have said faster
> horses.”
>  ― Henry Ford
>
>
>
> 2015-11-10 16:06 GMT-05:00 Juan Luis Cano <juanlu001 en gmail.com>:
>
>> Gracias a todos por las respuestas, si consigo algo decente habrá
>> artículo en el blog pero no antes de 2016 :)
>>
>> Juanlu
>>
>>
>> On 2015-11-10 21:47, francismb wrote:
>>
>>> Hola Juan,
>>>
>>> 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.
>>>>
>>>> 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.
>>>>
>>>> Otra alternativa si tuvieras la gramatica seria ANTLR [1], es java pero
>>> segun tengo entendido genera python [2]
>>>
>>>
>>>
>>> [1] http://www.antlr.org/
>>> [2] https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Python+Target
>>>
>>> Saludos,
>>> francis
>>>
>>
>
Quizá en la lista de numpy te puedan dar más opciones.

De mi experiencia con Brython y su transpilador (Python a JS) te puedo
decir que la tarea es un infierno lleno de excepciones en las reglas y
corner cases que hacen que sea fácil tener bugs.

Saludos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20151111/91709d3e/attachment.html>


Más información sobre la lista de distribución Python-es