none
parseador de c# a fortran? RRS feed

  • Pregunta

  • Buenos días a tod@s!

    Entiendo que no es una pregunta directamente relacionada con c#, ya que solo es el origen de la tarea, pero debo hacer una aplicación que parsee o traduzca de c# a fortran...al menos las clases, ya que se entiende que los aspx y demás ficheros son tema a parte.

    De igual manera si alguien supiera de alguna página o tutorial de fortran con tratamiento de clases se lo agradecería infinito

    Muchas gracias por la ayuda

    Un saludo,

    Alex

    martes, 24 de abril de 2018 8:37

Todas las respuestas

  • hola

    >>debo hacer una aplicación que parsee o traduzca de c# a fortran

    podrias evaluar algo como esto

    alli justamente plantea lo que necesitas, aunque como veras no es tan simple

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 24 de abril de 2018 13:37
  • Muchas gracias Leandro,

    Realmente útil e interesante.

    Yo lo necesito justo al revés y creo que, si ya como bien dices, de Fortran a c# es complejo, de c# a fortran debe ser caza mayor...pero mucho mayor

    A ver si de aquí saco algo, pero me temo que solo frustración y el consejo al cliente de que migre su código

    Un abrazo y de nuevo gracias Leandro

    Alex

    martes, 24 de abril de 2018 13:59
  • hola

    >>el consejo al cliente de que migre su código

    pero claro, porque usa Fortran el cliente ?

    o podrias ver si esto ayuda

     Fortran for Microsoft.NET

    segun parece puede escribir aplicacion web en fortran

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 24 de abril de 2018 15:56
  • bufff, pues al parecer los programas de comunicaciones y otros asuntos que corren en sus servidores los tienen desarrollados en fortran desde hace mucho tiempo y no pueden/quieren dar el salto al sigloXXI.

    Es una empresa de nivel mundial, por lo que entiendo que algunas decisiones y, sobre todo, los riesgos que conllevan algunos cambios, los querrán reducir al mínimo, pero claro, tiene estos inconvenientes

    Creo que es fortran 95, es decir, no sé si lo que pudiera migrar sería válido.

    Desde luego probaré, y si el resultado es satisfactorio, lo colgaré para que sepas que se puede hacer

    Mil gracias Leandro



    martes, 24 de abril de 2018 16:07
  • hola

    >>los programas de comunicaciones y otros asuntos que corren en sus servidores los tienen desarrollados en fortran desde hace mucho tiempo y no pueden/quieren dar el salto

    pero eso no tiene nada que ver, yo trabaje en entidades bancarias donde los servidores mainframe corren con COBOL y eso no evita que los programas satelites esten en otros lengueajes

    desarrollas en .net con asp.net y te comunicas con algun protocolo o medio que permita enlazarte, pero no es que necesites programar en ese lenguajes, solo interacturas con este desde tu aplicacion en un lenguaje moderno

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 24 de abril de 2018 16:56
  •  pero debo hacer una aplicación que parsee o traduzca de c# a fortran

    Para hacer esto tienes que plantearte cómo funciona un compilador, con su lexer, parser y generador de código.

    Para empezar, necesitas un Lexer y Parser de C#. Estos podrías copiarlos de algún compilador de C# ya existente, tal como Roslyn o tal vez tomar algo del proyecto Mono. Y luego la etapa de generación de código la sustituyes, de manera que en lugar de generar MSIL se genere código fuente en Fortran. Esto implica que por cada estructura sintáctica que vaya encontrando el Parser, tienes que generar una estructura sintáctica de funcionalidad similar en Fortran. Lamentablemente, esto es una tarea titánica, porque C# es complejísimo y tiene una cantidad ingente de estructuras sintácticas, y encima es lo suficientemente diferente del Fortran como para que cada una de ellas no se pueda traducir directamente, sino que requiere una buena pensada para decidir cómo conseguir una funcionalidad similar en Fortran.

    Si no se requiere que el código resultante en Fortran sea claro y legible, una alternativa sería utilizar el compilador de C# tal como está para que genere MSIL, y luego traducir el MSIL a Fortran. Esto es comparativamente más sencillo porque el MSIL contiene muchas menos instrucciones que C#, pero aún así es una tarea de complejidad considerable.

    martes, 24 de abril de 2018 17:13
    Moderador
  • Claro, el problema no es ese, el problema es que quiere seguir desarrollando en fortran y traspasar programas que tienen en c# de una manera más o menos automática. Es decir, no se trata de que convivan distintos desarrollos 

    Yo estuve en vodafone y cada universo es de su padre y de su madre y hasta las BBDD son distintas (oracle, sybase, sql server...) y múltiples entornos. Todo estaba conviviendo a través de un middleware que, más o menos, gestionaba las órdenes en su orden y entorno adecuado

    A mi me parece inexplicable lo que hacen, pero lo piden... Con todo lo que me has dicho, me temo que no es una manera de trabajar fiable, ni eficaz ni eficiente y que aumenta los riesgos mucho

    A ver cómo me lo monto...

    Saludos

    martes, 24 de abril de 2018 18:19
  • Muchas gracias Alberto,

    Como comentas no es precisamente algo sencillo, la verdad. A lo que explicas hay que añadirle que es fortran 95, que creo que no tiene POO.

    La verdad es que, más que preguntar cómo se podría hacer, me estoy dadndo cuenta, a toro pasado, que la pregunta correcta era si es viable y merece la pena hacer algo así (teniendo en cuenta que el cliente quiere que esto sea una aplicación que le deje los programas en fortran con muy pocas cosas que "retocar")

    Muchas gracias por ayudarme en algo tan complejo e inusual

    Un saludo

    Alex

    miércoles, 25 de abril de 2018 6:47