Page 1
Gramatica a utilizar
La gramtica a utilizar en este ejemplo de integracin de JLex y Cup con Java utilizando un IDE como Netbeans para el desarrollo del ejemplo consiste en la gramtica libre de contexto necesaria para reconocer una estructura de una instruccin IF en lenguaje Lisp. Un ejemplo de la construccin de una instruccin IF en LISP se denota de la siguiente manera: (IF<condicion><consecuencia><alternativa>) Ejemplo: (if (= y 0) 9999999 (/ x y))
Page 2
Page 3
Ambos archivos Scanner.java y Parser.java deben ser compilados mediante comandos de consola. Estos archivos han sido guardados en una carpeta en el disco C en una carpeta llamada JLexCup dentro de un directorio llamado Gramticas.
Page 4
Para lograr la compilacin de los archivos ser necesario ingresar las siguientes lneas de comando en la terminal de Windows.
Los archivos generados de la compilacin de Java_Cup se crean en la carpeta del JDK, estos habr que moverlos al directorio de la aplicacin, al igual que el archivo resultante de la compilacin de JLex.
Al terminar la compilacin de los archivos, estos deben ser trasladados a la carpeta del proyecto de Netbeans donde se desean utilizar.
Page 5
A la clase principal de este proyecto, llamada JLexCup.java le he agregado una instancia a la clase parser, clase en la cual se encuentra el mtodo de carga de archivo de entrada.
Page 6
La salida en la consola de Netbeans, sino se ha programado e implementado de manera correcta la gramtica para el reconocimiento de nuestra estructura de ejemplo, deber de ser la siguiente:
Page 7