ANTLR

ANTLR tiene un entorno de desarrollo de la gramática avanzada tecnología “ANTLRWorks, escrito por Jean Bovet.

ANTLR es una herramienta más para el reconocimiento del lenguaje, el lenguaje es una herramienta que proporciona un marco para construir reconocedores, intérpretes, compiladores y traductores a partir de descripciones gramaticales que contengan acciones en una variedad de idiomas de destino. Proporciona un excelente soporte para la construcción del árbol, recorrido por el árbol, la traducción, la recuperación de errores, y los informes de errores. En este momento hay cerca de 5.000 descargas de origen ANTLR un mes.

Terence Parr es el loco detrás de ANTLR y ha estado trabajando en herramientas de lenguaje desde 1989. Él es un profesor de ciencias de la computación en laUniversidad de San Francisco.

Hay varias cosas han cambiado para mejor en la inclusión de v3:

  • una extensión de marca nueva muy potente para LL (k) LL llamada (*)
  • un modomarcha atrás
  • parcial resultado de análisis para aumentar la velocidad de marcha atrás
  • un muy bonito AST reescribir mecanismo de regla
  • integración de la herramienta del template StringTemplate para generar texto estructurado
  • Informes de errores y mejora la recuperación
  • Un código de redestinable verdaderamente generador que hace que sea fácil de construir backends (“blancos”), las siguientes metas de generación de código : Java, C #, C, Objective-C, Python con los demás en el desarrollo
  • Licencia BSD

 

¿Qué es y cómo funciona ANTLR?

ANTLR es un programa está escrito en java, por lo que se necesita alguna máquina virtual de java para poder ejecutarlo. Es software libre, lo que quiere decir que al descargarlo de la página oficial (http://www.antlr.org) btendremos tanto los ficheros compilados *.class como el código fuente en forma de ficheros *.java.

ANTLR es un generador de analizadores. Mucha gente llama a estas herramientas compiladores de compiladores, dado que ayudar a implementar compiladores es su uso más popular. Sin embargo tienen otros usos. ANTLR, por ejemplo, podría servir para implementar el intérprete de un fichero de configuración.

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.

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: