Herramientas para Construir Compiladores
Herramientas para Construir Compiladores
Herramientas para Construir Compiladores
CIENCIA Y TECNOLOGÍA
Decreto Ejecutivo 575 del 21 de julio de 2004
Acreditada mediante Resolución N°15 del 31 de octubre de 2012
Integrantes:
LEX/YACC:
YACC:
Es un generador de analizador léxico, que sirve
Es una herramienta general para describir la entrada a un
para generar los token para la siguiente fase . La
principal característica de Lex es que va a permitir programa de computadora. El usuario especifica las estructuras
asociar acciones descritas en C, a la localización de su entrada, junto con el código que puede invocarse como
de las Expresiones Regulares que se hayan cada estructura como se reconoce y yacc devuelve una subrutina
definido. Para e llo Lex se apoya en una plantilla que controla el proceso de entrada, con frecuencia, es
que recibe como parámetro, y que se debe diseñar conveniente y apropiado que la mayor parte del flujo de control
con cuidado. Internamente Lex va a actuar como en la aplicación del usuario al cargo de este subprograma. Fue
un autómata que localizará las expresiones desarrollado por Stephen C. Johnson en para Unix. El nombre
regulares que se le describan, y una vez reconocida es un acrónimo de " Sin embargo, otro compilador de
la cadena representada por dicha expresión regular, compiladores . " Se genera un programa de análisis (por parte de
ejecutará el código asociado a esa regla. un compilador que intenta darle sentido sintáctico del código
fuente), y genera código para C.
BISON:
FLEX : Herramienta que implementa un analizador
sintáctico. Es un generador de analizadores
Es una herramienta para generar escáneres: programas que sintácticos de propósito general
reconocen patrones léxicos en un texto. Flex lee los ficheros perteneciente al proyecto GNU disponible
de entrada dados, o la entrada estándar si no se le ha para prácticamente todos los sistemas
indicado ningún nombre de fichero, con la descripción de un operativos. Bison convierte la descripción
escáner a generar. Estas herramientas de apoyo han sido formal de un lenguaje, escrita como una
reescritas para otros lenguajes, incluyendo Ratfor, EFL, gramática libre de contexto LALR, en un
ML,Ada, Java, Python, y Limbo. De esta forma se ha programa en C, C++, o Java que realiza
logrado una mayor utilización de las mismas en diferentes análisis sintáctico. GNU bison tiene
compiladores desarrollados sobre tecnologías libres compatibilidad con Yacc.
Herramientas de nueva generación.
ANTLR
Es una herramienta que opera sobre
lenguajes, proporcionando un marco
para construir reconocedores JAVACC
(parsers), intérpretes, compiladores y
traductores de lenguajes a partir de las Es un generador de analizadores sintácticos de
descripciones gramaticales de los código abierto para el lenguaje de
mismos (conteniendo acciones programación Java, es similar a Yacc en que
semánticas a realizarse en varios genera un parser para una gramática
lenguajes de programación). presentada en notación BNF, con la diferencia
de que la salida es en código Java y genera
analizadores descendentes. Además agrega un
constructor de árboles conocido como:
JJTree, construye árboles de abajo hacia
arriba.
Kits para la construcción de compiladores
ELI: PCCT:
Combina una variedad de herramientas
estándar para implementar potentes Escrito inicialmente en C++ para generar
estrategias en la construcción de compiladores en C++. Portado a JAVA y llamado
compiladores. Se pueden generar ANTLR. Consta de 3 herramientas:
automáticamente implementaciones de
lenguajes completos a partir de las ANTLRàgenerador de analizadores de sintácticos
especificaciones de la aplicación.
DLGàgenerador de analizadores léxicos
Contiene librerías de especificaciones
reusables. SORCERERàgenerador de árboles sintácticos
CONCLUSION