Antlr

Solo disponible en BuenasTareas
  • Páginas : 3 (719 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de enero de 2012
Leer documento completo
Vista previa del texto
Compiladores de compiladores: ANTLR

Ya fuera en ensamblador o con utilizando un lenguaje intermedio, el problema de escribir un compilador “a mano” es que hay que realizar muchas tareasmuy repetitivas. Uno no puede evitar tener la impresión de que todo se podría automatizar enormemente.

Cuando se hizo patente esta necesidad de automatización aparecieron las primerasherramientas de ayuda a la construcción de compiladores. Lo que hacen estas herramientas es generar código en un lenguaje de programación (C, C++ y más tarde JAVA) para ahorrar al programador laparte repetitiva de la programación de compiladores, pudiendo éste dedicarse al diseño.

Varias universidades construyeron herramientas de este tipo, pero fueron yacc y lex las que más se hanextendido, llegando a considerarse “estándares” a la hora de realizar un compilador.

Al principio de los 70, Stephen C. Johnson desarrolló yacc (Yet Another Compiler Compiler) laboratorios Bell,usando un dialecto portable del lenguaje C. yacc es una herramienta capaz de generar un analizador sintáctico en C a partir de una serie de reglas de sintaxis que debe cumplir. Dichas reglas seespecifican en un lenguaje muy sencillo. yacc se apoya en la herramienta lex para el análisis léxico. lex fue desarrollada por Eric Schmidt. lex también fue desarrollado en C, y también genera un analizadoren C. lex y yacc sirvieron como base a flex y bison, que se consideran sus herederas. flex y bison son dos productos de la FSF (Free Software Foundation).

Ahora el proceso de compilación estámás formalizado; se admite ampliamente que es necesario crear un árbol de sintaxis abstracta si se quiere realizar un análisis semántico correctamente. Es necesario crear y recorrer de una formaestandarizada los árboles de sintaxis abstracta.

ANTLR es un software desarrollado en JAVA por varios individuos, aunque la idea inicial y las decisiones principales de diseño son de Terence Parr....
tracking img