Búsqueda en el sitio por el término 'BNF'
-
26/05/2017
Seguimos con la serie dedicada a los autómatas celulares y la aplicación WinCA para construirlos y ejecutarlos. En este artículo voy a explicar el código relacionado con el sistema de expresiones que permite establecer las condiciones para cambiar de un estado a otro.
[Leer Mas...] -
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...] -
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...] -
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...] -
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...]