<p dir="ltr">Te paso un contacto por privado del autor de varias de estqs cosas entre ellas el xdk de Intel </p>
<br><div class="gmail_quote"><div dir="ltr">El dom, nov 15, 2015 15:06, Juan Luis Cano <<a href="mailto:juanlu001@gmail.com">juanlu001@gmail.com</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <div>On 2015-11-11 13:48, Luis Fernando
      Lopez Aguilar wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Pueden pasarme ese programa escrito en fortran? 
        <div><br>
        </div>
        <div>Tengo curiosidad de cuan dificil es reinterpretar, por los
          80 al 85 he programado en fortran IV en un pdp11/45</div>
        <div><br>
        </div>
        <div>Saludos.</div>
        <div>f.l.</div>
      </div>
    </blockquote>
    <br></div><div bgcolor="#FFFFFF" text="#000000">
    Luis Fernando, no es un programa concreto el que quiero parsear:
    estaba explorando opciones sobre cuál sería la mejor manera de
    escribir un parser. Me temo que desde FORTRAN IV hasta Fortran 2003
    ha cambiado bastante la cosa :)<br>
    <br>
    Gracias Alex y Mario por las ideas. Mario, no me queda claro cómo
    utilizar alguno de los parsers de Fortran existentes para extraer
    los tokens y convertirlos a Python, o a lo mejor es que te he
    entendido mal. ¿Te refieres, por ejemplo, a tratar de reutilizar la
    lógica de gfortran?<br>
    <br>
    También he descubierto grako, que está bastante bien documentado y
    trabaja con EBNF <a href="https://pypi.python.org/pypi/grako" target="_blank">https://pypi.python.org/pypi/grako</a> Creo que
    escogeré una de estas tres opciones.<br>
    <br>
    Y sí, efectivamente quiero hacerlo con tokens y reglas porque ya he
    leído demasiado código que trata de parsear lenguajes complicados
    "chapuceramente" solo utilizando regex (o ni siquiera) y me sangran
    los ojos. Quiero producir una cosa que sea lo más sólida y robusta
    posible (si es que finalmente lo hago).<br>
    <br>
    Un saludo:<br>
    <br>
    Juanlu</div><div bgcolor="#FFFFFF" text="#000000"><br>
    <br>
    <blockquote type="cite">
      <div class="gmail_extra"><br>
        <div class="gmail_quote">El 11 de noviembre de 2015, 6:45,
          Alexandre Manhaes Savio <span dir="ltr"><<a href="mailto:alexsavio@gmail.com" target="_blank"><a href="mailto:alexsavio@gmail.com" target="_blank">alexsavio@gmail.com</a></a>></span>
          escribió:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Tengo
            experiencia con ANTLR y bison (ya he hecho functionar un
            parser para un sub-set de algo parecido a python con ambos).
            Además de las respectivas asignaturas en la ingeniería.<br>
            Estoy de acuerdo con María. Lo de programar con tokens
            aunque al principio parezcan un engorro, te salvarán el
            pellejo.<br>
            <br>
            Yo que tú le daba un intento con pyparser, lo más aburrido
            es generar las reglas desde la sintaxis y comprobar que va
            bien.<br>
            <br>
            <br>
            -----------------------------------<br>
            Alexandre Manhães Savio<br>
            Post-doctoral researcher<br>
            Klinikum rechts der Isar, TUM, München<br>
            <a href="http://alexsavio.github.io" rel="noreferrer" target="_blank">alexsavio.github.io</a><br>
            Nebenstellennummer: 4570<br>
            <span>On 11.11.2015 09:39, Kiko wrote:<br>
              ><br>
              ><br>
              > El 11 de noviembre de 2015, 0:02, Mario R. Osorio<br>
            </span>> <<a href="mailto:mario@osorio.solutions" target="_blank">mario@osorio.solutions</a> <mailto:<a href="mailto:mario@osorio.solutions" target="_blank"><a href="mailto:mario@osorio.solutions" target="_blank">mario@osorio.solutions</a></a>>>
            escribió:<br>
            <span>><br>
              >     Juan Luis,<br>
              ><br>
              >     Es posible que yo haya simplificado mucho tus
              necesidades. A mi me<br>
              >     toco estudiar a profundidad pyparser y me dio la
              impresion que era<br>
              >     casi imposible no poder parsear cualquier cosa,
              por complicado que<br>
              >     fuera.<br>
              ><br>
            </span>>     Sin embargo, y en otro order de ideas, no se
            conoces *como funcionan<br>
            >     los parsers y compiladores* <<a href="http://parsingintro.sourceforge.net/" rel="noreferrer" target="_blank"><a href="http://parsingintro.sourceforge.net/" target="_blank">http://parsingintro.sourceforge.net/</a></a>>,<br>
            <span>>     pero en dos palabras, el parser
              genera tokens, los cuales son<br>
              >     convertidos en lenguaje de maquina por el
              compilador. Existen<br>
              >     docenas de parsers para fortran. Quizas
              perrefieras utilizar alguno<br>
              >     de estos parsers y en vez de compilar los token,
              convertirlos a<br>
              >     python con tu priopio codigo.<br>
              ><br>
              >     Pareciera el mismo trabajo porque de todas
              maneras tendrias que (o<br>
              >     al menos te seria mas facil) utilizar pyparser
              para convertir los<br>
              >     tokens a codigo python. SIN EMBARGO, debo SUPONER
              que es mas facil<br>
              >     generar las reglas para los tokens que para el
              codigo.<br>
              ><br>
              >     Mi preferencia personal seria utilizar pyparser,
              pero debes tener la<br>
              >     documentacion correcta y completa del lenguaje a
              compilar, o mejor<br>
            </span>>     aun, las definiciones EBNF de FORTRAN 77,
            asi podrias utilizar *este<br>
            >     modulo* <<a href="http://pyparsing.wikispaces.com/file/view/ebnf.py" rel="noreferrer" target="_blank">http://pyparsing.wikispaces.com/file/view/ebnf.py</a>>,
            y<br>
            <span>>     ahorrarte muuuchos dolores de
              cabeza...<br>
              ><br>
              ><br>
              >     Dtb/Gby<br>
              >     =======<br>
              >     Mario R. Osorio<br>
              >     A.S. of Computer Programming and Analysis<br>
              ><br>
              >     “If I had asked people what they wanted, they
              would have said faster<br>
              >     horses.”<br>
              >      ― Henry Ford<br>
              ><br>
              ><br>
              ><br>
            </span><span>>     2015-11-10 16:06 GMT-05:00
              Juan Luis Cano <<a href="mailto:juanlu001@gmail.com" target="_blank">juanlu001@gmail.com</a><br>
            </span>>     <mailto:<a href="mailto:juanlu001@gmail.com" target="_blank">juanlu001@gmail.com</a>>>:<br>
            <div>
              <div>><br>
                >         Gracias a todos por las respuestas, si
                consigo algo decente<br>
                >         habrá artículo en el blog pero no antes de
                2016 :)<br>
                ><br>
                >         Juanlu<br>
                ><br>
                ><br>
                >         On 2015-11-10 21:47, francismb wrote:<br>
                ><br>
                >             Hola Juan,<br>
                ><br>
                >                 Otras opciones que tengo son usar
                unas reglas formuladas<br>
                >                 con SDF[1],<br>
                >                 pero como no sé qué hacer con ellas
                no sé en qué estado<br>
                >                 están. He<br>
                >                 intentado usar Open Fortran Parser,
                supuestamente basado<br>
                >                 en ANTLR, pero<br>
                >                 ni siquiera me compila. También he
                buscado por ahí<br>
                >                 gramáticas de Fortran<br>
                >                 ya escritas (por ejemplo para
                lex/yacc) pero no he<br>
                >                 encontrado nada<br>
                >                 satisfactorio.<br>
                ><br>
                >                 Aprovechando, si alguien me
                recomienda alguna lecturita<br>
                >                 al respecto o da<br>
                >                 algún consejo genérico se lo
                agradecería también. No es<br>
                >                 mi objetivo<br>
                >                 hacerme un experto en parsers, con
                que resuelva mi<br>
                >                 problema me basta.<br>
                ><br>
                >             Otra alternativa si tuvieras la
                gramatica seria ANTLR [1],<br>
                >             es java pero<br>
                >             segun tengo entendido genera python [2]<br>
                ><br>
                ><br>
                ><br>
                >             [1] <a href="http://www.antlr.org/" rel="noreferrer" target="_blank">http://www.antlr.org/</a><br>
                >             [2]<br>
                >             <a href="https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Python+Target" rel="noreferrer" target="_blank">https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Python+Target</a><br>
                ><br>
                >             Saludos,<br>
                >             francis<br>
                ><br>
                ><br>
                ><br>
                > Quizá en la lista de numpy te puedan dar más
                opciones.<br>
                ><br>
                > De mi experiencia con Brython y su transpilador
                (Python a JS) te puedo<br>
                > decir que la tarea es un infierno lleno de
                excepciones en las reglas y<br>
                > corner cases que hacen que sea fácil tener bugs.<br>
                ><br>
                > Saludos.<br>
                ><br>
                ><br>
              </div>
            </div>
            <div>
              <div>>
                _______________________________________________<br>
                > Python-es mailing list<br>
                > <a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
                > <a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
                > FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
                ><br>
                <br>
                _______________________________________________<br>
                Python-es mailing list<br>
                <a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
                <a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
                FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Python-es mailing list
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a>
<a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a>
</pre>
    </blockquote>
    <br>
  </div>

_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
</blockquote></div><div dir="ltr">-- <br></div><p dir="ltr">Juan BC (from phone)</p>