ANTLR

2 Feb

ANTLR

(ANother Tool for Language Recognition – otra herramienta para reconocimiento de lenguajes)


ANTLR es un generador de parsers (analizadores) , donde se admiten solamente gramáticas LL (gramática independiente de contexto).  Actualmente ANTLR genera código Java, C, C++, C#, Python, Perl, Delphi, Ada95, JavaScript y Objective-C. Otros lenguajes como Ruby, php, etc. son generados por medio de extensiones planteadas por la comunidad.
Apareció en: 1988. Su desarrollador fue Terence Parry . La última versión estable es la 3.2 (23-09-2009) Los sistema operativo que lo soportan son  Linux, Windows, Mac OS X.  BSD es la licencia de software
La ventaja más importante es la “estandarización” con ANTLR basta con comprender el paradigma de análisis una vez para poder implementar todas las fases de análisis.

NIVELES

ANTLR es capaz de actuar a tres niveles a la vez (cuatro si se tiene en cuenta la generación de código):

  • Análisis léxico
  • Análisis sintáctico
  • Análisis semántico

CARACTERÍSTICAS

  • El nombre de los tokens es en mayúscula y el nombre de las variable de la gramática en minúsculas.
  • Las reglas llevan : y acaban con ;
  • Para incluir clases o paquetes hay que incluirlos dentro de un campo header @ header { import java.util.*; }
  • En caso de querer poner atributos a la clase, a~nadir un campo que se llame members. por ejemplo @members { int j;}
  • Muestra el diagrama de las reglas gramaticales
  • Permite testear nuestras gramáticas con ejemplos
  • Podemos ejecutar directamente nuestros programas
  • Las gramáticas tienen que ser LL
  • La variable inicial no deberia ser incluida en la parte derecha de ninguna producción
  • Las acciones se denen en la gramática por medio de llaves y son simplemente codigo java
  • Los tokens tienen un atributo llamado texto y se les puede repetir
  • Para ignorar tokens es necesario utilizar el metodo {skip();}

ANTLR y los tokens

  • ‘x’..’y’ cualquier cosa en este rango.
  • (‘x’|’y’) una de las dos opciones.
  • ˜ ‘x’ cualquier cosa menos ‘x’
  • Operadores: +   *

APLICACIÓN

Es una herramienta que proporciona un marco de trabajo para la construcción de reconocedores, intérpretes, compiladores y traductores de lenguajes
a partir de gramáticas enriquecidas con acciones. En resumen proporciona todo lo necesario para el desarrollo de:
· Construcción de analizadores léxicos.
· Construcción de analizadores sintácticos.
· Mecanismos de construcción y recorrido de árboles de sintaxis abstracta (AST).
· Mecanismos de tratamiento de plantillas.
· Mecanismos de detección y recuperación de errores.

ANTLR y las reglas gramáticales
Se admite cualquier tipo de reglas denidas por medio de expresiones regulares.

LINKS

Apareció en: 1988
Desarrollador: Terence Parr y Colaboradores
Última versión estable: 3.2 (23-09-2009)
Influido por: PCCTS
Sistema operativo: Linux, Windows, Mac OS X
Licencia de software: licencia BSD
Web: http://www.antlr.org
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: