Presentación Compilador de Pseudocódigo en Haskell

6 comments
Buenas hoy domingo les traigo este proyecto que ya comenze hace una semana aproximadamente, todos diran que rayos hablas bueno esta entrada procedo a explicar este pequeño proyecto que ando dandole inicio el dia de hoy oficialmente se trata de un Compilador de Pseudocódigo el cual esta alojado en GITHUB así que ahora procedemos con la presentación y los primeros pasos del proyecto mas un poco de Haskell.


Que es Haskell


Su nombre se debe al lógico estadounidense Haskell Curry. En Haskell, “una función es un ciudadano de primera clase” del lenguaje de programación. Como lenguaje de programación funcional, el constructor de controles primario es la función. 

El lenguaje tiene sus orígenes en las observaciones de Haskell Curry y sus descendientes intelectuales.

Haskell es un lenguaje de programación  funcional.. ALTO!!!
Snifer funcional como funciona dando ordenes?

- Si tu le dices atención!
- Programa ya!

Te lo hara todo solito, ya se que no me queda lo payaso continuamos explico de la mejor forma posible que sea entendible y rapida si programaste en C, PHP tomando como ejemplo estos dos lenguajes de programación, lo que hacemos en ellos es decir primero sucede esto, luego sumas 2 veces y si el numero es mayor a 100 entonces termina, y ademas de ello programamos con bucles y ciclos iterativos este tipo de programación es el paradigma imperativo.

En cambio con la programación funcional es todo lo contrario no declaramos una variable y le asignamos un valor X=1 no existe, en ello no se permite estos cambios de las variables asignaciones llevando como resultado a la carencia de bugs :), no existen bucles ni nada por el estilo mas bien tenemos funciones las cuales determinan el comportamiento del mismo, no tenemos estructuras del tipo loop un poco confuso puede ser pero tiene su toque programar en ello.

Características Haskellianas:
  • Soporte para tipos de datos
  • Funciones recursivas,listas, tuplas.
  • Guarda y ajuste de patrones.
Que es un Compilador



Para esto usaremos a Wikipedia como referencia:

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.
Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

Entonces teniendo ya el conocimiento basico de lo cual llevare el proyecto, procedo a especificar su funcionamiento.

Primero se tendrá como ingreso un Pseudocódigo el cual pasara por el compilador, dentro de este se tendrá el analizador lexicocráfico, semántico, y sintáctico lo cual procederé a desarrollarlo, terminando esta face principal su objetivo final sera generar el programa en C, Java y Pascal hace una semana que lo inicie puede ir viendo los avances aqui en el repositorio que inicie

6 comentarios

  1. Interesante tu proyecto, me imagino que estas trabajando con Pablo.
    Por cierto me llamo la atención dos cosas en tu directorio de código que no me gustaron :S
    1. ag.exe -> WTF!!!
    2. UU_parsing.hs -> WTF!!

    UUParsing puedes instalarlo directo utilizando cabal,
    Ag también puedes intalarlo utilizando cabal.

    En conclución estas programando en windows y no estas utilizando bien las bibliotecas, y tampoco existe el modulo ParserG.

    Espero updates de este proyecto en un futuro

    Saludos
    Antonio

    ResponderEliminar
  2. Pablo ??? me puedes decir quien es?¿ No lo conosco..

    Si en primera instancia lo ando realizando en Windows ya que en ello aprendi lo poco que se, segundo los WTF!!! :D seee fueron mis primeros push que andaba hecho pomada con github porque no podia conectarme :).

    Y muchas gracias por la sugerencia, llevo programandolo como un hobbie

    Saludos

    ResponderEliminar
  3. Ahahaha we, te dijeron windowsero apestoso XD.
    le cambie a .net el dominio de mi blog xD apuntalo sniferl4bs.

    ResponderEliminar
  4. XD no importa :D como me digan, la cuestión es aprender y como te dije loca, primero lo que conozco luego me meto mas allá ademas de ellos tengo cuentas pendientes con ello en Linux :D

    ResponderEliminar