ANTLR “ANother Tools Language Recognition”

El ANTLR es una herramienta para reconocimiento de lenguajes creada principalmente por Terence Parr, que opera sobre lenguajes, proporcionando un marco para construir reconocedores, intérpretes, compiladores y traductores de lenguajes a partir de las descripciones gramaticales de los mismos.

ANTLR
ANTLR significa “ANother Tools for Language Recognition” que traducido al español es “Otra Herramienta para el Reconocimiento de Lenguaje”. Esta herramienta esta dentro de la categoría de meta-programas ya que es un programa que escribe otros programas, es decir que los construye.

La forma en la que funciona ANTLR es que este parte de descripción formal de la gramática de un lenguaje para generar un programa que determina si una sentencia pertenecen o no a un lenguaje utilizando algoritmos LL(*) de parsing.

ANTLR proporciona facilidades para la creación de estructuras intermedias de análisis para recorrer estas estructuras y provee mecanismos para recuperarse automáticamente de errores y realizar reportes de los mismos.

Esta Herramienta esta bajo la licencia BSD con su código fuente totalmente disponible, se puede utilizar en las plataformas de Linux, Windows y MAC OS X.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.

VERSIONES

Bueno dentro de las versiones de esta herramienta se encuentra la versión ANTLR 1 la cual fue incorporando nuevas características, capacidades y facilidades para el programador. En mayo de 1997, Parr unido principalmente con John Lilley, se plantean escribir ANTLR desde cero, enfocándose en mejorar su rendimiento, reducir el uso de memoria, y agregar más características al lexer (como ser la posibilidad ingorar si los simbolos se encuentran en mayúscula o minúscula). Esto da lugar al surgimiento de ANTLR 2.0.

El 17 de Mayo del 2007 publican la versión actual de ANTLR, 3.0. Dicha versión llevó 4 años de investigación y desarrollo. La misma esta re-escrita en Java, y su principal objetivo fue el de proveer un código fuente limpio y claro de entender, presentando la sintaxis y semántica de la gramática del meta-lenguaje de ANTLR de una manera más sencilla.

Además se mejoró nuevamente el rendimiento del software, así como también se añadieron algunas funciones nuevas (modo automático de recorrida en reversa, mecanismo de reescritura de reglas del AST, extensión al algoritmo LL(k), llamada LL(*), la cual permite que no se especifique el parámetro k de búsqueda en la cadena de entrada, sino que ANTLR busca automáticamente tantos caracteres como sea necesario, hasta que se logre evitar la ambigüedad, etc.).


A esto se le añadió que Jean Bovet creó el entorno de desarrollo para la creación y edición de gramáticas para ANTLR llamado “ANTLRWorks”.


VENTAJAS

  • Como ventajas adicionales que diferencian a ANTLR de otras herramientas similares podemos citar la posibilidad de generar el código de salida en diferentes lenguajes como Java, C, C++, C# o Python.

  • Y el hecho de disponer de un entorno de desarrollo propio llamado ANTLRWorks que nos permitirá construir de una forma bastante amigable las gramáticas de entrada a la herramienta, proporcionando representaciones gráficas de las expresiones y árboles generados, e incluyendo un intérprete y depurador propio.

studio

ANTLRWorks

Es un entorno de desarrollo con interfaz gráfica que permite el desarrollo de gramáticas para la versión 3.0 o superior de ANTLR. Consiste en una aplicación independiente Java, que se puede ejecutar directamente desde un jar.

De quererse incorporar las funcionalidade de ANTLR en ambientes de desarrollo ya existentes, existen plug-ins que se pueden bajar directamente de la web del autor, habilitando el poder trabajar en IntelliJ, gUnit, Eclipse, NetBeans, etc.

EJEMPLO DE ANTLR

Este es un ejemplo que encontre en la web: Ejemplo de antlr – Campeonato de fútbol

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