ANTLR Y JAVACC

ANTLR es un programa está escrito en java, por lo que se necesita alguna máquina virtual de java para poder ejecutarlo.

ANTLR es un generador de analizadores. También es llamado “compiladores de compiladores”, dado que ayudar a implementar compiladores es su uso más popular. Sin embargo tienen otros usos.

ANTLR es capaz de generar un analizador léxico, sintáctico o semántico en varios lenguajes (java, C++ y C# en su versión 2.7.2) a partir de unos ficheros escritos en un lenguaje propio.

Dicho lenguaje es básicamente una serie de reglas EBNF y un conjunto de construcciones auxiliares.

ANTLR genera analizadores pred-LL(k), y él mismo utiliza un analizador pred-LL(k) para leer los ficheros en los que están escritas las reglas EBNF. ANTLR admite acciones en sus reglas, además de otras prestaciones como paso de parámetros, devolución de valores o herencia de gramáticas.

http://personales.unican.es/gomezd/PLE/Antlr.pdf

http://www.lsi.us.es/~troyano/documentos/guia.pdf

*********************************************************************************


JavaCC (Java Compiler Compiler) es un generador de analizadores sintácticos de código abierto para el lenguaje de programación Java.

JavaCC genera analizadores descendentes (top-down), lo que lo limita a la clase de gramáticas LL(K) (en particular, la recursión desde izquierda no se puede usar).

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. En la manera más simple de funcionamiento, la especificación proporcionada 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.

Características principales:

  • TOP-DOWN: recursividad descendente, capaz de pasar atributos (valores) hacia abajo/arriba.
  • Especificación léxica y gramática en un único fichero.
  • Especificación LL(k) para resolver ambigüedades shift-shitf.
  • Análisis léxico case-insensitive.


JavaCC (Java Compiler Compiler) es un generador de analizadores sintácticos de código abierto para el lenguaje de programación Java.

JavaCC genera analizadores descendentes (top-down), lo que lo limita a la clase de gramáticas LL(K) (en particular, la recursión desde izquierda no se puede usar).

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. En la manera más simple de funcionamiento, la especificación proporcionada 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.

Anuncios

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: