Javacc

2 02 2011

El generador JavaCC (Java Compiler Compiler) es una herramienta para generar programas escritos en lenguaje Java; acepta como entrada una especificación de un determinado lenguaje y produce como salida un analizador para ese lenguaje. JavaCC está licenciado bajo una licencia BSD.

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.

Una especificación para el generador JavaCC puede considerarse dividida en cuatro secciones:

  • Sección de opciones

En esta sección, cuya presencia es optativa, se pueden asignar valores a diversos parámetros (llamados op-ciones) que sirven para configurar ciertas características del funcionamiento del generador o del analizador generado. Cada parámetro (opción) tiene un valor por defecto, que es el que toma cuando no se le asigna explícitamente un valor. Los valores de las opciones también se pueden fijar en la línea de comandos cuando se ejecuta el generador (lo indicado en la línea de comandos tiene prioridad sobre lo especificado en esta sección de opciones).

 

  • Sección de ejecución

En esta sección se pone el código Java que contiene la llamada al analizador generado para que se realice el análisis de un determinado texto de entrada. También se establece aquí el nombre de la especificación, que es el nombre que se toma para formar los nombres de parte de los ficheros (clases) generados.
La sección está delimitada por dos palabras reservadas, ambas acompañadas por un mismo nombre (puesto entre paréntesis); ese nombre es el que se da a la especificación. Entre esas dos palabras ha de ponerse una clase directora para el proceso de análisis; el nombre de esa clase directora ha de coincidir con el nombre dado a la especificación.

  • Sección de sintaxis

En esta sección se describe la sintaxis del lenguaje para el que se desea generar el analizador, usándose pa-ra ello una notación parecida a la BNF. En lo que sigue se expone la forma de las producciones tal y como se escriben en JavaCC, poniéndolas en comparación con las producciones de la notación BNF-Ampliada.

  • Sección de lexicografía

En esta sección se indica la lexicografía del lenguaje para el que se va a generar el analizador; la notación de JavaCC que representa la forma de cada una de las piezas sintácticas es una variante de las bien conoci-das expresiones regulares.

Enlaces externos


Acciones

Information

One response

13 02 2011
xfrfota

C6g1qL yttlmaxulwoo, [url=http://vknuxqvzupgh.com/]vknuxqvzupgh[/url], [link=http://rpmdxesypzqg.com/]rpmdxesypzqg[/link], http://mwalflitycle.com/

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




A %d blogueros les gusta esto: