Ejemplo Aplicado de JFlex y JCup en Java 7

#1
Hola, en este aporte quisiera presentarles a ustedes un sencillo ejemplo de la utilización de las librerías JFlex y JCup para java, este ejemplo fue hecho con Netbeans 7.2.1 y el JDK 7.

JFlex es un analizador lexico
JCup es un analizador sintactico



La funcionalidad consiste en escribir instrucciones para que la aplicación dibuje figuras simples, líneas, círculos, rectángulos y manejo de colores.
Las instrucciones que soporta son:
· Líneas, para las que se debe escribir 4 parámetros que representan los puntos entre los que se quiere dibujar la línea así: linea(25,25,100,100);
· Rectángulos, se debe especificar las coordenadas para el rectángulo, y el ancho y lago de la figura así: rectangulo(25,25,100,75);
· Círculos, se debe especificar las coordenadas y el radio así: circulo(25,25,50);
· Colores, se debe especificar los valores RGB como 3 números enteros entre 0 y 255 así: color(128,50,100);
Las instrucciones para dibujar las figuras deben ir entre una instrucción de inicio y final así:
inicio
Intruccion1;
Instrucción2;
.
.
.
InstrucciónN;
fin
Cada instrucción debe terminar con “;”
En la carpeta del programa hay una carpeta llamada ejemplo y ahi hay un ejemplo de como deben ser los programas, el código esta comentado y es cuestión de que se tomen el tiempo para entender como funciona, cabe mencionar que deben saber algo acerca de gramáticas libres de contexto y compiladores, aparte de saber un poco de java, ya que no es un programa que un principiante logre entender con facilidad, espero que les sea de utilidad.

http://guate-geek.blogspot.com/2013/01/normal-0-21-false-false-false-es-gt-x.html
 

Salandrews

Bovino maduro
#2
Me parece bien el hecho de compartir este tipo de ejemplos, pero para una persona que no sabe sobre compiladores le parecerá chino, por eso (como sugerencia), quizá podrías explicar primero lo básico sobre gramaticas, analizadores léxicos y sintácticos (teoría y ejemplos), en uno o varios posts y luego pasar a demostrar la funcionalidad con ejemplos como este, a manera de tutoriales. Así, este tipo de aportes se vuelven mas completos, pues llevan una base y un ejemplo de funcionalidad, y a vos te servirá también, pues cuando uno enseña también aprende.

Gracias por tu aporte

Saludos
 
Arriba