JAVA CC

El Java CC es un generador de analizadores sintacticos de codigo abierto para el lenguaje de programacion Java. Este generador es similar al Yacc ya que genera un analizador sintactico para una gramatica presentada con una Notacion BNF con la diferencia de que lo que genera esta en codigo Java.
Java CC

El Java CC solo genera analizadores sintacticos descendentes lo que lo limita a la clase de gramáticas LL(K) (en particular, la recursión desde izquierda no se puede usar).

En 1996, Sun Microsystems liberó un parser llamado Jack. Los desarrolladores responsables de Jack crearon su propia compañía llamada Metamata y cambiaron el nombre Jack a JavaCC. Metamata se convirtió en WebGain. Después de que WebGain finalizara sus operaciones, JavaCC se traslado a su ubicación actual.

PRINCIPIOS BASICOS DEL JAVA CC

second

En la manera más simple de funcionamiento, la especificación proporcio-nada define las características sintácticas y lexicográficas de un lenguaje y se genera un analizador léxico-sintáctico del lenguaje especificado; pero también es posible completar una especificación léxico-sintáctica con la inclusión adecuada de código para que el programa generado llegue a ser un analizador completo del lenguaje.


Obtención de un analizador léxico-sintáctico

  • Pasos para la generación del analizador

1.- Edición de la especificación (editor de texto plano): vi | edit |· · · NombreFichero.jj , “el nombre del fichero puede tener cualquier extensión; suele usarse .jj

2.- Ejecución del generador javacc NombreFichero.jj.

Si el nombre elegido para la especificación es NombreDeLaEspecif (más adelante se indica la manera de dar un nombre a la especificación), como resultado de la generación se obtiene (además de otros ficheros auxiliares) el fichero NombreDeLaEspecif.java

3.- Compilación del analizador generado javac NombreDeLaEspecif.java

Como resultado de la compilación se obtiene (además de otras clases auxiliares) el fichero
NombreDeLaEspecif.class

  • Ejecución del analizador generado

Si el nombre del fichero donde se encuentra el texto fuente (escrito en el lenguaje para el que se ha genera-do el analizador) que se pretende analizar es Programa.len
java NombreDeLaEspecif<Programa.len

Si se desea que los resultados del análisis, en vez de presentarse por pantalla, queden grabados en un fichero de nombre Salida.dat
java NombreDeLaEspecif < Programa Len > Salida.dat

Indicaciones iniciales para JavaCC

* Disponibilidad del sistema Java

Es necesario disponer de una versión del sistema Java (compilador de Java e intérprete de la Máquina Virtual Java). Son programas de libre distribución; entre otros sitios se pueden conseguir en:

▫ la página oficial de Java

▫ la página de la asignatura Compiladores e Intérpretes

Herramientas → Desarrollos con Java → Máquina Virtual Java (se tiene la versión: Java 2 Runtime Environment. Standard Edition)

* Disponibilidad del generador JavaCC

Es necesario disponer de una versión del generador JavaCC. Es un programa de libre distribución; entre otros sitios se pueden conseguir en:

▫ la página oficial de JavaCC: https://javacc.dev.java.net

▫ la página de la asignatura Compiladores e Intérpretes

Herramientas → Desarrollos con Java → JavaCC (se tiene la versión: Java Compiler Compiler, version 4.0)

* Instalación de JavaCC

Tras desempaquetar (en un determinado directorio) el fichero conseguido, se tienen instalados, entre otros, los siguientes ficheros:

···· \javacc-4.0\bin\javacc.bat

···· \javacc-4.0\bin\jjdoc.bat

···· \javacc-4.0\bin\jjtree.bat

javacc: generador de analizadores

jjdoc: productor de documentación

jjtree: preprocesador de apoyo para tareas semánticas

El fichero javacc.jar habrá quedado instalado en

···· \javacc-4.0\bin\lib\javacc.jar

y esta situación ha de estar anotada en los ficheros .bat antecitados; para ello, será preciso editar esos ficheros y poner adecuadamente el camino de directorios (que lleva a javacc.jar) y que está asocia­do a classpath.

También ha de tenerse en cuenta si la instalación del sistema Java se tiene preparada para que el compila­dor (javac) y el intérprete (java) se puedan ejecutar desde cualquier directorio.

VIDEOS

ENLANCES

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s