Este sitio utiliza cookies de Google para prestar sus servicios y analizar su tráfico. Tu dirección IP y user-agent se comparten con Google, junto con las métricas de rendimiento y de seguridad, para garantizar la calidad del servicio, generar estadísticas de uso y detectar y solucionar abusos.Más información

View site in english Ir a la página de inicio Contacta conmigo

Este tema está dedicado a la construcción de compiladores, intérpretes y al diseño de lenguajes de programación.

  • 14/06/2016

    Cuando estamos trabajando con funciones matemáticas, resulta muy conveniente disponer de un parser, o analizador de expresiones, que nos permita escribir e interpretar diferentes versiones de las ecuaciones que deben ser procesadas por el programa, en lugar de tener que modificar y recompilar el código para adaptarlo a dichos cambios cada vez. En esta serie de artículos voy a mostrar cómo construir un sencillo pero potente analizador, que puede ser extendido fácilmente para tratar con expresiones más sofisticadas, empezando por definir en este artículo la teoría básica necesaria para encarar con éxito este tipo de desarrollos.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 17/06/2016

    En el artículo anterior de esta serie hice un repaso de las principales cuestiones acerca del diseño de la gramática para construir un analizador o parser para expresiones aritméticas. En este artículo voy a mostrar la primera parte de su implementación a partir de las reglas BNF de la gramática, convirtiendo la expresión de entrada, en forma de cadena de texto, en una serie de objetos que podremos utilizar para evaluarla, pudiendo dar diferentes valores a las constantes y variables que la componen.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 18/06/2016

    En el anterior artículo de la serie comencé a mostrar cómo implementar un analizador de expresiones aritméticas o parser a partir de las reglas de la gramática en notación BNF, con las clases encargadas de extraer los números, variables y constantes. En este artículo voy a terminar la serie con la clase encargada de analizar la regla principal, que analiza las expresiones en sí. También mostraré una pequeña aplicación de ejemplo que dibuja la gráfica correspondiente a la expresión a partir del objeto generado por el compilador.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 05/01/2017

    En esta serie de artículos voy a mostrar una librería de clases que implementa un compilador que utiliza un lenguaje cualquiera definido mediante reglas BNF y que genera como resultado objetos de una librería de clases escrita por el usuario, los cuales deben implementar un sencillo interfaz para que el compilador pueda construirlos e inicializarlos a partir del código fuente.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpCompiladores
  • 06/01/2017

    BNFUP es una librería de clases que implementa un compilador de objetos a partir de la definición de un lenguaje mediante reglas BNF. También proporciona servicios de edición de reglas. En este artículo continúo mostrando como utilizar el editor para compilar y probar nuestros propios objetos mediante el lenguaje que hayamos definido para ello. También mostraré tres ejemplos de implementación.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpCompiladores